전세계를 대상으로 웹 서비스를 제공하고 있는 기업에서 CF를 CDN으로 사용하고, 백엔드 서버는 ALB 뒤에 존재합니다.
사용자는 CF 사용자 지정 도메인으로 service.example.com을 사용하며, CF origin은 service-alb.example을 도메인으로 사용하는 ALB입니다.
기업의 보안 정책에 따라, 사용자와 백엔드 간의 전송되는 모든 트래픽은 암호화되어야합니다.
딱히 복잡하지 않은 시나리오이다. 사용자 -> CF, CF -> ALB, ALB -> EC2 간의 통신이 모두 SSL/TLS로 요청을 전송하도록 구성하면된다.
CF로 들어오는 요청은 ACM을 사용하여 service.example.com에 대한 인증서를 생성하고, 이 사용자 지정 인증서를 사용하도록 CF를 구성하면 된다. 또한 반드시 암호화되어야하므로 HTTP요청을 HTTPS로 리디렉트하도록 기본 동작을 변경한다.
AWS Certificate Manager(ACM)를 사용하여 service-alb.example.com에 대한 인증서를 생성한다. ALB에서 새 대상 그룹과 service-alb.example.com ACM 인증서를 사용하는 새 HTTPS 수신기를 추가하고 HTTPS 프로토콜만 사용하도록 CloudFront 오리진을 수정한 뒤, ALB에서 HTTP 수신기를 삭제합니다.
EC2 인스턴스에 대한 도메인 이름을 사용하여 타사 인증서 공급자로부터 공개 인증서를 생성한 뒤, HTTPS 수신기에 대해 이 인증서를 사용하도록 백엔드를 구성한다. 또한 HTTPS 프로토콜을 사용하도록 대상 그룹을 구성한다.