정리 목적
이번에 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
정리 순서
- S3 Bucket 생성 후 Local에서 테스트
- RDS MySQL Database Instance 생성 후 Local Workbench와 연결 테스트 및 프로젝트 연결 테스트
- EC2 Instance 생성 후 설정
- swap 메모리 설정
- JDK 17 설치
- nvm 설치 및 node 21.7.1 설치
- Nginx 설치 및 설정
- Jenkins 설치 및 빌드 Job 설정을 제외한 나머지 처리
- ElasiCache Redis OSS Cache 생성 및 Redis 설치
- Gabia 도메인 구매 후 Route53, ACM 처리
- Load Balancer 대상 그룹 생성 및 ALB 생성 후 대상 그룹 설정
- A레코드 생성 및 도메인 접근 테스트
- git clone을 통해 사전 테스트 이후 Jenkins Job 설정과 Build 테스트
- 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가 정상적으로 수행되는지 체크해야 한다.
