約5分

Cloudflare R2にファイルをアップロードしてリンクで共有する方法

Cloudflare R2はAktarと相性抜群です。転送量(egress)の料金がかからず、無料枠は10 GBまで、独自ドメインはCloudflareのネットワーク経由で配信されます。ダッシュボードからアカウントID、バケット名、2つのキーをコピーする必要はありません。Cloudflare R2 を設定…に必要なのは、権限があらかじめ入力されたリンクから作るAPIトークン1つだけで、残りはAktarが行います。すべて手動で設定したい場合は、最後の手順をご覧ください。

必要なもの

  • Cloudflareアカウント(R2の無料枠は10 GBまで)
  • リンクに自分のドメインを使う場合は、Cloudflareで管理しているドメイン(任意)
  • Mac、Windows、iPhone、iPad、Android版のAktar

設定手順

  1. 1

    「Cloudflare R2 を設定」を開く

    Aktarの設定でアップロード先を開き、Cloudflare R2 を設定…を選びます。アップロード先がまだない場合は、これがメインのボタンです。続けてCloudflare を開くをクリックします。

  2. 2

    APIトークンを作成する

    Cloudflareのトークンページが開き、名前Aktarと2つの権限があらかじめ選ばれています。バケットを作成してアップロードするためのR2 Storage: Editと、公開リンク用にドメインを一覧表示するためのZone: Readです。Continue to summary、Create Tokenの順に選び、トークンをコピーします。

  3. 3

    貼り付けて選ぶ

    トークンをAktarに貼り付けます。アカウントが複数ある場合はアカウントを選び、次にバケットを選びます。新しいバケット(Aktarはaktarを提案します)か、既存のバケットです。最後に、公開リンクの向け先を選びます。

    • バケットのr2.devアドレスはすぐに使えます。Cloudflareのレート制限がかかるため、試しに使うのに向いています。
    • Cloudflareアカウント上のドメインのサブドメイン(files.example.comなど)は、実際に使うための選択肢です。CloudflareがDNSレコードと証明書を追加するまで数分かかります。
  4. 4

    設定

    設定をクリックします。Aktarがバケットを作成し、公開リンクを有効にし、アップロード先を保存して、接続をテストを自動で実行します。独自ドメインでは、リンクはfiles.example.com/A7kdP2x.pngのようなすっきりしたパスになります(短縮リンクを参照)。完了を選ぶか、変更したい場合は編集を選び、最初のファイルをAktarにドロップしましょう。

  5. 5

    手動で設定したい場合

    1つのバケットに限定したR2トークンを使いたい場合は、CloudflareのダッシュボードでR2 Object Storageを開き、バケットを作成します。バケットのSettingsで、Custom Domainsから独自ドメインを接続するか、Public Development URLを有効にします。次にManage API tokensで、そのバケットに対するObject Read & Write権限のトークンを作成し、Access Key IDとSecret Access Keyをコピーします(シークレットは一度しか表示されません)。Aktarでアップロード先を追加、Cloudflare R2の順に選び、下の表の値を入力します。

Aktarでの設定

「設定 → アップロード先 → アップロード先を追加」で、次の値を入力します。項目名はアプリの表示と同じです。

項目入力例
プロバイダCloudflare R2
プロファイル名Personal好きな名前を付けられます。
アカウントID3f9a71c0e2b8…R2の概要ページに表示されています。
リージョンautoデフォルトのままにします。
アクセスキーIDa1b2c3d4…R2 APIトークンの値です。
シークレットアクセスキー••••••••キーチェーンまたは資格情報マネージャーに保存されます。
バケットscreenshots
公開ベースURLfiles.example.com独自ドメインまたはr2.devのURL。
オブジェクトパス{short}.{ext}任意。ファイル名とフォルダの項目を参照してください。

ヒント

  • Aktarはトークンを保存しません。トークンをS3キーに変換し(トークンのIDがアクセスキー、トークンの値のハッシュがシークレット)、ほかのアップロード先のキーと同じように保存して、トークンは破棄します。Aktarのアクセスを断ちたいときは、いつでもCloudflareでトークンを削除してください。
  • 独自ドメインはCloudflareにキャッシュされるので、よく見られるリンクも追加費用なしで世界中どこでも高速に表示されます。
  • 1台のデバイスで設定したら、別のデバイスに転送で、キーを含むアップロード先をほかのパソコンやスマートフォンに移せます。
  • 1日から30日後に自動で消えるアップロードを使いたい場合、キーがライフサイクルルールを管理できれば、Aktarがバケットのルールを追加します。「Cloudflare R2 を設定」で作ったキーやAdmin Read & Write権限のトークンなら可能です。Object Read & Write権限のトークンでは、バケットの Settings にある Object Lifecycle Rules で自分で追加してください。詳しくは自動削除されるアップロードをご覧ください。

トラブルシューティング

「設定」で公開リンクがまだ機能しないと表示される

独自ドメインを接続した直後は、CloudflareがまだDNSレコードと証明書を追加している最中です。数分待ってから、アップロード先のメニューで「接続をテスト」をもう一度実行してください。

「設定」でトークンのアカウントが見つからない

トークンがアカウントへのアクセスなしで作成されています。「Cloudflare を開く」からもう一度作成し、Account Resourcesでは提案されたアカウント(またはAll accounts)をそのままにしてください。

リンクを開くと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を使っている可能性があります。本番で使うなら独自ドメインを接続してください。

まだ解決しませんか?よくある質問を見るか、GitHubで質問してください。