Cloudflare R2냐 Amazon S3냐…전송량이 저장료보다 비싸지는 순간

|작성자: QUASA 편집팀|6 분 소요| 2
Cloudflare R2냐 Amazon S3냐…전송량이 저장료보다 비싸지는 순간

서울 리전 Amazon S3에서 한국 사용자에게 파일을 직접 보내는 서비스라면, 저장료보다 인터넷 송신료가 월 비용을 더 크게 좌우할 수 있다. Cloudflare의 R2 Standard 요금표는 저장량에 GB·월당 0.015달러, Class A 요청에 100만 건당 4.50달러, Class B 요청에 100만 건당 0.36달러를 적용하고 인터넷 송신료는 부과하지 않는다. 파일을 많이 배포할수록 R2가 S3 직접 송신보다 저렴해지기 쉬운 이유다.

다만 S3의 대안은 직접 송신만이 아니다. Amazon S3 요금 안내는 인터넷 송신의 계정 합산 월 첫 100GB를 무료로 두고, 같은 리전의 AWS 서비스나 CloudFront로 보내는 데이터에도 S3 송신료를 부과하지 않는다고 명시한다. CloudFront를 앞에 두면 사용자는 CDN에서 파일을 받고, 캐시에 없는 요청만 S3 원본에 도달한다. 따라서 R2 단독, S3 직접 송신, S3와 CloudFront 조합을 각각 계산해야 한다.

서울 리전에서 저장료를 넘는 송신량

비교 대상은 한 달 내내 같은 양을 보관하는 R2 Standard와 서울 리전 S3 Standard다. 서울 리전 S3 단가 정리는 S3 Standard의 첫 저장 구간을 GB·월당 0.025달러, PUT을 1000건당 0.0045달러, GET을 1만 건당 0.0035달러로 제시한다. 이 단가를 적용하면 500GB 저장료는 S3가 월 12.50달러다. R2는 Standard의 월 무료 저장량 10GB를 적용해 7.35달러가 된다.

AWS의 서울 리전 전송 요금 설명에 따르면 인터넷 직접 송신은 계정 합산 첫 100GB 이후 월 10TB 구간에서 GB당 0.126달러다. 다른 AWS 서비스가 무료 구간을 쓰지 않았다고 가정하면, S3에 500GB를 저장했을 때 송신료가 저장료 12.50달러를 넘는 지점은 월 송신량 약 199GB다. 이는 두 비용 항목의 경계다. PUT·GET 요청료를 합친 전체 청구액이 그 지점에서 갑자기 바뀐다는 뜻은 아니다.

‘서울’도 경로에 따라 가리키는 곳이 다르다. S3 저장료와 직접 송신료는 버킷이 있는 서울 리전을 기준으로 잡는다. CloudFront에서 사용자에게 보내는 데이터는 실제로 콘텐츠를 전달한 엣지의 지역별 요율이 적용된다. 한국 밖 사용자에게 전달한 양까지 모두 한국 요율로 계산하면 실제 금액과 달라질 수 있다.

500GB 저장·2TB 배포의 월 비용

다음은 동일한 사용량을 넣은 조건부 계산이다. 저장량은 한 달 내내 500GB, 사용자 대상 송신량은 월 2TB로 둔다. 이 계산에서는 1TB를 1000GB로 환산하므로 송신량은 2000GB다. 파일 쓰기 요청은 10만 건, 사용자 읽기 요청은 500만 건으로 가정한다. CloudFront 경로에서는 요청 수 기준 캐시 적중률을 80%로 두어 S3 원본 GET이 100만 건 발생한다고 본다. 세 수치는 실제 서비스의 측정 결과가 아니라 비교를 위한 입력값이다.

CloudFront 종량제 요금표는 매월 인터넷 송신 첫 1TB와 HTTP·HTTPS 요청 첫 1000만 건을 무료로 제공하며, 한국 엣지가 포함된 지역의 다음 전송 구간에 GB당 0.120달러를 적용한다. 이 계산은 해당 월에 무료 구간이 온전히 남아 있고 모든 뷰어 전송에 그 지역 요율이 적용된다고 가정한다. 사용자 요청 500만 건은 CloudFront 무료 요청 구간 안에 있으며, S3에서 CloudFront로 가져오는 데이터에는 S3 인터넷 송신료를 더하지 않는다.

  • R2 단독: 월 7.35달러. 저장료는 무료 구간을 뺀 490GB에 0.015달러를 곱한 값이다. 가정한 쓰기 10만 건과 읽기 500만 건은 각각 R2 Standard의 월 무료 Class A 100만 건, Class B 1000만 건 이내다. 인터넷 송신료는 0달러다.
  • S3 직접 송신: 월 254.10달러. 저장료 12.50달러, PUT 0.45달러, GET 1.75달러에 인터넷 송신료 239.40달러를 더했다. 송신료는 무료 100GB를 제외한 1900GB에 0.126달러를 곱했다.
  • S3와 CloudFront 종량제: 월 133.30달러. S3 저장료 12.50달러, PUT 0.45달러, 캐시 미적중으로 발생한 S3 GET 0.35달러, CloudFront 뷰어 송신료 120달러의 합계다. 뷰어 송신료는 무료 1000GB를 제외한 1000GB에 0.120달러를 곱했다.

이 조건에서 S3 직접 송신과 R2의 차이는 월 246.75달러다. CloudFront를 붙이면 S3 조합과 R2의 차이는 125.95달러로 줄어든다. S3 직접 송신에서는 저장료 12.50달러보다 송신료 239.40달러가 훨씬 크다. 반면 CDN 경로는 캐시가 S3 GET 수를 줄여도 사용자에게 실제로 전달한 CloudFront 바이트에 대한 요금은 남는다.

