AWS CloudFront는 전 세계에 콘텐츠를 빠르게 전송할 수 있게 해주는 CDN 서비스입니다. 그러나 그 이점만큼이나 비용 분석과 최적화도 중요합니다. 특히, 요청 수와 전송량 기반의 과금 모델로 인해 무심코 지나치기 쉽습니다.
이번 글에서는 CloudFront의 비용을 효과적으로 분석하는 방법으로,
- 60일 이내 인기 객체 확인 방법과
- CloudFront 로그를 Athena 등으로 분석하는 방법을 소개합니다.
1. CloudFront 과금 구조 간단 정리
CloudFront는 크게 다음 요소에 대해 비용이 발생합니다:
항목 | 과금 기준 |
---|---|
요청 수(Requests) | HTTP/HTTPS 요청 수 |
데이터 전송량 | 지역 기반(예: 아시아, 북미 등) GB 단위 요금 |
로그 저장 및 분석 | S3 저장 요금, Athena 쿼리 요금 등 |
따라서 어떤 객체가 얼마나 자주 요청되는지를 파악하고, 불필요한 요청을 줄이거나 캐싱 전략을 개선하는 것이 핵심입니다.
2. 인기 객체(Hot Object) 분석 – 60일 이내
CloudFront 콘솔에서는 최근 60일 이내 인기 객체(Top objects) 정보를 제공합니다.
- 위치: CloudFront 배포 > 보고서 및 분석 > 인기 객체
- 제공 정보:
- 요청 수가 많은 URI 목록
- User-Agent 및 Referer 통계
- 시간대별 요청 분포
Tip: 인기 객체를 파악해 캐시 TTL을 조정하거나, 요청 수가 많은 정적 파일에 대해 이미지 최적화 등 리소스 축소를 적용하면 비용을 크게 줄일 수 있습니다.
3. 정밀 분석은 로그를 통해: CloudFront Access Logs + Athena
60일이 지나거나, 더 상세한 분석이 필요할 경우 Access 로그를 설정해 분석합니다.
✅ 로그 활성화 방법
- S3 버킷 생성
- CloudFront 배포에서 액세스 로그 활성화
- 로그 저장 위치 지정
✅ Athena 분석 절차
- 로그 저장 버킷에 대한 테이블 생성
- SQL을 통해 요청 수, 사용자 IP, User-Agent, URI 등 다양한 필드를 분석
- 예시 쿼리:
sql복사편집SELECT
uri,
count(*) as request_count
FROM cloudfront_logs
WHERE date BETWEEN DATE '2025-05-01' AND DATE '2025-06-01'
GROUP BY uri
ORDER BY request_count DESC
LIMIT 10;
🎯 분석 포인트
- 가장 많은 트래픽을 유발하는 리소스
- 지역별 트래픽 분포
- 봇/스크래퍼 탐지 (User-Agent 기반)
- 캐시 미스/히트율 개선 대상 식별
4. 비용 최적화를 위한 실천 팁
전략 | 기대 효과 |
---|---|
인기 객체 TTL 조정 | 캐시 히트율 증가 → 요청 수 감소 |
불필요한 객체 제외 설정 (e.g. robots.txt) | 무의미한 요청 제거 → 요청 비용 절감 |
로그 기반 분석으로 패턴 파악 | 비정상 요청, 과다한 특정 리소스 확인 |
마무리하며
CloudFront는 단순히 배포만 해서는 비용이 빠르게 불어날 수 있습니다.
인기 객체 분석으로 단기 비용 흐름을,
로그 분석으로 장기적 패턴을 파악해
체계적인 비용 최적화 전략을 세우는 것이 중요합니다.