約5分
Cloudflare R2でAktarを使う方法
Cloudflare R2はAktarと相性抜群です。転送量(egress)の料金がかからず、スクリーンショット用途ならほぼ無料枠に収まり、独自ドメインはCloudflareのネットワーク経由で配信されます。AktarにはR2専用のプリセットがあるので、必要なのはAccount ID、APIトークン、バケットだけです。
必要なもの
- R2を有効にしたCloudflareアカウント
- リンクに自分のドメインを使う場合は、Cloudflareで管理しているドメイン(任意)
- MacにインストールしたAktar
設定手順
- 1
バケットを作成する
CloudflareのダッシュボードでR2 Object Storageを開き、Create bucketをクリックします。
screenshotsのような短い名前を付け、ロケーションは自動のままにします。 - 2
バケットに公開アドレスを設定する
バケットのSettingsを開きます。Custom Domainsで、Cloudflareで管理しているドメインまたはサブドメイン(例:
files.example.com)を接続します。実際に使うならこれが最適です。ちょっと試すだけなら、代わりにPublic Development URL(
pub-….r2.dev)を有効にすることもできます。ただし、このURLにはCloudflareのレート制限がかかり、本番環境での利用は推奨されていません。 - 3
APIトークンを作成する
R2の概要ページに戻ってManage API tokensを開き、Object Read & Write権限を持ち、対象を自分のバケットに限定したトークンを作成します。Access Key IDとSecret Access Keyをコピーしてください。シークレットは一度しか表示されません。
Account IDは同じページに表示されています。これはS3エンドポイント
https://<ACCOUNT_ID>.r2.cloudflarestorage.comの先頭部分でもあります。 - 4
Aktarにアップロード先を追加する
AktarのSettings → Destinations → Add Destinationを開き、Cloudflare R2を選んで、下の表のとおりに入力します。エンドポイントはAccount IDからAktarが自動で設定します。
- 5
テストして保存する
「Test Connection」をクリックします。Aktarが小さなテストファイルをアップロードし、公開アドレスからアクセスできるか確認したうえで削除します。すべて問題なければ「Save」をクリックし、最初のファイルをメニューバーのアイコンにドロップしてみましょう。
Aktarでの設定
Settings → Destinations → Add Destinationで、次の値を入力します。項目名はアプリの表示と同じです。
| 項目 | 入力例 |
|---|---|
| Provider | Cloudflare R2 |
| Profile Name | Personal好きな名前を付けられます。 |
| Account ID | 3f9a71c0e2b8…R2の概要ページに表示されています。 |
| Region | autoデフォルトのままにします。 |
| Access Key ID | a1b2c3d4…R2 APIトークンの値です。 |
| Secret Access Key | ••••••••macOSのキーチェーンに保存されます。 |
| Bucket | screenshots |
| Public Base URL | files.example.com独自ドメインまたはr2.devのURL。 |
| Object Path | {year}/{month}/{uuid}.{ext}任意。ファイル名とフォルダの項目を参照してください。 |
ヒント
- APIトークンの対象は、Aktarで使うバケット1つだけに限定しましょう。万一トークンが漏れても、ほかのものは守られます。
- 独自ドメインはCloudflareにキャッシュされるので、よく見られるリンクも追加費用なしで世界中どこでも高速に表示されます。
- フォルダを整理したいなら、オブジェクトパスを
shots/{date}/{filename}-{random}.{ext}のように変更しましょう。詳しくはファイル名とフォルダをご覧ください。
トラブルシューティング
リンクを開くとAccess Deniedや403になる
Public Base URLが独自ドメインまたはr2.devのURLになっているか確認してください。…r2.cloudflarestorage.comのエンドポイントはAPI専用で、ファイルを公開配信することはありません。詳しくはAccess Deniedエラーをご覧ください。
Test Connectionで認証情報が無効と表示される
通常のCloudflare APIトークンやGlobal API Keyではなく、R2 APIトークンのAccess Key IDとSecret Access Keyを使ってください。Account IDに余計なスペースが入っていないかも確認しましょう。
アップロードはできるが、リンクの表示が遅い、またはレート制限される
r2.devの開発用URLを使っている可能性があります。本番で使うなら独自ドメインを接続してください。
まだ解決しませんか?よくある質問を見るか、GitHubで質問してください。