블로그 릴레이 - Cloudfront 와 ALB를 HTTPS로 통신하기
안녕하세요! 클라우드 사업본부의 서은우입니다.
본 블로그는 당사의 한국어 블로그 릴레이의 2025년 13번째 블로그입니다.
이번 블로그의 주제는 「Cloudfront 와 ALB를 HTTPS로 통신하기」 입니다.
개요
CloudFront의 오리진으로 ALB를 설정한 구성에 대해, CloudFront와 ALB를 HTTPS로 통신하고 싶은 경우가 있어 직접 해보았습니다.
구성도
이번 블로그에서는 아래와 같은 구성의 환경을 직접 생성해보았습니다.
- CloudFront: 콘텐츠 배포
- Route 53: 도메인 관리
- ACM: SSL 인증서 관리
- ALB: 로드벨런서
- EC2: 어플리케이션 서버
유저가 blog.xxx.com
도메인으로 요청을 보내면 EC2에서 기동중인 어플리케이션에 접속되는 것을 구현하고자 합니다.
직접 해보기
ACM - SSL 인증서 만들기
ACM을 사용하여 blog.xxx.com
도메인에 대해 CloudFront 와 ALB가 사용하기 위한 SSL 인증서를 발급받습니다.
CloudFront의 인증서는 버지니아 리전(us-east-1) 에서, ALB의 인증서는 ALB를 생성한 리전(본 블로그의 경우 도쿄,ap-northeast-1)에서 인증서를 생성합니다.
ALB의 인증서(도쿄 리전)
도쿄 리전의 ACM 콘솔 페이지로 이동합니다. "요청" 버튼을 눌러 인증서 생성을 요청합니다.
사용할 도메인 blog.xxx.com
을 입력하고 ACM 생성을 완료합니다.
검증을 완료하기 위해 해당 도메인에 대한 Route 53 레코드를 생성합니다. "Route 53에서 레코드 생성" 버튼을 눌러 레코드 생성 페이지로 이동 후, 대상 도메인에 대한 레코드 생성을 완료합니다.
CloudFront의 인증서(버지니아 리전)
현재 리전을 버지니아 리전으로 변경하여 ALB의 인증서를 생성한 방법과 같은 방법으로 CloudFront가 사용할 인증서를 생성합니다.
CloudFront 배포 생성
ACM을 사용하여 인증서 생성을 완료하였다면 CloudFront 콘솔 페이지로 이동하여 배포를 생성합니다.
대상 ALB를 원본으로 설정을 구성합니다.
대체 도메인 항목에는 사용할 도메인(blog.xxx.com)을 입력합니다. 그리고 "Custom SSL certificate" 항목에는 버지니아 리전에 작성했던 SSL 인증서를 설정합니다.
Route 53 도메인 설정
CloudFront 배포를 생성한 후, Route 53의 콘솔화면으로 이동하여 "blog.xxx.com" 주소에 대한 요청을 CloudFront로 전달하기 위한 레코드 설정을 실시합니다.
"레코드 설정" 버튼을 눌러 레코드 설정 페이지로 이동합니다.
각 설정 항목에 대해 아래와 같은 설정을 진행하영 레코드 생성을 완료합니다.
- 레코드 설정: 도메인 입력
- 레코드 유형: A - IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅
- 트래픽 라우팅 대상: CloudFront 배포에 대한 별칭
- 생성한 CloudFront 배포를 대상으로 지정
ALB 설정
대상 ALB에 대해 HTTPS 트래픽을 처리하기 위한 설정을 실시합니다. HTTPS의 요청을 처리하기 위해 인증서를 설정하고, 요청을 전달할 타겟 그룹을 설정합니다.
ALB 콘솔 페이지에서 "리스너 추가" 버튼을 눌러 HTTPS 에 대한 리스너를 설정합니다.
"기본 SSL/TLS 서버 인증서" 설정 항목에서, 이전의 단계 생성한 ALB의 SSL 인증서를 대상으로 등록하고 설정을 완료합니다.
접속 확인
모든 설정이 완료 후, 동작을 확인하기 위해 인터넷 브라우저를 열어 blog.xxx.com
로 접속을 시도하면,
문제 없이 타겟 그룹 A 와 B에 접속되는 것을 확인할 수 있습니다.
마무리
이상, 한국어 블로그 릴레이의 2025년 13 번째 블로그「Cloudfront 와 ALB를 HTTPS로 통신하기」편이었습니다. 다음 14 번째 블로그 릴레이는 4월 넷째 주에 공개됩니다.
긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 must01940 지메일로 보내주시면 감사합니다.