API 목록으로
☁️ 클라우드·스토리지무료

Cloudflare R2

Cloudflare · Cloudflare R2 Storage

인증 방식

🔑 API Key

요금

월 10GB·100만 작업 무료, 이후 GB당 $0.015

Base URL

[account].r2.cloudflarestorage.com

태그

스토리지, R2

서비스 소개

Cloudflare R2는 S3 호환 오브젝트 스토리지로, AWS S3와 달리 데이터 전송 비용(이그레스 비용)이 $0입니다. S3 SDK를 그대로 사용할 수 있어 마이그레이션이 쉽습니다. 월 10GB 무료, 클래스 A 작업 100만 건 무료를 제공합니다.

🚀 시작하기

  1. 1

    Cloudflare 계정 가입

    dash.cloudflare.com → 무료 계정 생성

  2. 2

    R2 버킷 생성

    R2 Object Storage → Create bucket → 이름 지정

  3. 3

    API 토큰 발급

    R2 → Manage R2 API tokens → Create API token → 버킷 권한 설정

  4. 4

    S3 SDK 연결

    AWS SDK를 그대로 사용, endpoint만 변경

💡 코드 예제

JavaScriptNode.js (S3 SDK 재사용)
import { S3Client, PutObjectCommand } from '@aws-sdk/client-s3'
import { getSignedUrl } from '@aws-sdk/s3-request-presigner'

// AWS S3와 동일한 SDK, endpoint만 변경!
const r2 = new S3Client({
  region: 'auto',
  endpoint: `https://${process.env.CLOUDFLARE_ACCOUNT_ID}.r2.cloudflarestorage.com`,
  credentials: {
    accessKeyId: process.env.R2_ACCESS_KEY_ID!,
    secretAccessKey: process.env.R2_SECRET_ACCESS_KEY!,
  },
})

// Presigned URL (AWS S3와 동일)
const url = await getSignedUrl(r2, new PutObjectCommand({
  Bucket: process.env.R2_BUCKET_NAME!,
  Key: 'images/photo.jpg',
  ContentType: 'image/jpeg',
}), { expiresIn: 300 })

// 퍼블릭 도메인 설정 후 접근
// https://[custom-domain]/images/photo.jpg

같은 카테고리 API