Cloud Front

은채의 성장통·2025년 2월 10일
0

AWS

목록 보기
56/79

AWS CloudFront를 활용한 CDN 캐싱 및 보안 최적화

대량의 정적 콘텐츠를 전 세계 사용자에게 빠르게 제공하려면 CDN(Content Delivery Network)이 필수적이다.

AWS CloudFront는 글로벌 엣지 로케이션(Edge Location)에 콘텐츠를 캐싱하여 읽기 성능을 향상시키고, 보안성을 강화하며, DDoS 공격을 방어하는 역할을 한다.

이 글에서는 CloudFront의 원리, 캐싱 방식, S3와의 차이점 및 보안 설정(OAC)을 정리한다.


1. CloudFront란?

AWS CloudFront는 AWS의 CDN 서비스로, 콘텐츠를 사용자와 가장 가까운 엣지 로케이션(Edge Location)에 저장하여 빠른 응답을 제공한다.

(1) CloudFront의 주요 기능

읽기 성능 향상 → 캐싱된 콘텐츠를 제공하여 지연 시간(Latency) 감소

DDoS 보호 → AWS Shield와 연계하여 악성 트래픽 차단

보안 강화 → OAC(Origin Access Control)로 S3 원본 보호

전 세계 배포 → AWS 글로벌 네트워크 활용


2. CloudFront의 작동 방식

CloudFront는 사용자의 요청을 처리하는 방식이 캐싱 여부에 따라 달라진다.

1️⃣ 클라이언트가 CloudFront에 요청

2️⃣ 엣지 로케이션(Edge Location)에서 캐싱된 콘텐츠 확인

3️⃣ ✔ 캐싱된 데이터가 있다면 즉시 제공

4️⃣ ❌ 캐싱이 없다면 원본 서버(S3, EC2 등)에 요청하여 데이터를 받아옴

5️⃣ CloudFront가 데이터를 캐싱하여 향후 요청에 대비


3. 원본(Origin) 설정: 정적 웹사이트 배포

CloudFront는 정적 콘텐츠(HTML, CSS, JS, 이미지, 동영상 등)에 최적화되어 있다.

특히 S3와 함께 사용하여 정적 웹사이트를 배포할 수 있다.

📌 CloudFront + S3를 활용한 정적 웹사이트 배포

1️⃣ S3 버킷을 생성하고 정적 웹사이트 호스팅 활성화

2️⃣ CloudFront 배포 생성 → Origin을 S3 버킷으로 설정

3️⃣ TTL(Time-To-Live) 설정하여 캐싱 기간 조정

4️⃣ OAC(Origin Access Control)를 사용하여 보안 강화

5️⃣ CloudFront의 DNS를 통해 정적 웹사이트 배포


4. CloudFront 보안 설정: OAC(Origin Access Control)

(1) OAC(Origin Access Control)란?

OAC는 CloudFront가 S3 원본(Origin)에 직접 접근하도록 허용하는 보안 설정이다.

기존의 S3 버킷 정책을 대체하여, 보다 안전하게 콘텐츠를 보호할 수 있다.

기존 방식: S3 퍼블릭 액세스 또는 CloudFront 전용 버킷 정책 필요

OAC 방식: S3를 퍼블릭으로 설정하지 않고도 CloudFront가 접근 가능

📌 OAC를 설정하는 방법 (CLI)

aws cloudfront create-origin-access-control \
  --origin-access-control-config Name="MyOAC", \
  Description="CloudFront OAC for S3 Access", \
  SigningProtocol="sigv4", \
  SigningBehavior="always", \
  OriginAccessControlOriginType="s3"

📌 OAC를 적용한 S3 버킷 정책 예제

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudfront.amazonaws.com"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceArn": "arn:aws:cloudfront::123456789012:distribution/EXAMPLE123"
        }
      }
    }
  ]
}

CloudFront만이 S3에 접근 가능하도록 제한

S3를 퍼블릭으로 설정할 필요 없음

DDoS 및 불필요한 외부 요청 방어 가능


5. CloudFront와 S3 교차 리전 복제의 차이점

CloudFront와 S3 Cross-Region Replication(교차 리전 복제)는 역할이 다르다.

항목CloudFrontS3 Cross-Region Replication
목적콘텐츠 캐싱 및 성능 최적화데이터 백업 및 다중 리전 동기화
데이터 저장 위치글로벌 엣지 로케이션S3 버킷 간 데이터 복제
비용요청당 과금 (읽기 성능 최적화)저장 용량 및 데이터 전송 비용 발생
주요 사용 사례정적 웹사이트 배포, DDoS 보호재해 복구(DR), 글로벌 데이터 동기화

CloudFront는 전 세계 사용자를 위한 콘텐츠 제공 최적화

S3 교차 리전 복제는 데이터 백업 및 다중 리전 동기화 목적


6. 결론 및 정리

CloudFront는 전 세계 사용자에게 빠르게 콘텐츠를 제공하고 보안성을 강화하는 강력한 CDN 서비스다.

개념설명
CloudFront글로벌 엣지 로케이션을 활용한 CDN 서비스
캐싱 메커니즘클라이언트 요청 시, 캐싱된 데이터 제공 (없다면 원본에서 가져옴)
OAC (Origin Access Control)CloudFront가 S3 원본에 직접 접근하도록 보안 강화
CloudFront vs S3 복제CloudFront는 CDN(속도 향상), S3 복제는 데이터 백업 목적

🚀 추천 전략:

  • CloudFront + S3를 활용하여 정적 웹사이트 배포
  • OAC를 사용하여 보안 강화 및 원본 보호
  • TTL을 설정하여 캐싱 정책 최적화
  • CloudFront 로그 분석을 통해 성능 모니터링

이러한 설정을 적용하면 빠른 성능, 강화된 보안, 비용 절감 효과를 극대화할 수 있다. 🚀

profile
인생 별거 없어

0개의 댓글