S3를 이용한 웹 호스팅은 엔드포인트에 HTTPS를 적용할 수가 없다.
다시 말해, S3만을 이용하여 웹 호스팅을 하면 사이트에 HTTPS를 적용할 수가 없다.
따라서, 이를 개선하기 위해서는 CloudFront를 사용하여 HTTPS 적용이 가능하다.
또한, 옵션을 이용하여 Redirct를 추가할 수도 있다.
![](https://phone3.net/wp-content/uploads/2020/03/1-1.png)
참고 URL : https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/WebsiteHosting.html
1. ACM 발급
1) Certificate Manager에서 Request a certificate를 선택한다.
단, CF에 등록하기 위한 인증서는 버지니아(us-east-1)에 발급된 인증서만 사용 가능하다.
2) 인증서를 발급할 도메인을 기입한다. 와일드카드 또는 멀티 도메인 인증서 발급이 가능하다.
![](https://phone3.net/wp-content/uploads/2020/03/2.png)
3) Validation method를 선택한다.DNS 인증 또는 Email 인증이 가능하다.
DNS 인증 : 네임서버에 validation을 위한 CNAME 레코드를 생성하여 도메인에 대한 소유권을 가지고 있는지 인증하는 방법
Email 인증 : 특정한 이메일로 인증메일을 발송하여 도메인에 대한 소유권이 있는지 인증하는 방법
여기서는 DNS 인증을 선택하였다.
ACM 관리를 위하여 Tag를 설정하거나 Review를 선택하여 인증할 CNAME 레코드값을 확인한다.
![](https://phone3.net/wp-content/uploads/2020/03/3.png)
![](https://phone3.net/wp-content/uploads/2020/03/4.png)
네임서버에 다음과 같이 등록하였다.
![](https://phone3.net/wp-content/uploads/2020/03/6.png)
잠시 기다리면 정상 발급된 것을 확인할 수 있다.
![](https://phone3.net/wp-content/uploads/2020/03/7.png)
2. CF 구성
1) CloudFront 페이지에서 Create a new distribution을 선택한다.
![](https://phone3.net/wp-content/uploads/2020/03/8.png)
2) 오리진이 S3인 웹호스팅이기 때문에 CF(CloudFront) 유형을 Web으로 설정한다.
![](https://phone3.net/wp-content/uploads/2020/03/9.png)
3) 오리진 도메인은 S3 엔드포인트를 기입한다.
절대 CloudFront에서 제공하는 엔드포인트(텍스트박스를 누르면 보이는 리스트)를 사용하지 말길 바란다.
![](https://phone3.net/wp-content/uploads/2020/03/10.png)
4) Cache Behavior Settings에서 Protocol Policy를 “Redirect HTTP to HTTPS”로 설정한다.
![](https://phone3.net/wp-content/uploads/2020/03/11.png)
5) Distribution Settings에서 CNAME으로 설정한 도메인과 SSL 인증서를 설정한다.
SSL인증서는 위에서 생성한 ACM으로 설정하면 된다.
![](https://phone3.net/wp-content/uploads/2020/03/12.png)
6) 위의 설정이 완료되었으면 Create Distribution을 클릭하고 Deploy.
![](https://phone3.net/wp-content/uploads/2020/03/13.png)
3. CNAME 레코드 추가
네임서버에 CNAME 레코드 추가한다.
레코드 target는 CloudFront페이지에서 확인할 수 있는 Domain Name으로 한다.
![](https://phone3.net/wp-content/uploads/2020/03/14.png)
4. 사이트 확인
접속해보면 HTTPS로 리다이렉트되는 것을 확인할 수 있다.
![](https://phone3.net/wp-content/uploads/2020/03/image-5.png)