AWS S3에 HTTPS 적용하기 (Cloudfront)
Last updated
Last updated
Route53이란 AWS에서 제공하는 DNS 서비스이다. 우리는 Route53을 통해 도메인을 구매하고 호스팅 영역을 생성 및 NS(네임서버) 구축을 통해 DNS에 요청을 처리할 수 있다.
뿐만 아니라 Route53은 라우팅 정책을 등록할 수가 있기 때문에 효율적인 트래픽 분배가 가능하다. 단순 라우팅, 가중치 기반 라우팅, 지연 시간 기반 라우팅 등 여러가지 DNS 요청에 대한 응답 방식을 설정할 수 있다.
Route53은 DNS 서비스이기 때문에 동작방식의 이해를 위해서는 DNS에 대한 기본지식을 가지고 있어야 하지만, 배포가 목적이다! 라고 한다면이 튜토리얼 대로만 하면 어렵지 않게 https 도메인을 적용한 ✨내 어플리케이션✨을 배포할 수 있다!
AWS CloudFront란 AWS 제공하는 CDN 서비스이다. CDN은 Contents Delivery Network의 약자로 콘텐츠 제공자와 사용자 간 지리적으로 떨어져 있는 환경에서 콘텐츠를 빠르게 제공하기 위한 기술이다.
CloudFront는 전 세계에 분포된 엣지 로케이션이라고 하는 데이터 센터의 엣지 서버를 사용해 콘텐츠를 캐싱하고, 사용자가 위치한 곳에서 가장 가까운 엣지 로케이션에서 콘텐츠를 제공받을 수 있도록 해주는 역할을 한다.
또 CloudFront는 SSL 인증서를 이용한 HTTPS 호스팅을 지원한다. 사실 이번에 우리가 CloudFront를 이용하는 이유는 HTTPS 호스팅 때문인데, S3로 배포한 앱은 SSL 인증서 적용이 불가능하다. 따라서 우리는 CloudFront를 이용해 S3를 호스팅 함으로써 HTTPS를 적용해 볼 것이다!
ACM은 Amazon Certificate Manager의 약자로 AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS(Secure Sockets Layer/전송 계층 보안) 인증서를 손쉽게 관리 및 배포할 수 있도록 지원하는 서비스이다.
SSL/TLS 인증서란 네트워크 통신을 보호하고 웹 사이트의 자격 증명을 위해 사용되는데, 쉽게 말해서 내 도메인에 HTTPS를 적용할때 필요한 인증서라고 생각 하면 된다.
ACM을 이용하여 인증서를 받은 후 Elastic Load Balancer, Amazon CloudFront 배포, API Gateway 기반 API와 같은 AWS 리소스에 배포할 수 있다.
CloudFront는 N.Virginia region만을 지원하므로, 꼭 버즈니아 북부 (N.Virginia)로 설정한 후 생성해야 합니다.