약 5분

Cloudflare R2에 파일을 업로드하고 링크를 공유하는 방법

Cloudflare R2는 Aktar와 궁합이 아주 좋습니다. 송신(egress) 요금이 없고, 스크린샷 용도라면 대부분 무료 제공량으로 충분하며, 사용자 도메인이 Cloudflare 네트워크를 통해 제공됩니다. Aktar에는 R2 전용 프리셋이 있어서 계정 ID, API 토큰, 버킷만 있으면 됩니다.

준비물

  • R2가 활성화된 Cloudflare 계정
  • 내 도메인으로 링크를 만들고 싶다면 Cloudflare에 등록된 도메인(선택 사항)
  • Mac에 설치된 Aktar

단계별 안내

  1. 1

    버킷 만들기

    Cloudflare 대시보드에서 R2 Object Storage를 열고 Create bucket을 클릭합니다. screenshots처럼 짧은 이름을 고르고 위치는 자동으로 둡니다.

  2. 2

    버킷에 공개 주소 부여하기

    버킷의 Settings를 엽니다. Custom Domains에서 Cloudflare로 관리하는 도메인이나 하위 도메인(예: files.example.com)을 연결하세요. 실제로 쓰기에는 이 방법이 가장 좋습니다.

    빠르게 테스트만 하려면 대신 Public Development URL(pub-….r2.dev)을 활성화해도 됩니다. Cloudflare는 이 URL에 속도 제한을 두며 실제 서비스용으로는 권장하지 않습니다.

  3. 3

    API 토큰 만들기

    R2 개요 페이지로 돌아가 Manage API tokens를 열고, 해당 버킷으로 범위를 제한한 Object Read & Write 권한의 토큰을 만듭니다. Access Key ID와 Secret Access Key를 복사하세요. 비밀 키는 한 번만 표시됩니다.

    계정 ID는 같은 페이지에 표시되며, S3 엔드포인트 https://<ACCOUNT_ID>.r2.cloudflarestorage.com의 앞부분이기도 합니다.

  4. 4

    Aktar에 대상 추가하기

    Aktar의 설정 → 대상 → 대상 추가를 열고 Cloudflare R2를 고른 뒤 아래 표의 값을 입력합니다. 엔드포인트는 Aktar가 계정 ID로 만들어 줍니다.

  5. 5

    테스트하고 저장하기

    연결 테스트를 클릭하세요. Aktar가 아주 작은 테스트 파일을 업로드하고, 공개 주소로 접근할 수 있는지 확인한 다음 다시 삭제합니다. 모두 초록색이면 저장을 클릭하고 메뉴 막대 아이콘에 첫 파일을 놓아 보세요.

Aktar 설정 값

설정 → 대상 → 대상 추가에서 다음 값을 입력하세요. 항목 이름은 앱과 같습니다.

항목예시 값
제공업체Cloudflare R2
프로필 이름Personal원하는 이름을 쓰면 됩니다.
계정 ID3f9a71c0e2b8…R2 개요 페이지에 있습니다.
리전auto기본값 그대로 둡니다.
액세스 키 IDa1b2c3d4…R2 API 토큰에서 가져옵니다.
비밀 액세스 키••••••••macOS 키체인에 저장됩니다.
버킷screenshots
공개 기본 URLfiles.example.com사용자 도메인 또는 r2.dev URL.
객체 경로{year}/{month}/{uuid}.{ext}선택 사항. 파일 이름과 폴더 항목을 참고하세요.

팁

  • API 토큰은 Aktar가 쓰는 버킷 하나로만 범위를 제한하세요. 토큰이 유출되더라도 다른 것은 노출되지 않습니다.
  • 사용자 도메인은 Cloudflare가 캐시하므로, 많이 열리는 링크도 추가 비용 없이 전 세계에서 빠르게 열립니다.
  • 폴더를 깔끔하게 정리하고 싶다면 객체 경로를 shots/{date}/{filename}-{random}.{ext}처럼 바꿔 보세요. 파일 이름과 폴더를 참고하세요.
  • 1일에서 30일 뒤 저절로 삭제되는 업로드를 원하나요? Admin Read & Write 토큰이 있으면 Aktar가 버킷의 수명 주기 규칙을 대신 추가합니다. Object Read & Write 토큰이라면 버킷 Settings의 Object Lifecycle Rules에서 직접 추가하세요. 만료 업로드를 참고하세요.

문제 해결

링크를 열면 Access Denied나 403이 나와요

공개 기본 URL이 사용자 도메인이나 r2.dev URL인지 확인하세요. …r2.cloudflarestorage.com 엔드포인트는 API 전용이며 공개 파일을 제공하지 않습니다. 자세한 내용은 Access Denied 오류를 참고하세요.

연결 테스트에서 자격 증명이 유효하지 않다고 나와요

일반 Cloudflare API 토큰이나 Global API Key가 아니라 R2 API 토큰의 Access Key ID와 Secret Access Key를 쓰세요. 계정 ID에 불필요한 공백이 없는지도 확인하세요.

업로드는 되는데 링크가 느리거나 속도 제한이 걸려요

r2.dev 개발용 URL을 쓰고 있을 가능성이 높습니다. 실제 서비스용으로는 사용자 도메인을 연결하세요.

아직 해결되지 않았나요?FAQ를 살펴보거나 GitHub에서 물어보세요.