배포량과 저장량을 바꾸면

저장량 500GB, 요청 수와 캐시 적중률을 그대로 두고 송신량만 월 500GB로 낮추면 R2는 7.35달러, S3 직접 송신은 65.10달러, S3와 CloudFront는 13.30달러다. CloudFront 뷰어 송신이 가정한 무료 구간 안에 들어오므로 이 경로에는 S3 저장료와 PUT·원본 GET 요금만 남는다. R2가 여전히 가장 저렴하지만 S3와 CloudFront의 차이는 월 5.95달러로 좁아진다.

반대로 저장량과 송신량을 모두 월 2TB, 즉 각각 2000GB로 두면 R2는 29.85달러, S3 직접 송신은 291.60달러, S3와 CloudFront는 170.80달러다. 요청 수와 캐시 적중률은 앞의 예시와 같다. 저장량 증가분은 세 경로에 모두 반영되지만, 직접 송신과 CDN 송신의 과금 방식 때문에 비용 차이는 계속 크다. 이 수치들은 같은 사용량을 넣어 계산한 값이며 실제 청구서의 할인이나 추가 기능 비용은 포함하지 않는다.

저장료와 송신료가 같아지는 지점도 옮겨간다. S3 저장량이 2000GB라면 저장료는 50달러이고, 무료 100GB가 남은 직접 송신 경로에서는 월 약 497GB를 보낼 때 인터넷 송신료가 그 금액에 닿는다. CloudFront 종량제 경로에서는 무료 1000GB가 남았다는 같은 가정 아래 월 약 1417GB를 전달할 때 뷰어 송신료가 50달러에 이른다. 캐시 적중률은 이 두 뷰어 송신량의 경계를 바꾸지 않는다. 사용자가 받은 총 바이트는 캐시에서 보냈든 원본에서 가져왔든 동일하기 때문이다.

요청 수와 캐시가 바꾸는 비용

앞의 예시에서 CloudFront 캐시 적중률 80%는 사용자 읽기 500만 건 가운데 S3 원본 GET을 100만 건으로 줄인다. 원본 GET 요금 차이는 월 1.40달러다. 원본 요청 수에는 차이가 나지만, CloudFront가 사용자에게 보낸 2000GB 자체는 줄지 않는다. 따라서 캐시 적중률을 뷰어 송신량에 곱해 CDN 전송료까지 할인하는 계산은 맞지 않는다.

요청 수 기준 적중률만으로 원본에서 실제로 읽은 바이트 수를 알 수도 없다. 큰 파일에 캐시 미적중이 몰리면 적은 원본 GET으로도 많은 데이터를 다시 가져올 수 있다. 반대로 작은 파일의 반복 요청이 주로 캐시에서 처리되면 GET 수의 절감은 커도 원본 바이트 절감은 작을 수 있다. 월 비용을 비교할 때 사용자 대상 전송량, 뷰어 요청 수, 원본 GET 수를 별도의 값으로 두는 이유다.

R2도 모든 읽기가 무료인 구조는 아니다. Standard의 월 무료 Class B 요청 구간을 넘으면 GET과 HEAD 같은 읽기 요청에 요금이 붙는다. 작은 파일을 자주 요청하는 서비스라면 송신량보다 요청 수가 R2 비용을 움직일 수 있다. R2의 Infrequent Access는 별도 저장·요청 단가와 데이터 조회료가 적용되므로, 여기서 계산한 Standard 금액을 그대로 대입할 수 없다.

AWS 안에서 읽는 파일이라면

파일을 주로 같은 서울 리전의 AWS 애플리케이션이 읽는다면 한국 사용자에게 직접 배포하는 예시의 인터넷 송신료를 그대로 적용할 수 없다. S3에서 같은 리전의 AWS 서비스로 보내는 데이터와 CloudFront 원본으로 보내는 데이터에는 앞서 설명한 S3 전송료 예외가 적용된다. 이 경우 저장량과 요청 수, 애플리케이션에서 최종 사용자까지 이어지는 경로가 선택을 가른다.

경로에 추가 서비스가 있으면 그 서비스의 요금도 별도로 생길 수 있다. 예를 들어 NAT Gateway나 유료 엔드포인트를 거치는 설계에는 데이터 처리 요금이 더해질 수 있다. CloudFront에도 여기서 계산한 종량제 외에 정액 요금제가 있으므로, 실제 도입 비용은 선택한 요금제와 포함 기능에 따라 달라진다. 위 비교는 공개 종량제 단가와 명시한 무료 구간을 적용한 추정치이며 세금, 별도 계약, 보안·로그·컴퓨팅 기능의 추가 비용은 제외했다.

대용량 파일을 인터넷 사용자에게 반복 배포하는 것이 주된 용도라면 R2의 송신료 면제가 강한 가격 요인이다. AWS 서비스가 같은 리전에서 파일을 소비하거나 CloudFront 배포를 이미 운영한다면 S3 직접 송신액보다 실제 S3와 CDN 경로의 합계를 비교하는 편이 적절하다. 저장 GB, 읽기·쓰기 요청 수, 계정에서 이미 사용한 무료 전송량과 뷰어에게 전달한 지역별 GB가 그 차이를 결정한다.

함께 읽기:

공유:

뉴스레터 구독

최신 Web3, AI, 암호화폐 뉴스를 이메일로 받아보세요.

0