CDN 캐싱: CloudFront 배포 전략

이 글에서는 CloudFront CDN을 사용하여 콘텐츠를 캐싱하고 글로벌 성능을 개선하는 방법을 설명합니다.

문제점: 글로벌 지연 시간

전 세계 사용자가 우리 웹사이트에 접속합니다:

  • 인도: 50ms 지연 시간

  • 미국: 200ms 지연 시간

  • 유럽: 250ms 지연 시간

  • 아시아: 150ms 지연 시간

모든 트래픽을 인도에서 제공하면 해외 사용자의 페이지 로딩이 느려집니다.

해결책: CloudFront CDN

CloudFront: AWS 콘텐츠 전송 네트워크

엣지 로케이션: 전 세계 400개 이상의 위치

장점: 가장 가까운 위치에서 콘텐츠 제공

캐싱 대상

정적 에셋 (긴 TTL)

콘텐츠: 이미지, CSS, JavaScript, 폰트

TTL: 1년

경로: /s/*

장점: 거의 변경되지 않음, 적극적으로 캐싱

제품 페이지 (중간 TTL)

콘텐츠: 제품 사양, 이미지

TTL: 1시간

경로: /p/*

장점: 신선도와 성능의 균형

쿼리 페이지 (짧은 TTL)

콘텐츠: 검색 결과, 필터링된 뷰

TTL: 5분

경로: /q/*

장점: 빈번한 업데이트, 짧은 캐시

아티클 (긴 TTL)

콘텐츠: 기술 문서

TTL: 24시간

경로: /a/*

장점: 거의 변경되지 않음

캐싱되지 않는 대상

동적 콘텐츠:

  • 검색 결과 (/q/?q=<query>)

  • 사용자별 콘텐츠 (장바구니, 계정)

  • API 엔드포인트 (/api/*)

이유: 최신 상태여야 하고, 사용자별로 다름

캐시 동작

캐시 키

CloudFront는 URL을 캐시 키로 사용합니다:

동일한 URL: 캐시에서 제공

다른 URL: 새로운 캐시 항목

쿼리 매개변수: 키에 포함 (추적 매개변수 제외)

캐시 헤더

원본 서버가 캐시 헤더를 설정합니다:

Cache-Control: public, max-age=3600

public: CDN에 의해 캐시될 수 있음

max-age: 캐시 지속 시간(초)

캐시 무효화

수동: 무효화 요청 생성

자동: TTL 만료까지 대기

비용: 월별 처음 1,000개 경로 무료

참조: 정책은 CACHE_INVALIDATION_RULE.md 참조

오리진 보호

CDN이 원본 서버를 보호합니다:

트래픽 흡수: CDN이 트래픽 급증을 처리

DDoS 완화: 악성 트래픽 필터링

속도 제한: 원본 서버 과부하 방지

장점: 원본 서버가 응답성을 유지

SSL/TLS

인증서: AWS Certificate Manager

프로토콜: TLS 1.2+

장점: 암호화된 트래픽, 무료 인증서

압축

Gzip: 텍스트 콘텐츠에 대해 활성화

Brotli: 최신 브라우저에 대해 활성화

장점: 더 빠른 다운로드, 낮은 대역폭

지리적 제한

없음: 전 세계에서 사용 가능

장점: 글로벌 도달 범위

모니터링

지표:

  • 캐시 적중률

  • 원본 요청 수

  • 오류율

  • 지역별 지연 시간

CloudWatch: AWS 모니터링 서비스

비용 최적화

캐시 적중률: 높을수록 비용 절감

원본 요청: 적을수록 비용 절감

데이터 전송: 캐싱되면 더 저렴

장점: CDN이 인프라 비용을 줄임

참고 자료

AWS 서비스

관련 글

요약

CloudFront CDN은 글로벌 성능을 개선합니다:

캐시된 콘텐츠:

  • ✅ 정적 에셋 (1년 TTL)

  • ✅ 제품 페이지 (1시간 TTL)

  • ✅ 쿼리 페이지 (5분 TTL)

  • ✅ 아티클 (24시간 TTL)

캐시되지 않음:

  • ✅ 동적 검색

  • ✅ 사용자별 콘텐츠

  • ✅ API 엔드포인트

장점:

  • ✅ 낮은 지연 시간 (엣지 로케이션)

  • ✅ 원본 보호 (트래픽 흡수)

  • ✅ DDoS 완화

  • ✅ 비용 절감 (원본 요청 감소)

기능:

  • ✅ SSL/TLS 암호화

  • ✅ Gzip/Brotli 압축

  • ✅ 글로벌 가용성

이 CDN 전략은 성능, 신선도, 비용의 균형을 맞춥니다.


← 문서 인덱스로 돌아가기