이걸 빨리 기록하고 싶었다. 드디어 S3 배포자동화에 CloudFront를 연결하여 dns에 https를 연결했다. 이 작업을 얼마나 하고 싶었는지 모른다. 팀원들에게 너무 미안했다. 이걸 빨리 해결해야 테스트도 해보고 Oauth 요청도 시도할텐데 시간이 많이 지체되었다. 3일째 찾다가 하나씩 알게된 정보를 조합해서 결국은 해결했다. 이 경험을 남겨야겠다.
S3 -> ACM -> CloudFront -> Route53 -> Pipeline
전체적인 과정은 이러하다. 여기서 중요한 점을 짚어야 한다. 첫번째는 4번 버킷과 도메인 이름을 같게 만들어야 한다. 이 부분으로 시작부터 어려웠다. 두번째는 5번 버킷을 만들고 넣지 않는 것이다. 넣어두면 배포 자동화로 빌드할때 같은 파일들이 겹쳐서 빌드 오류가 난다. 세번째는 7번 반드시 CloudFront 서비스를 사용하여 https를 사용하려면 버지니아 북부에서 인증서를 받아야 한다. 이것은 필수다 CloudFront는 https로 리다이렉트를 보내주기도하고 빠른 CDN의 역할도 하는데 버지니아 북부에서 발급받은 인증서만 사용가능하다. 네번째는 8번이다. 꼭 CloudFront에서 발급받은 인증서를 넣고 Alter Domain name(CNAMEs)를 입력해야한다. 이 부분을 입력한 상태에서 성공했다. 다섯번째는 12번 가장 중요한 Route53이다. 가장 중요한 4, 7, 8, 9를 다했다면 12번에서 CloudFront가 만들어지고 CloudFront의 Domainname이 생성되는데 그 Domainname이 Route53 레코드 정의 메뉴에 나오게 되면 성공이다. 그러면 구입한 도메인과 S3와 https가 연결되어있다. 여기에 자동으로 배포할 pipeline을 연결하면 https 도메인에 자동으로 배포되는 라인을 연결할 수 있다.
CloudFlont 리소스 없음 문제
AWS S3 생성 자습서
AWS 기본설정 블로그
정적페이지 웹 호스팅 관련
Route 53 별칭 리소스 레코드 세트를 생성할 때 기본 설정 별칭 대상을 선택할 수 없는 이유
별칭레코드값