Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Local Uploads

最終更新 Markdown で表示Agent セットアップ

バケットで Local Uploads を有効にすると、クライアントがバケットと別リージョンからデータをアップロードする場合のアップロード性能が向上します。Local Uploads はオブジェクトデータを近くの場所に書き、そのあとバケットへ非同期コピーします。データはすぐ利用でき、強い一貫性を保ちます。

仕組み

次の節では、Local Uploads の有無による R2 のアップロードリクエストの扱いを説明します。

Local Uploads なし

クライアントが R2 バケットへオブジェクトをアップロードすると、オブジェクトデータはクライアントからバケットのストレージ基盤まで移動する必要があります。クライアントがバケットと別リージョンにいると、レイテンシが高くなり、信頼性が下がることがあります。詳細は R2 の仕組み を参照してください。

Local Uploads あり

Local Uploads を有効にしたバケットへアップロードリクエスト(PutObjectUploadPart)を送ると、次の 2 つの場合があります。

  • クライアントとバケットが同じリージョン: R2 は通常のアップロードフローに従い、オブジェクトデータをクライアントからバケットのストレージ基盤へアップロードします。
  • クライアントとバケットが別リージョン: オブジェクトデータはクライアント近くのストレージに書き込まれ、そのあとバケットへ非同期レプリケートされます。オブジェクトはすぐにアクセスでき、処理中も耐久性を保ちます。
ローカルアップロード
クライアント北米東部
エッジ北米東部
R2 Gateway Worker
オブジェクトメタデータオブジェクトデータ
バケット東ヨーロッパ
メタデータサービス
オブジェクトデータ基盤
データはアップロード済みで利用できます

Local Uploads を使うとき

Local Uploads は、バケットの所在地と異なる地理的リージョンからのアップロードが多いワークロード向けです。次の場合に適しています。

  • ユーザーが世界中に分散している
  • アップロードの性能と信頼性がアプリケーションにとって重要
  • バケットのプライマリ所在地を変えずに書き込み性能を最適化したい

読み取りと書き込みリクエストの開始地点の地理分布を確認する手順は次のとおりです。

  1. Cloudflare ダッシュボードにログインし、R2 Overview に進みます。

    Overview を開く ↗
  2. バケットを選択します。

  3. Metrics を選択し、Request Distribution チャートを表示します。

読み取りレイテンシの注意

Local Uploads を有効にすると、アップロード済みデータはレプリケーション完了まで、一時的にクライアント近くに置かれることがあります。

書き込み直後の即時読み取りが必要なワークロードでは、読み取りリクエストの起点を考慮してください。アップローダーのリージョンからの読み取りは速い一方、バケットのリージョン近くからの読み取りは、レプリケーション完了までリージョン間レイテンシが発生することがあります。

管轄制限

Local Uploads は 管轄制限 のあるバケットでは使えません。バケットのリージョン外の場所を一時的に経由する必要があるためです。

Local Uploads を有効にする

Local Uploads を有効にしても、進行中のアップロードは想定どおり完了し、トラフィックは中断しません。

  1. Cloudflare ダッシュボードにログインし、R2 Overview に進みます。

    Overview を開く ↗
  2. バケットを選択します。

  3. Settings を選択します。

  4. Local UploadsEnable を選択します。

次のコマンドを実行します。

npx wrangler r2 bucket local-uploads enable <BUCKET_NAME>

Local Uploads を無効にする

Local Uploads はいつでも無効にできます。Local Uploads で行われた既存リクエストのレプリケーションは完了し、トラフィックは中断しません。

  1. Cloudflare ダッシュボードにログインし、R2 Overview に進みます。

    Overview を開く ↗
  2. バケットを選択します。

  3. Settings を選択します。

  4. Local UploadsDisable を選択します。

次のコマンドを実行します。

npx wrangler r2 bucket local-uploads disable <BUCKET_NAME>

料金

Local Uploads の有効化に 追加料金はありません。この機能を有効にしたアップロードリクエストは、無効時と同じ標準の Class A 操作料金 です。

役に立ちましたか?