정리 목적

이번에 AWS에 배포 테스트를 하며 UI가 변경된 부분도 좀 있었고 이전에는 도메인 구매 후 접근 테스트만 해본 반면 이번에는 여러 환경을 설정하고 처리했기 때문에 이전 정리 내용을 지우고 새로 다시 정리.

 

처리 환경 정리

Project

  • BackEnd - Spring Boot 3
  • FrontEnd - React
  • 빌드 방식 - 통합빌드

AWS

  • EC2 t2.micro
    • ubuntu 22.0.4
  • Application Load Balancer
  • AWS Certificate Manager(ACM)
  • Route53
  • S3
  • RDS(MySQL)
  • ElastiCache(Redis)

CI / CD

  • Jenkins
  • Git Webhook

WebServer

  • Nginx

Domain Register

  • Gabia

 

정리 순서

  1. S3 Bucket 생성 후 Local에서 테스트
  2. RDS MySQL Database Instance 생성 후 Local Workbench와 연결 테스트 및 프로젝트 연결 테스트
  3. EC2 Instance 생성 후 설정
    1. swap 메모리 설정
    2. JDK 17 설치
    3. nvm 설치 및 node 21.7.1 설치
    4. Nginx 설치 및 설정
    5. Jenkins 설치 및 빌드 Job 설정을 제외한 나머지 처리
    6. ElasiCache Redis OSS Cache 생성 및 Redis 설치
  4. Gabia 도메인 구매 후 Route53, ACM 처리
  5. Load Balancer 대상 그룹 생성 및 ALB 생성 후 대상 그룹 설정
  6. A레코드 생성 및 도메인 접근 테스트
  7. git clone을 통해 사전 테스트 이후 Jenkins Job 설정과 Build 테스트
  8. Git Webhook 연동 및 테스트

A 레코드 생성

도메인 테스트를 하기 전 Route 53에서 A 레코드를 생성해야 한다.

Route 53으로 이동해 호스팅 영역으로 이동한뒤 레코드 생성 버튼을 클릭한다.

 

혹시 아래 이미지 같은 페이지가 뜬다면 빠른 생성으로 전환 버튼을 클릭해 화면 전환을 할 수 있다.

개인적으로는 빠른 생성으로 처리하는게 더 편했어서 그 방법으로 정리한다.

 

 

이런 페이지가 출력될건데 아래 이미지에서 우측 하단의 다른 레코드 추가 버튼을 누르면 하나씩 추가가 가능하다.

레코드 1의 레코드 이름은 비워둔다. 그리고 레코드 2의 레코드 이름에는 www 를 작성해준다.

이렇게 처리한다면 도메인에 접근했을 때 test-domain.shop과  www.test-domain.shop 두 가지 설정이 되는 것이다.

 

나머지는 레코드 1, 2가 공통이다.

레코드 유형은 A - IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅 을 선택한다.

별칭 탭을 열어주면 트래픽 라우팅 대상을 선택할 수 있을 것이다.

이미지처럼 Application/Classic Load Balancer에 대한 별칭 -> 자신의 리전 -> 생성한 로드밸런서 선택 순서로 처리한다.

모두 작성했다면 레코드 생성 버튼 클릭!

 

그럼 A 레코드가 생성되었을 것이고 연결은 끝이다!

 

도메인 접근 테스트

Nginx를  설정해뒀기 때문에 프로젝트를 배포하지 않아도 도메인 접근이 정상적으로 이루어지는지는 확인할 수 있다.

브라우저에서 도메인으로 접근했을 때 아래와 같은 페이지가 출력된다면 정상적으로 도메인이 연결된 것이다.

하나 더 체크해야 할 사항으로 http 로 접근했을 때 https로 redirect가 정상적으로 수행되는지 체크해야 한다.

+ Recent posts