dev_eun

[Spring Boot 배포 with AWS ECS] ④ 가비아 도메인을 컨테이너로 연결 및 HTTPS 적용 본문

Cloud/AWS

[Spring Boot 배포 with AWS ECS] ④ 가비아 도메인을 컨테이너로 연결 및 HTTPS 적용

_eun 2024. 1. 30. 14:50

Spring Boot 배포 with AWS ECS 시리즈

1. Dockerfile 작성, Docker 이미지 빌드, ECR 업로드

2. AWS 로드 밸런서(Load Balancer) 및 대상 그룹(Target Group) 설정

3. ECS 태스크 정의, 클러스터, 서비스, 태스크 설정

4. (현재글) 가비아 도메인을 컨테이너로 연결 및 HTTPS 적용

5. Github Action을 통해 CD 구축하기

 

 

안녕하세요.

AWS의 ECS 서비스를 처음 써보면서 삽질을 오래 해서 지친 사람입니다 🫠

저같은 사람들이 한 명쯤 있을까 하여 시리즈를 작성하게 되었습니다. 혹시 잘못된 부분이나 추가하면 좋을 내용 등 피드백이 있다면 코멘트 주시면 감사합니다.

 


 

이전 포스트에서 컨테이너를 배포하고 정상적으로 접속이 되는 것까지 확인했습니다.

이 컨테이너에 도메인을 붙여보려고 합니다.

저는 가비아에서 도메인을 구매했어요.

 

네임서버를 AWS Route53 NS 값로 설정

AWS Route53에 접속합니다. 호스팅 영역을 생성해주세요.

구매한 도메인 이름을 입력해주세요.

 

그리고 가비아에 접속해서 네임서버를 설정해줍니다.

Route53에 등록한 호스팅 영역의 "NS(Name Server)" 값 4개를 가비아에 적어줍니다. 값의 맨 끝에 있는 온점(".") 은 제거하고 입력해주세요.

AWS Route53 NS 값을
가비아 네임서버 설정

 

SSL 인증서 발급

https를 적용하려면 ssl 인증서가 필요하겠죠. AWS Certificate Manager(ACM)에 접속하여 인증서를 요청합니다.

퍼블릭 인증서로 요청하시고, 도메인 이름을 작성해줍니다.

서브도메인을 사용하실 예정이라면 *.domain.com 처럼 정규화된 이름도 추가해주세요.

 

인증서의 상세 정보에 들어가서, 도메인의 Route53에서 레코드 생성을 해줍니다.

이후 다시 Route53에 가보면, CNAME이 추가되어 있는 것을 확인해주세요. 조금 기다리면 인증서 상태가 성공으로 변경됩니다.

 

 

로드 밸러서 리스너 편집

이전에는 로드 밸런서의 리스너 규칙을 HTTP:80으로 설정해주었었죠.

이제 https로 변경해봅시다.

 

서비스와 연결되어 있는 로드밸런서의 상세 페이지로 가서 편집을 눌러주세요.

 

리스너 구성에서 HTTP를 HTTPS로 바꿔줍니다.

 

보안 리스너 설정 섹션에서 아까 발급 받은 인증서를 선택해주세요.

 

 

Route53의 레코드에 로드밸런스 DNS 추가

저는 구매한 도메인의 서브 도메인과 서비스를 연결할 거예요.

다시 Route53에 접속해서, 레코드를 생성해줍니다. 저는 제공해주는 기능인 마법사를 사용할게요.

단순 라우팅 선택합니다.

 

레코드 유형을 "A"로 설정해주세요. 여기에 이전에 만들었던 로드밸런서를 연결해줄 겁니다.

라우팅 대상을 하라는대로 [ALB - 서울 - 로드밸런서]로 잘 선택해주시면 돼요. 

레코드 생성해줍니다.

 

모든 설정이 끝났다면 이제 https로 접속이 가능합니다.

 

728x90