CloudFront 도입 비용과 절감 효과: 넣으면 싸지는 경우와 아닌 경우

5 분 소요

CloudFront는 성능 도구로 소개될 때가 많지만, 실무에서는 비용 도구이기도 합니다. 결론을 먼저 적으면, 오리진이 AWS 안에 있는 정적·캐시 가능 콘텐츠는 CloudFront를 붙이는 쪽이 거의 항상 싸고, 캐시가 안 되는 소형 API 응답만 나가는 워크로드는 요청 요금 때문에 오히려 비싸질 수 있습니다. 전송량 단가만 보면 차이가 작아 보이지만, 오리진에서 CloudFront로 가는 구간이 무료라는 점과 항시 무료 1TB가 계산을 크게 바꿉니다. 기본 배포 방법은 AWS 중급 #7 CloudFront에서 다뤘고, 이 글은 손익 계산에 집중합니다. 요금은 us-east-1 기준입니다.

한눈에 보는 비교 #

구간CloudFront 없이CloudFront 경유
서버 → 인터넷 전송약 $0.09/GB (첫 10TB)약 $0.085/GB (첫 10TB, 이후 구간 인하)
오리진 → CDN 전송해당 없음무료 (AWS 오리진 기준)
요청 요금없음 (전송량에 포함)HTTPS 1만 건당 약 $0.01
항시 무료월 100GB (전 서비스 합산)월 1TB + 요청 1,000만 건
캐시 적중 시 오리진 부하전부 오리진이 처리오리진 트래픽·부하 감소
HTTPS 인증서ALB + ACM 등 별도 구성기본 포함

단가 차이보다 구조 차이가 큽니다 #

GB당 $0.09와 $0.085의 차이는 5%대라 이것만으로는 도입 이유가 되지 않습니다. 손익을 실제로 가르는 요소는 세 가지입니다.

첫째, 오리진에서 CloudFront로 나가는 전송이 무료입니다. S3, EC2, ALB 같은 AWS 오리진에서 CloudFront 엣지로 가는 트래픽에는 전송 요금이 붙지 않습니다. 캐시 미스가 나서 오리진까지 다녀와도 과금은 CloudFront에서 인터넷으로 나가는 구간 한 번뿐입니다. 직접 전송의 $0.09/GB가 통째로 $0.085/GB로 바뀌는 구조입니다.

둘째, 항시 무료 구간이 다릅니다. 일반 인터넷 전송의 무료 구간은 월 100GB인데, CloudFront는 월 1TB 전송과 요청 1,000만 건이 기간 제한 없이 무료입니다. 월 전송량이 1TB 안쪽인 사이트라면 CloudFront를 붙이는 순간 전송 요금이 0이 됩니다. 직접 전송이라면 900GB에 대해 약 $81이 나가는 규모입니다.

셋째, 캐시 적중은 오리진 비용까지 줄입니다. 적중률이 90%라면 오리진이 처리하는 요청이 10분의 1이 되므로, EC2 인스턴스 크기나 대수를 줄일 여지가 생깁니다. 전송 요금 비교에는 안 잡히지만 실제 청구서에는 잡히는 항목입니다.

요청 요금이 본체가 되는 경우 #

CloudFront의 함정은 요청 요금입니다. HTTPS 요청 1만 건당 약 $0.01이라 크기가 작은 응답이 대량으로 나가는 워크로드에서는 이 항목이 전송 요금을 넘어섭니다.

계산해 보면 경계가 보입니다. 평균 응답 1MB짜리 이미지가 월 1,000만 건 나가면 전송 약 9.5TB에 약 $810, 요청 요금은 약 $10입니다. 요청 요금은 오차 범위입니다. 반대로 평균 2KB짜리 JSON이 월 10억 건 나가면 전송은 약 2TB에 $170 수준인데 요청 요금이 약 $1,000으로 본체가 됩니다. 게다가 캐시가 안 되는 API 응답이라면 적중률 이득도 없으므로, 직접 전송 대비 순수하게 요청 요금만큼 손해입니다.

