次の各節では、Regional Services と Customer Metadata Boundary を使って R2 Object Storage を設定し、オブジェクトリクエストの処理場所とログの保存場所を制御する方法を説明します。
Cloudflare 経由で プロキシ している(トラフィックが Cloudflare を経由する)ホスト名に Regional Services を設定し、R2 Bucket へのリクエスト処理がリージョン内だけで行われるようにするには、次の手順を実行します。
-
Cloudflare ダッシュボードで、R2 ページを開きます。
Overview を開く ↗ -
バケットを作成 する手順に従います。
-
バケットをカスタムドメインに接続 します。
-
設定したバケットのカスタムドメインに対して API POST コマンドを実行し、特定のリージョンで
regional_hostnamesを作成します。
Regional Services が適用されるのは、R2 Bucket に設定したカスタムドメインだけです。
次の手順では、S3 互換エンドポイントを使う Logpush ジョブを設定し、選んだ管轄区域の R2 バケットにログを保存します。
特定のバケット用トークンを生成する(推奨)
Cloudflare ダッシュボードの R2 セクションを開き、Manage R2 API Tokens を選んで、そのバケット専用のトークンを生成します。Authentication の手順に従えます。
すべてのバケット用トークンを生成する
Manage Account > Account API Tokens で API トークンを生成するか、ユーザー固有のトークンを作成できます。
- My Profile > API Tokens を開きます
- Create Token > Create Custom Token を選択します
- 権限として Account > Workers R2 Storage > Edit を選びます。
- トークンを確認するには、
curlコマンドをコピーしてターミナルに貼り付けます。
curl "https://api.cloudflare.com/client/v4/user/tokens/verify" \
--header "Authorization: Bearer <API_TOKEN>"結果:
{
"result": {
"id": "325xxxxcd",
"status": "active"
},
"success": true,
"errors": [],
"messages": [
{
"code": 10000,
"message": "This API Token is valid and active",
"type": null
}
]
}- トークンの SHA-256 ハッシュを生成します。
echo -n "<token>" | shasum -a 256このコマンドは dxxxx391b のようなハッシュを出力します。
- S3 互換エンドポイント を使って Logpush の送信先を設定し、次の欄を入力します。
- Bucket: 使いたい管轄区域で作成した R2 バケットの名前を入力します。
- Path(任意): 必要なら、ログを整理するフォルダーパスを指定できます。
- Endpoint URL:
<account-id>.eu.r2.cloudflarestorage.comの形式で、バケットの S3 API エンドポイントを指定します。バケット名は最初の欄で設定済みなので、含めないでください。 - Bucket Region: たとえば EU リージョンを指定するには
WEURを使います。 - Access Key ID: 先ほど作成した Token ID(
325xxxxcd)を入力します。 - Secret Access Key: トークンの SHA-256 ハッシュ(
dxxxx391b)を使います。
R2 バケットへ送るフィールドを選び、設定を完了します。
Customer Metadata Boundary を EU に設定すると、アカウントダッシュボードの R2 > Bucket > Metrics タブにデータが表示されます。
詳細は R2 のドキュメント を参照してください。