s3+cloudfront+acm 정적배포

sangwoo noh·2024년 10월 6일
0

AWS

목록 보기
32/32

powered by chatGPT

아래는 pyeong.ludgi.ai 도메인으로 AWS S3에 정적 배포하고, HTTPSCloudFront를 연동하는 과정을 단계별로 자세히 설명한 가이드입니다. 모든 설정을 완료하면, Route 53을 통해 서브 도메인과 연결되고, CloudFrontSSL 인증서(ACM)을 사용한 HTTPS가 적용된 정적 사이트를 운영할 수 있습니다.

1. S3 버킷 생성

먼저 S3에서 정적 호스팅을 위한 버킷을 생성합니다.

  1. S3 콘솔로 이동합니다.
  2. 버킷 만들기 버튼을 클릭합니다.
  3. 버킷 이름은 정확히 pyeong.ludgi.ai로 설정합니다. S3 버킷 이름은 서브 도메인과 동일하게 설정해야 서브 도메인과 연결할 수 있습니다.
    • 리전은 보통 CloudFront와 연결할 때 US East (N. Virginia)를 많이 사용합니다.
  4. 공개 접근 차단 설정을 해제해야 정적 사이트가 외부에서 접근 가능하도록 만들 수 있습니다.
    • "모든 공개 접근 차단" 옵션에서 체크 해제합니다.
  5. 정적 웹 사이트 호스팅을 활성화합니다.
    • S3 버킷 설정에서 정적 웹 사이트 호스팅 옵션을 찾고, index.html 파일을 기본 페이지로 설정합니다.

2. 파일 업로드

정적 사이트에 필요한 HTML, CSS, JS 파일들을 S3 버킷에 업로드합니다.

  1. S3 버킷에 접속한 후, 업로드 버튼을 통해 정적 사이트 파일을 업로드합니다.
  2. 파일을 업로드한 후 퍼미션 탭에서 파일들이 공개적으로 접근 가능하도록 설정합니다.

3. ACM을 통한 HTTPS 인증서 발급

ACM (AWS Certificate Manager)을 사용하여 SSL 인증서를 발급받아 HTTPS를 적용합니다.

  1. AWS Certificate Manager로 이동합니다.
  2. N. Virginia(US East 1) 리전에서 Request a Certificate를 클릭합니다.
  3. pyeong.ludgi.ai 도메인으로 인증서를 요청합니다.
  4. DNS 검증을 선택하고, AWS Route 53을 사용한다면 ACM이 제공하는 CNAME 레코드를 Route 53에 추가해 검증을 완료합니다.

4. CloudFront 설정

CloudFront를 통해 콘텐츠를 캐싱하고 HTTPS 연결을 적용합니다.

  1. CloudFront 콘솔로 이동하여 Create Distribution을 선택합니다.
  2. Origin Domain에 S3 버킷의 URL (예: pyeong.ludgi.ai.s3-website-us-east-1.amazonaws.com)을 입력합니다.
  3. Viewer Protocol Policy에서 Redirect HTTP to HTTPS로 설정하여 HTTPS로만 연결되도록 합니다.
  4. Alternate Domain Names (CNAMEs)pyeong.ludgi.ai를 추가합니다.
  5. SSL Certificate에서 ACM에서 발급받은 인증서를 선택합니다.
  6. 기타 설정을 마친 후 Create Distribution을 클릭하여 CloudFront 배포를 시작합니다.

5. Route 53에서 DNS 설정

이제 Route 53에서 pyeong.ludgi.ai 서브도메인을 S3와 CloudFront로 연결하는 DNS 설정을 완료합니다.

  1. Route 53 콘솔로 이동하여 ludgi.ai 도메인을 선택합니다.
  2. Create Record를 클릭하고 CNAME 레코드를 생성합니다.
    • Name: pyeong (즉, 전체 도메인은 pyeong.ludgi.ai가 됩니다).
    • Value: CloudFront에서 생성된 도메인 이름 (예: xxxxxx.cloudfront.net).
  3. 레코드를 저장한 후, CloudFront와 Route 53 연결이 완료되면 약간의 전파 시간이 걸릴 수 있습니다.

6. HTTPS 확인 및 테스트

모든 설정이 완료되면 pyeong.ludgi.ai로 접속하여 HTTPS가 정상적으로 작동하는지 확인합니다.

  1. 브라우저에서 https://pyeong.ludgi.ai로 접속하여 사이트가 정상적으로 로드되는지 확인합니다.
  2. SSL 인증서가 올바르게 적용되고, HTTPS로 안전하게 연결되는지 확인합니다.

이 과정을 통해 S3에 정적 배포하고, CloudFront를 통한 캐싱과 HTTPS 적용까지 완료할 수 있습니다. SEO 최적화나 속도 측면에서도 CloudFront를 사용하면 성능 개선에 도움이 될 것입니다.

오랜만이라 Alternate Domain Name부분을 놓쳐서 왜 안되나 했음.
이제 SEO설정하면 됨

profile
하기로 했으면 하자

0개의 댓글