Log 7/23 Pipeline & S3 & CloudFront & Route53

개발(공부) 자국·2021년 7월 23일
0

Dev Log

이걸 빨리 기록하고 싶었다. 드디어 S3 배포자동화에 CloudFront를 연결하여 dns에 https를 연결했다. 이 작업을 얼마나 하고 싶었는지 모른다. 팀원들에게 너무 미안했다. 이걸 빨리 해결해야 테스트도 해보고 Oauth 요청도 시도할텐데 시간이 많이 지체되었다. 3일째 찾다가 하나씩 알게된 정보를 조합해서 결국은 해결했다. 이 경험을 남겨야겠다.

S3 -> ACM -> CloudFront -> Route53 -> Pipeline

  1. 배포할 프로젝트 클라이언트 폴더 바로 상위폴더에 pipeline에 사용하는 yml 파일을 저장한다.
  2. 저장한 프로젝트를 깃 레포지토리에 푸쉬한다.
  3. 도메인을 원하는 곳에서 구매한다. (AWS 에서는 유료로 구입가능하다.)
  4. S3 버킷을 만든다. 이때 버킷 이름은 도메인과 같은 이름으로 만든다.
  5. S3 버킷에 권한설정까지 다 하고 나서 배포할 프로젝트를 넣지 않고 비워둔다.
  6. ACM(AWS Certificate Manager) 에서 구매한 도메인의 인증서를 요청한다.
  7. 인증서 발급할때는 반드시 버지니아 동부 리전에서 인증서를 발급받는다.
  8. CloudFront에서 Create Distribution 배포설정을 할 때 버지니아 북부에서 받은 인증서를 넣는다.
  9. CloudFront에서 Alternate Domain Names(CNAMEs)에 구매한 도메인 원주소와 www.도메인을 꼭넣는다.
  10. CloudFront Domain name을 꼭 확인한다.
  11. Route53에서 레코드 추가하는 단계의 레코드 정의에서 값/라우팅 대상에
  12. CloudFront 배포에 대한 별칭 / 미국동부(버니지아 북부) / CloudFront주소가 선택 가능하게 되면
  13. Route53에서 레코드가 추가되어 dns와 연결이 가능하다.
  14. Pipeline에 프로젝트를 빈 도메인이름으로된 S3에 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 별칭 리소스 레코드 세트를 생성할 때 기본 설정 별칭 대상을 선택할 수 없는 이유
별칭레코드값

profile
기록을 중요하게 생각하는 사람입니다. 학습한 내용을 정리한 것이라 잘못된 정보가 있을 수 있습니다. 잘못된 정보는 언제든 말씀해 주시기 바랍니다.

0개의 댓글

관련 채용 정보