이 경우에도 CloudFront가 무의미하지는 않습니다. 엣지에서 TLS를 끊고 오리진과의 연결을 재사용하므로 원거리 사용자의 지연이 줄고, WAF를 엣지에 붙일 수 있습니다. 다만 그것은 성능과 보안에 내는 돈이지 절감이 아니므로, 도입 명분을 비용에서 찾으면 안 되는 영역입니다.

무효화와 잔가지 요금 #

  • 무효화(invalidation): 경로 1,000건까지는 월 무료, 초과분은 경로당 $0.005입니다. 배포마다 /* 한 건으로 무효화하면 사실상 무료지만, 파일 단위로 수천 건씩 지우는 파이프라인은 요금이 붙습니다. 파일명에 해시를 넣는 캐시 버스팅이 정석입니다.
  • 오리진이 AWS 밖일 때: 온프레미스나 타사 클라우드 오리진이면 오리진 쪽 회선 비용은 그쪽 요금표를 따릅니다. CloudFront의 오리진 전송 무료는 AWS 오리진 이야기입니다.
  • 리전별 단가 차이: 위 숫자는 북미·유럽 엣지 기준입니다. 아시아·남미 엣지는 단가가 더 높으므로, 해외 트래픽 비중이 크면 가격 클래스(Price Class)로 비싼 엣지를 제외하는 선택지가 있습니다.

도입 판단 순서 #

  1. 월 전송량부터 봅니다: 1TB 이하면 계산할 것도 없이 CloudFront가 이득입니다. 항시 무료 구간 안이라 전송 요금이 0이 됩니다.
  2. 콘텐츠가 캐시 가능한지 봅니다: 정적 파일, 이미지, 영상, 버전이 박힌 자산이면 도입 확정입니다. 전송 단가 인하, 오리진 전송 무료, 오리진 부하 감소가 전부 잡힙니다.
  3. 응답 크기와 요청 수를 봅니다: 평균 응답이 수 KB이고 월 요청이 억 단위면 요청 요금을 먼저 계산합니다. 전송 절감분보다 크면 비용 명분은 없습니다.
  4. 캐시 불가 트래픽은 성능·보안 명분으로 분리합니다: 동적 API에 붙이는 CloudFront는 절감이 아니라 지연 단축과 WAF 통합에 내는 돈으로 계산합니다.
  5. 적중률을 배포 후 확인합니다: CloudFront 리포트의 캐시 적중률이 낮으면 Cache-Control 헤더와 캐시 키 설정(불필요한 쿼리 스트링, 쿠키 포함 여부)부터 점검합니다. 적중률이 낮은 CloudFront는 요금만 이중으로 내는 구성입니다.

정리 #

  • 오리진이 AWS 안에 있으면 오리진에서 CloudFront로 가는 전송이 무료라, 캐시 가능 콘텐츠는 CloudFront 경유가 직접 전송보다 거의 항상 쌉니다.
  • 항시 무료 1TB가 커서 월 전송량 1TB 이하 사이트는 전송 요금이 0으로 떨어집니다. 직접 전송의 무료 구간은 월 100GB뿐입니다.
  • 소형 응답 대량 트래픽은 HTTPS 1만 건당 약 $0.01의 요청 요금이 본체가 됩니다. 캐시 불가 API라면 비용으로는 손해이고, 성능과 보안 명분으로만 판단합니다.
  • 무효화는 경로 단위 과금이므로 파일명 해시로 우회하고, 적중률이 낮으면 캐시 키 설정부터 점검합니다.
  • 전체 전송 요금 구조는 다음 글의 과금 지점 총정리에서 이어서 다룹니다. 요금이 갑자기 늘었다면 원인 10가지부터 확인합니다.
X