Cloud Cost Sense
GCP Cloud CDN 비용: 캐시 전송, fill, 요청 계산
캐시 데이터 전송, cache fill, lookup 요청, load balancing, origin 트래픽, cache hit ratio로 Google Cloud CDN 비용을 추정합니다.
Cloud CDN 청구 항목을 트래픽 경로별로 나누세요
Cache hit에는 사용자에게 전달되는 cache data transfer와 cache lookup 요청을 계산합니다. Cache miss에는 origin에서 가져오는 cache fill과 적용되는 Cloud Load Balancing 처리 또는 Cloud Storage 작업 요금을 더하세요. 캐시할 수 없는 응답은 origin 서비스의 일반 data transfer 경로를 사용할 수 있으므로 모든 byte에 하나의 CDN 단가를 적용하면 안 됩니다.
Cache data transfer 가격은 목적지와 월 사용량에 따라 달라지므로 사용자 지역을 기록하세요. Cache fill도 같은 지역권 내부와 지역 간 경로의 가격이 다를 수 있어 origin과 edge 위치를 함께 확인해야 합니다. 공식 가격표와 사용량을 맞출 때는 decimal GB가 아니라 GiB를 사용하세요.
Hit, miss, 요청량을 따로 추정하세요
월 GET·HEAD 요청 수, 평균 응답 크기, 실측하거나 보수적으로 잡은 cache hit ratio에서 시작합니다. 전송 GiB를 hit와 miss로 나눈 뒤 cache lookup 요청, cache data transfer, cache fill을 각각 계산하세요. 청구 byte와 대조할 때는 response body뿐 아니라 header도 포함합니다.
Query string, host, protocol, header, cookie가 서로 다른 객체를 만들면 cache key가 분산될 수 있습니다. 짧은 TTL, 잦은 invalidation, 개인화 응답, 많은 cold object에 흩어진 트래픽도 hit ratio를 낮춥니다. 사이트 전체가 인기 정적 콘텐츠처럼 동작한다고 가정하지 말고 일반 시나리오와 낮은 hit 시나리오를 비교하세요.
개인 콘텐츠를 캐시하지 않으면서 효율을 높이세요
캐시 가능한 응답의 header와 TTL을 명확히 설정하고 적절한 asset을 압축하세요. 응답이 해당 값에 따라 달라지지 않는 경우에만 불필요한 cache-key 요소를 제외합니다. Hit ratio를 높이려고 private 또는 사용자별 응답을 공유 cache에 강제로 저장하면 다른 사용자에게 콘텐츠가 노출될 수 있습니다.
출시 후 cache hit ratio, 전송 byte, origin byte, 요청 수, 응답 크기, invalidation을 추적하세요. 계산기에 애플리케이션 요청과 다운로드양을 입력한 뒤 공식 최신 가격표의 CDN, load balancer, origin 전용 요금을 더합니다. 사용자 지역, asset 구성, cache 정책, 트래픽 규모가 바뀌면 다시 계산하세요.