1️⃣ R2_ACCOUNT_ID 찾는 방법
Cloudflare Dashboard 접속
좌측 하단 Account Home
오른쪽에 Account ID 표시됨
해당 값이 바로
R2_ACCOUNT_ID
2️⃣ R2_ACCESS_KEY_ID / R2_SECRET_ACCESS_KEY 생성 방법
R2는 S3 호환 API를 사용하므로 “R2 API Token”이 아니라
R2 전용 Access Key를 만들어야 합니다.
Cloudflare Dashboard
좌측 메뉴 → R2
상단 탭 → Manage R2 API Tokens (또는 API Tokens → R2)
Create Access Key
권한 선택
보통:
Object Read & Write
특정 버킷만 지정 가능
생성 후 표시되는 값:
Access Key ID → R2_ACCESS_KEY_ID
Secret Access Key → R2_SECRET_ACCESS_KEY
⚠️ Secret Key는 이때 한 번만 보여줍니다. 반드시 따로 저장하세요.
3️⃣ R2_BUCKET_NAME 찾는 방법
R2 → Buckets
이미 생성된 버킷 목록 확인
버킷 이름 그대로 사용
???? R2_BUCKET_NAME
(없으면 Create bucket으로 새로 생성)
4️⃣ R2_PUBLIC_DOMAIN 설정 방법
공개 접근 방식은 2가지가 있습니다.
✅ 방법 A: Cloudflare 제공 기본 도메인
버킷 상세 화면에서 확인 가능
https://<bucket-name>.<account-id>.r2.cloudflarestorage.com
이 경우:
R2_PUBLIC_DOMAIN=<bucket-name>.<account-id>.r2.cloudflarestorage.com
✅ 방법 B: Custom Domain (권장 / 실서비스용)
R2 → Buckets → 해당 버킷
Settings → Public access
Custom domain 추가
예: cdn.example.com
DNS 자동 연결됨
R2_PUBLIC_DOMAIN=cdn.example.com
Next.js, 이미지 서비스, 다운로드 링크에 가장 안정적입니다.
5️⃣ 최종 .env 예시
R2_ACCOUNT_ID=xxxxxxxxxxxxxxxx R2_ACCESS_KEY_ID=xxxxxxxxxxxxxxxx R2_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxx R2_BUCKET_NAME=my-bucket R2_PUBLIC_DOMAIN=cdn.example.com
참고 (Next.js / S3 SDK 사용 시)
Endpoint:
https://<ACCOUNT_ID>.r2.cloudflarestorage.com
Region:
auto














댓글 ( 0)
댓글 남기기