跳到主要內容
孤雲

Cloudflare R2

大約 10 分鐘,建立儲存桶與建立權杖都不收費,就能在 Cloudflare R2 上給孤雲準備好一個桶和一對金鑰(R2 最大的特點是對外網路流量不額外計費)。

R2 的「位置」不用你選(預設自動放置),端點裡還帶帳號 ID —— 這是它與其他服務商最大的不同;主控台若顯示簡體,按鈕名稱請按同義對照。

分步操作

  1. 第 1 步

    註冊並進入 R2

    • 打開 Cloudflare 主控台 註冊或登入;已有帳號就直接登入。
    • 在左側選「R2 物件儲存」(R2 object storage);第一次使用要先開通 R2,按頁面提示完成即可。
  2. 第 2 步

    建立儲存桶

    • 在 R2 概觀頁點「建立儲存桶」(Create bucket),填一個桶名:只能用小寫字母、數字與連字號,3–63 位。
    • 「位置」(Location)保持預設(畫面會寫 Automatic,並說明放在 Asia Pacific);下面的「Specify jurisdiction」不要動,Default Storage Class 也保持 Standard;公開存取預設關閉,保持關閉,然後點「建立儲存桶」。
  3. 第 3 步

    建立 API 權杖並取得金鑰

    • 打開 R2 裡的「API Tokens」(API 權杖)頁。權杖分兩種:Account API token 綁整個帳號(Cloudflare 標注 recommended),User API token 綁你的使用者、離開組織後會失效 —— 個人帳號兩者等價,任選一個,點對應的「Create Account API token」/「Create User API token」。
    • 權限選「Object Read & Write」,再把範圍限定到剛才那個桶;Access Key ID 與 Secret Access Key 只顯示一次,立刻存好。
  4. 第 4 步

    記下帳號 ID

    • 在同一頁的「帳號詳細資料」裡複製 Account ID(32 位十六進位);帳號首頁(Manage Account)也看得到。
    • 端點由它決定:https://<Account ID>.r2.cloudflarestorage.com。孤雲要額外填這一格:和騰訊雲 COS 的 APPID 一樣,R2 也比別的服務商多一項。
  5. 第 5 步

    回孤雲填四個值並測試

    • 孤雲「新增儲存」→ 服務商選 Cloudflare R2,依下面那張表填桶名、帳號 ID 與金鑰;Endpoint 已由 App 填好。
    • 再點「測試連線並儲存」。

給這個權杖選對權限

R2 不用寫策略 JSON:給 S3 用戶端授權靠 API 權杖。建立權杖時這樣選:

  • 權限(Permissions)選「Object Read & Write」—— 只能讀寫物件,不能建立桶、改桶設定。
  • 資源(Resources)裡只勾剛才那個桶:這樣這對金鑰只能碰這一個桶。
  • 建立後立刻複製 Access Key ID 與 Secret Access Key:Secret Access Key 只顯示一次。

R2 的 S3 API 沒有實作 PutBucketPolicy,所以這裡沒有策略 JSON 可貼 —— 授權就是上面這個權杖,這也是它與 AWS S3 最大的不同。

其他情況(用不到可以跳過)

主控台網址:https://dash.cloudflare.com/(直達 R2:https://dash.cloudflare.com/?to=/:account/r2/overview)。

別把 r2.dev 當端點

  • 桶設定裡可以開啟一個 r2.dev 公開網域,那是給瀏覽器公開存取用的,不是端點,孤雲不要填它。
  • 孤雲要填的是 S3 API 端點 https://<Account ID>.r2.cloudflarestorage.com:建立權杖後的確認頁與 R2 概觀頁都看得到。

費用

  • R2 有免費額度,涵蓋儲存與 A 類、B 類操作(僅標準儲存);實際額度以官網為準。
  • 對外網路流量不額外計費:從 R2 下載不產生流量費,超過免費額度也一樣 —— 這是 R2 最大的特點。
  • 其餘依用量計費;被拒絕的請求不收費。

抄下這四個值

它們要填進孤雲「新增儲存」頁對應的格子(R2 比別家多一格帳號 ID): 地點:R2 不用選(預設自動放置);端點由 App 依帳號 ID 自動填好、不用你填 —— 桶名、帳號 ID 與金鑰照上表填。(注意:主控台裡有兩個都像「S3 端點」的位址 —— 建立權杖後的確認頁「Use jurisdiction-specific endpoints → Default」那一行不帶桶名,正是這裡要的;桶的 Settings → S3 API 那一行結尾帶著 /你的桶名,那是桶級位址,別拿它填孤雲的 Endpoint。)

抄下這個值填進孤雲的哪一格
桶名
你剛才建立的桶名,例如 your-bucket-name。
桶名稱
帳號 ID
Account ID:R2 概觀頁「帳號詳細資料」裡那串 32 位十六進位,端點裡也用它。
Account ID
端點
https://<Account ID>.r2.cloudflarestorage.com,不帶桶名;這一格由 App 自動填好,無需改動。
Endpoint
金鑰
剛才那個 API 權杖的 Access Key ID 與 Secret Access Key。
Access Key ID 與 Secret Access Key

怎麼知道成了

  • 「測試連線並儲存」通過,說明這對金鑰能讀到這個桶;孤雲只讀根目錄,不會改動桶裡的東西。
  • 之後這條儲存就會出現在孤雲的儲存列表裡,可以開啟看桶裡的檔案。
  • 剛開通 R2 就點「測試連線」如果報 TLS / 安全連線類錯誤,等幾分鐘再試一次即可 —— 新帳號的 R2 端點需要一點時間就緒。
  • 連線報錯時,到常見錯誤對照排查。

回到孤雲,點「測試連線並儲存」。