-
AWS로 https 배포하기 (feat. S3, Route 53, Certificate Manager, CloudFront)네트워크 2023. 5. 4. 18:56
취업 후 나의 첫 업무는 회사 서비스 홈페이지를 개발 후 AWS로 배포하는 것이었다. 예상과는 달리 회사에서 웹개발자는 사실상 거의 혼자였고, 그래서인지 AWS 배포조차 정해진 프로세스가 없었다. 가비아의 부가서비스인 포워딩 서비스에 의존하는 실상이었다. 사실상 모든 과정과 절차를 내가 만들어야만 했다. 그래서 평소에 부족했던 AWS를 며칠간 스터디하며 결국 https로 배포하는데 성공했다. (테스트하느라 내 돈도 2천원 썼다ㅋㅋ)
AWS를 사용하며 느낀 점은 포트폴리오 프로젝트를 진행할 때 사용했던 Vercel이 매우 매우 편리하다는 것이다. 금액적으로 얼마나 차이날지 모르지만(Vercel은 개인 개정으로 무료였다.) Vercel로 1분 안에 끝날 일을 AWS로는 무려 4가지의 프로그램 절차를 통해 진행된다는 것이다. 그 덕에 배포의 과정을 자세히 알게 되어 좋았지만 그냥 앞으로는 편하게 살고 싶다. Vercel에서 Next.js도 개발했는데 주식을 사고 싶은 지경이다. 각설하고 배포의 과정은 크게 다음과 같다.
1️⃣ Http 배포
- S3 bucket 생성
- 필요시 IAM 사용자 생성 후 엑세스 키 발급 → deploy, S3 배포
- Route 53으로 도메인 호스팅 관리(A)
2️⃣ Https 배포
- S3 bucket 생성
- 필요시 IAM 사용자 생성 후 엑세스 키 발급 → deploy, S3 배포
- Route 53으로 구입한 도메인 호스팅
- ACM으로 SSL 인증서 발급(인증서가 있어야 https 연결 가능)
- 받은 인증서를 구매한 도메인 및 S3도메인과 함께 연결하여 Cloudfront로 https 배포
- Cloudfront로 배포한 것을 alias 설정으로 Route 53으로 도메인 호스팅 관리(A)
참고 링크
해당 도메인 호스팅을 완전히 삭제하기 위해서도 순서가 필요했다.
삭제 시 순서 S3 → Route 53 → Cloudfront → ACM
또한 Cloudfront로 배포한 경우에도 캐시 문제로 변경 사항을 deploy했을 때 바로 바로 반영안되는 현상이 있었는데, 이는 무효화를 통해 해결하였다. 나의 경우에는 파일이 크지 않아 전체를 무효화하도록 경로를 설정했다.(경로 : /*)
'네트워크' 카테고리의 다른 글
[Docker] 도커 기본 개념 정리 (0) 2024.02.29 캐시 / HTTP (0) 2023.02.23 웹페이지가 브라우저에 렌더링되는 과정 (0) 2023.02.23 REST API (0) 2023.02.21