클라우드 파일 스토리지 비교: Vercel Blob vs S3 vs Cloudflare R2




들어가며

웹 서비스를 개발하다 보면 이미지, 문서, HTML 파일 등을 저장할 스토리지가 필요합니다. 예전에는 AWS S3가 거의 유일한 선택지였지만, 이제는 다양한 옵션이 있습니다.

이 글에서는 Vercel Blob, AWS S3, Cloudflare R2를 비교하고, 어떤 상황에서 어떤 서비스를 선택하면 좋을지 정리해보겠습니다.


서비스 개요

Vercel Blob

Vercel에서 제공하는 파일 스토리지 서비스입니다. Next.js와의 연동이 매우 쉽고, Vercel 프로젝트에 자동으로 환경 변수가 설정됩니다.

AWS S3

클라우드 스토리지의 사실상 표준입니다. 가장 오래되었고, 가장 많은 기능을 제공합니다. 다른 스토리지 서비스들도 대부분 S3 호환 API를 제공할 정도입니다.

Cloudflare R2

Cloudflare에서 제공하는 S3 호환 스토리지입니다. 가장 큰 특징은 데이터 전송 비용(Egress)이 무료라는 점입니다.


비교 표

항목Vercel BlobAWS S3Cloudflare R2
스토리지 비용$0.023/GB/월$0.023/GB/월$0.015/GB/월
데이터 전송$0.05/GB$0.09/GB무료
요청 비용포함$0.0004/1000건$0.36/100만건
무료 티어Hobby 플랜 내 포함5GB/12개월10GB 영구 무료
S3 호환
글로벌 CDN✅ 자동CloudFront 별도✅ 자동
설정 난이도매우 쉬움복잡함보통

각 서비스의 장단점

Vercel Blob

장점

  • Vercel + Next.js 환경에서 설정이 가장 간단
  • 대시보드에서 파일 관리 가능
  • 글로벌 CDN 자동 적용
  • SDK가 직관적

단점

  • Vercel 생태계에 종속
  • S3 호환 API 미지원 (마이그레이션 시 코드 수정 필요)
  • 다른 서비스 대비 기능이 제한적

적합한 경우

  • Vercel에 배포된 Next.js 프로젝트
  • 빠른 구축이 필요한 경우
  • 파일 수가 많지 않은 소규모 프로젝트

AWS S3

장점

  • 가장 성숙한 서비스, 안정성 검증됨
  • 풍부한 기능 (버저닝, 수명주기 정책, 이벤트 트리거 등)
  • 다른 AWS 서비스와 연동 용이
  • 거의 모든 언어/프레임워크에서 SDK 지원

단점

  • 설정이 복잡 (IAM, 버킷 정책, CORS 등)
  • CDN은 CloudFront를 별도로 설정해야 함
  • 데이터 전송 비용이 비쌈

적합한 경우

  • 대규모 서비스
  • AWS 생태계를 이미 사용 중인 경우
  • 복잡한 파일 관리 정책이 필요한 경우

Cloudflare R2

장점

  • 데이터 전송 비용 무료 (대용량 파일 서빙에 유리)
  • S3 호환 API (기존 코드 재사용 가능)
  • Cloudflare CDN 자동 연동
  • 스토리지 비용도 저렴

단점

  • S3 대비 기능이 제한적
  • Cloudflare 생태계 학습 필요
  • 일부 S3 기능 미지원

적합한 경우

  • 이미지/동영상 등 대용량 파일 서빙
  • 데이터 전송량이 많은 서비스
  • 비용 최적화가 중요한 경우

가격 시뮬레이션

시나리오: 10GB 저장, 월 100GB 전송

서비스스토리지전송합계
Vercel Blob$0.23$5.00$5.23
AWS S3$0.23$9.00$9.23
Cloudflare R2$0.15$0.00$0.15

데이터 전송이 많다면 R2가 압도적으로 저렴합니다.

시나리오: 1GB 저장, 월 5GB 전송 (소규모)

서비스스토리지전송합계
Vercel Blob무료 티어무료 티어$0
AWS S3$0.02$0.45$0.47
Cloudflare R2무료 티어$0.00$0

소규모라면 Vercel Blob이나 R2 모두 무료로 사용 가능합니다.


선택 가이드

Vercel + Next.js 사용? 
├── Yes → 소규모/빠른 구축 → Vercel Blob ✅
│         대용량 전송 필요 → Cloudflare R2
└── No → AWS 생태계 사용 중? 
          ├── Yes → AWS S3
          └── No → 비용 중요 → Cloudflare R2 ✅
                   기능 중요 → AWS S3

마치며

저는 현재 Vercel Blob을 사용하고 있습니다. Next.js 프로젝트에서 설정이 너무 간단하고, 소규모 프로젝트에서는 무료 티어로 충분하기 때문입니다.

다만 파일 수가 많아지거나 데이터 전송량이 늘어나면 Cloudflare R2로 마이그레이션을 고려할 예정입니다. R2는 S3 호환 API를 제공하기 때문에 전환도 비교적 수월합니다.

여러분의 상황에 맞는 스토리지를 선택하시길 바랍니다!


참고 링크




댓글 남기기