Nodejs(express) 통신 CORS, CORS Pre-Flight 설정하기
아마존 웹 서비스(AWS) S3의 정적 웹사이트 www 리다이렉트 시키기
2018-08-23
Explanation
AWS의 스토리지 서비스(S3)를 이용하여 정적 웹 사이트를 운영하고 a.com 으로 접근시 www.a.com 으로 리다이렉트 시키거나 혹은 그 반대의 경우를 위해서는, 간단한 예로 a.com > www.a.com 으로 리다이렉트 시킨다고 가정하면, 기존의 설정과 동일하게 S3에 a.com 과 www.a.com 이라는 이름으로 버킷을 만듭니다. 그리고 Route53 에서 레코드 타입 A로 Alias 설정을 Yes로 선택하고 target을 선택하면 a.com, www.a.com 의 도메인 S3 정적 호스팅에 연결할 수 있습니다. 그리고 www.a.com 의 버킷에는 inded.html 을 포함하여 컨텐츠 파일을 업로드하고 a.com 의 버킷에서는 ‘속성’ > ‘정적 웹 사이트 호스팅’ > ‘요청 리디렉션’ 으로 이동하여 www.a.com 버킷을 등록해주면 끝입니다.
그런데 만약에 S3의 버킷을 CloudFront에 연결해서 https 로 연결하여 사용한다면 조금 헷갈릴 수도 있는데요, 사실 방법은 엄청 간단하게도 CloudFront를 a.com 과 www.a.com 두개를 만들어서 S3 버킷에 연결하고 Route53 에서는 Alias 설정으로 target을 해당 S3의 버킷이 연결되어 있는 CloudFront에 연결해 주면 됩니다.
그러면 대략 과정을 생각해보면 https://a.com 으로 접속하면 > Route53에서 해당 CloudFront를 가리키고 > CloudFront에서 ACM(Certificate Manager)의 SSL인증서를 확인하고 > S3의 a.com 버킷을 불러오면 -> 리다이렉션 -> S3의 www.a.com 버킷의 컨텐츠가 출력됩니다!
버킷의 정적 웹사이트 호스팅 설정은 여기에서 할 수 있고,
요청 리다이렉션 설정은 바로 그 아래 선택지를 통해 할 수 있습니다.
Route 53 설정은 Route 53 서비스로 이동하여 해당 호스티드 존에서 해당 도메인을 선택한 후 ‘Create Record Set’을 선택하고 대략 위와 같이 설정해 주면 되겠죠?
CloudFront와 ACM설정은.. 너무 많은 스크린샷을 필요로 하기에.. 다음에.. 따로 포스팅을 하거나.. 쿨럭..