티스토리 뷰
ECS에서 HTTP는 로드밸런서에 걸려있는 리스너들이 작동하면서 변경됩니다. HTTP로 서버를 올리는 것은 어렵지 않지만, HTTPS 인증을 하기 위해서는 아래처럼 작업이 필요합니다.
- 도메인 준비 (Route 53)
- ACM(AWS Certificate Manager) 세팅
- AWS ECS 가 이미 배포가 된 상태
1. 태스크 설정
기존의 태스크를 띄우는 과정중에서 로드밸런서를 선택할 때 HTTPS 선택이 아닌 HTTP로 먼저 띄웁니다. 그리고 다음에 로드밸런서 설정으로 가서 변경하여야 합니다.
2. ACM 발급하기
다음으로 진행해야 할 것은 도메인으로 만들 ACM을 발급하는 과정입니다. 가장 먼저 아래 링크로 이동합니다.
https://ap-northeast-2.console.aws.amazon.com/acm/home?region=ap-northeast-2#/certificates/list
https://ap-northeast-2.console.aws.amazon.com/acm/home?region=ap-northeast-2#/certificates/list
ap-northeast-2.console.aws.amazon.com
오른쪽에 '요청' 버튼을 눌러 다음 화면으로 넘어갑니다.
등록하고자 하는 도메인을 정확히 입력합니다. 추가적으로 "abc.com" 이라면 '이 인증서에 다른 이름 추가' 버튼을 눌러 "www.abc.com" 도 동시에 등록 가능합니다. 나머지는 크게 신경쓸 필요 없이 요청을 누릅니다.
이제 ACM 인증서를 요청하는 과정은 마무리되었고, 발급 완료 후 새로고침하시면 상태가 '검증 대기 중'이라고 되어 있어 이 부분을 Route53 에서 해결해주어야 합니다.
3. Route 53에 ACM등록하고 설정하기
이 부분이 다소 까다롭습니다. 하나의 도메인당 3개의 Route53 레코드가 필요합니다. 다른 창으로 아까 인증서의 상세 화면을 띄운 후 Route53 으로 넘어갑니다.
https://us-east-1.console.aws.amazon.com/route53/v2/home#Dashboard
https://us-east-1.console.aws.amazon.com/route53/v2/home#Dashboard
us-east-1.console.aws.amazon.com
그리고 해당되는 호스팅 영역으로 들어가 '레코드 생성' 버튼을 눌러줍니다. 여기에서 등록할 레코드의 개수는 총 3개입니다.
A 레코드
기본적인 라우팅 역할을 하는 레코드입니다. 여기에서는 쉽게 서브도메인.도메인.com 등의 주소를 입력해주신 후, ECS 서비스에 등록한 로드밸런서를 별칭으로 하여 만들어줍니다.
CAA 레코드
이 레코드는 아마존에서 발급을 받았다는 SSL 인증을 위한 레코드입니다. 아래와 같이 `0 issue "amazon.com"`을 입력하고 레코드를 생성해줍니다.
CNAME 레코드
여기서는 아까 요청한 ACM 상세화면에서 보이는 CNAME 이름란의 내용과 CNAME 값을 같이 넣어줘야합니다.
레코드를 전부 넣었다면 Route53 화면에서 발급중인 상태를 확인할 수 있습니다. 이제 발급이 완료되었다면 발급 성공이 되었다는 것이 ACM 화면에서도 보입니다.
4. 로드밸런서 설정
로드밸런서 화면으로 이동하셨다면, 아래에 리스너를 등록하는 부분이 있습니다. 여기에서 기존에 80포트(HTTP)로 되어있던 내용을 HTTPS로 변경하시면 자동으로 변경됩니다.
1. 리스너 편집하기
아래처럼 지금 리스너 리스트들이 있는데, 아까 HTTP(80)로 생성한 것을 편집하기 위해 아래 그림처럼 들어가서 Edit 버튼을 누릅니다.
2. HTTPS(443) 으로 변경
드롭다운을 HTTPS로 변경하게 되면 443포트로 연결이 되고, HTTPS 연결이 되면 Secure listener settings 가 활성화됩니다.
그리고 From ACM 으로 되어있는 것을 선택하신 후, 2에서 만든 ACM 인증서를 넣어주시면 됩니다.
참고 : https://velog.io/@samnaka/ECS-service-http-to-https
ECS service http to https
AWS 계정도메인과 ACMAWS ECS 배포된 상태(ALB, Cluster, 작업 정의)http 대신 https 통신으로 변경하는 작업을 해보자ecs cluster -> service 생성 -> 로드 밸런싱할 컨테이너에서 프로덕션 리스너 포트에 원하는
velog.io
'Server' 카테고리의 다른 글
[AWS] ECS 서비스 설정하고 실행하기 (4) | 2023.04.15 |
---|---|
[AWS] ECS Task 구성하기 (0) | 2023.04.14 |
[AWS] ECS Fargate Cluster 구성하기 (0) | 2023.04.14 |
[AWS] ECS 구성하기 전에 용어 정리하기 (0) | 2023.04.13 |
[Java] 부하 테스트 코드로 작성해보기 (2) | 2023.04.11 |
[AWS] 서비스는 정말 좋지만 문서는 불편해!! (2) | 2023.04.11 |