메뉴 닫기

[Tech] Amazon Cloudfront와 S3를 이용한 웹 페이지 배포 가이드

안녕하세요

이번 시간에는  Amazon CloudFront 배포 방법을 단계별로 자세히 알아보겠습니다.

 

📌사전 준비

1️⃣ AWS 계정: CloudFront를 사용하기 위해 AWS 계정이 필요합니다.

2️⃣ 권한이 있는 사용자 생성: IAM을 통해 적절한 권한을 가진 사용자를 생성합니다.

3️⃣ 배포할 서버 또는 S3 생성: CloudFront에서 사용할 원본 서버(S3, ALB, EC2 등)를 미리 준비합니다.

📌CloudFront 배포 튜토리얼

1️⃣CloudFront와 연결할 S3/서버 확인

CloudFront의 원본으로 사용할 S3 버킷 또는 EC2/ALB 등의 서버를 확인해 주십시오.

2️⃣ CloudFront 생성

📌 2-1. 배포 생성

  • AWS 콘솔에서 CloudFront 서비스로 이동합니다.
  • CloudFront의 배포(Distributions) 메뉴로 들어가서 배포 생성(Create Distributions)을 클릭합니다.

📌 2-2. 원본 도메인 설정

  • 원본 도메인 : 연결할 원본 도메인을 선택합니다. (예: S3, ALB, EC2)

📌 2-3. 원본 액세스 설정

CloudFront에서만 S3 버킷에 접속할 수 있도록 원본 액세스 제어(OAC) 설정을 활성화합니다.

1️⃣원본 액세스 제어(OAC)설정 옵션을 선택합니다

    • CloudFront에서만 S3 버킷에 접속을 허용하기 위한 설정 입니다.
  • Origin access control에서 제어 설정 생성(Create Control Settings)를 클릭하여 제어 설정을 생성합니다.
    • 서명 요청 옵션을 설정하여 CloudFront S3요청을 서명할 수 있도록 합니다.
    • S3 오리진이 이 요청을 받으면 동일한 단계를 수행하여 받은 요청에 대한 서명을 계산하고 계산된 서명을 CloudFront로 부터 받은 셔명과 비교합니다.
      서명이 일치하면 요청이 처리되고 서명이 일치하지 않으면 요청이 거부됩니다.
  • 배포 생성 완료 후 제공되는 S3 버킷 정책을 복사하여 S3 정책에 수동으로 적용해야 합니다.

📌 2-4. 기본 캐시 동작 설정(선택사항)

  • CloudFront의 캐시 동작을 설정하여 성능을 최적화할 수 있습니다.

📌 2-5. 대체 도메인 및 SSL인증서 설정(선택 사항)

  • Alternative domain name(CNAMEs)에서 사용할 도메인이름 입력
  • 사용자 정의 SSL인증서: ACM에서 생성한 SSL 인증서를 선택

📌 2-6. 생성된 CloudFront 확인

  • 생성된 CloudFront에서 배포 도메인 이름, 대체 도메인 이름, 사용자 정의 SSL 인증서 확인 가능 합니다.
  • 마지막 수정의 상태가 ‘배포’에서 ‘사용 가능’으로 변경되면 정상 작동하는지 확인 가능합니다.
  • 원본(Origin) 메뉴에서 CloudFront와 연결되어 있는 원본 서버(S3,ALB,EC2등)를 확인가능합니다.

📌 3. Route53과 CloudFront 연결

사전 준비 :

1️⃣ Route53호스팅 영역(Hosted Zone)생성

2️⃣ S3에 테스트용 JPG 파일 업로드

 

  • 호스팅 영역(Hosted Zone)에서 레코드 생성(Create record) 클릭
  • 레코드 정보를 입력 후 생성합니다.
  • 레코드 이름 : CloudFront에서 설정안 서브 도메인 이름 기입
  • 레코드 유형 : CNAME선택
  • 값 : CloudFront의 배포 도메인 이름을 적습니다.

📌 4. 배포 테스트

1️⃣ 설정한 대체 도메인(CNAME)으로 접속합니다.

2️⃣ SSL 보안 연결 확인 및 업로드한 이밎지 정상 표시 여부 확인합니다.

📌 5. 무효화 작업 (Invalidation)

➡️ 서비스 중인 Object가 변경되었다면 Cloudfront에서 무효화(Invalidation)작업을 수행해야 합니다.

➡️ 무효화(Invalidations) > 무효화 생성(Create Invalidation) 에서 무효화 할 대상을 입력 후 무효화 생성(Create Invalidation)클릭

➡️ 보다 자세한 규칙은 아래 페이지를 참고하여 확인하여 주시기 바랍니다.

 

이번 시간에는 Amazon CloudFront S3를 활용한 배포 방법에 대해 알아보았습니다.

끝까지 읽어주셔서 감사합니다.