Cloudflare R2 가입 & 설정 가이드

2026. 2. 5. 14:34·알쓸신잡

오늘은 쓰레드 자동화를 계획하던 도중, 쓰레드 글에 API를 이용하여 미디어(이미지, 동영상)을 첨부하기 위해서는 공개 접근 가능한 URL이 있어야 한다는 걸 알았다. 

그래서 스토리지를 알아보던 도중 Cloudflare R2가 10GB까지 무료라고 하길래 이참에 써보기로 했다.

추가로 Egress(데이터전송)이 무료라서 나중에 옮기기도 쉬울 것 같았다. 

Step 1: Cloudflare 계정 가입

  1. dash.cloudflare.com/sign-up 접속
  2. 이메일 + 비밀번호로 가입 (무료)
  3. 이메일 인증 완료

[!tip] 신용카드 등록이 필요할 수 있지만, 무료 범위 내에서는 과금되지 않습니다.


Step 2: R2 버킷 생성

  1. 대시보드 왼쪽 메뉴에서 R2 Object Storage 클릭
  2. Create bucket 클릭
  3. 버킷 이름 입력 (예: thread-media)
  4. 위치는 APAC 선택 (한국 가까운 리전)
  5. Create bucket 완료

 


Step 3: 퍼블릭 액세스 설정

Threads API가 파일을 가져가려면 공개 URL이 필요합니다.

  1. 생성된 버킷 → Settings 탭
  2. Public Development URL 활성화
  3. pub-xxxxx.r2.dev 형태의 공개 도메인이 생성됨

이후 업로드한 파일은 https://pub-xxxxx.r2.dev/파일명으로 접근 가능합니다.

 


Step 4: API 토큰 생성

Python에서 업로드하려면 API 키가 필요합니다.

  1. R2 Overview 페이지 → 우측 하단 Account Details의 Manage 클릭
  2. Create Account API token 클릭
  3. 설정:
    • Permission: Object Read & Write
    • Specify bucket: thread-media (생성한 버킷)
  4. Create API Token 클릭
  5. 표시되는 값 즉시 복사 (다시 볼 수 없음):
    • Access Key ID → R2_ACCESS_KEY_ID
    • Secret Access Key → R2_SECRET_ACCESS_KEY
    • Endpoint → 버킷 상세 페이지에서 확인 (https://<ACCOUNT_ID>.r2.cloudflarestorage.com)

[!warning] API 토큰은 생성 직후에만 확인 가능합니다. 반드시 즉시 복사해 두세요.

 


Step 5: .env에 추가

R2_ACCESS_KEY_ID=your_access_key
R2_SECRET_ACCESS_KEY=your_secret_key
R2_ENDPOINT=https://<ACCOUNT_ID>.r2.cloudflarestorage.com
R2_BUCKET_NAME=thread-media
R2_PUBLIC_URL=https://pub-xxxxx.r2.dev

Step 6: Python으로 업로드 테스트

패키지 설치:

uv add boto3

업로드 코드:

import boto3

s3 = boto3.client('s3',
    endpoint_url='https://<ACCOUNT_ID>.r2.cloudflarestorage.com',
    aws_access_key_id='your_access_key',
    aws_secret_access_key='your_secret_key',
)

# 업로드
s3.upload_file('video.mp4', 'thread-media', 'media/video.mp4')

# 공개 URL
print('https://pub-xxxxx.r2.dev/media/video.mp4')
728x90

'알쓸신잡' 카테고리의 다른 글

Claudian-옵시디언에서 Claude Code 사용하기  (0) 2026.02.04
Daggr - HuggingFace의 새로운 AI 워크플로우 도구  (0) 2026.02.02
Microsoft VibeVoice-ASR  (0) 2026.02.02
PaddleOCR-VL-1.5-초경량 OCR의 새로운 강자  (0) 2026.02.02
STAX - 구글이 내놓은 LLM 평가 플랫폼  (0) 2026.01.26
'알쓸신잡' 카테고리의 다른 글
  • Claudian-옵시디언에서 Claude Code 사용하기
  • Daggr - HuggingFace의 새로운 AI 워크플로우 도구
  • Microsoft VibeVoice-ASR
  • PaddleOCR-VL-1.5-초경량 OCR의 새로운 강자
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (481)
      • 알쓸신잡 (88)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home

    ✏️글쓰기
    💻 관리

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    파이썬
    이분탐색
    이것이취업을위한코딩테스트다
    이코테
    dp
    백준
    DFS
    나동빈
    BFS
    그리디
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상단으로

티스토리툴바