Skip to content

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

データの保存場所

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

R2 に保存したデータの場所がどう決まるかと、バケット内オブジェクトの物理的な保存場所を制御できる入力について説明します。

自動(推奨)

新しいバケットを作成すると、データの保存場所はデフォルトで自動になります。現在このオプションは、呼び出し元の位置にもとづき、バケット作成リクエストにいちばん近い利用可能なリージョンを選びます。

Location Hints

Location Hints は、バケット作成時に任意で渡せるパラメーターです。データへ主にアクセスすると見込まれる地理的な場所を示します。

バケット作成リクエストの発信元とは別の場所から、バケット内データへのアクセスの大半が来ると見込まれる場合、Location Hints はよい選択になります。Location Hints はベストエフォートであり保証ではありません。定期的に更新するコンテンツをユーザーの近くへ置く、パフォーマンス最適化の手段としてだけ使ってください。

Cloudflare ダッシュボードでヒントを設定する

自分の位置にもとづき、いちばん近い利用可能なリージョンへ自動でバケットを作成するか、一覧から特定の場所を選べます。

  1. Cloudflare ダッシュボードで R2 object storage ページを開きます。

    Overview を開く ↗
  2. Create bucket を選びます。

  3. バケット名を入力します。

  4. Location で、自動選択の場合は None のままにするか、一覧からリージョンを選びます。

  5. Create bucket を選び、バケット作成を完了します。

S3 API でヒントを設定する

S3 API の LocationConstraint パラメーターで Location Hint を設定できます。

await S3.send(
	new CreateBucketCommand({
		Bucket: "YOUR_BUCKET_NAME",
		CreateBucketConfiguration: {
			LocationConstraint: "WNAM",
		},
	}),
);

ほかの S3 SDK の例は を参照してください。

利用できるヒント

次のヒント場所をサポートしています。

ヒント ヒントの説明
wnam 北米西部
enam 北米東部
weur 西ヨーロッパ
eeur 東ヨーロッパ
apac アジア太平洋
oc オセアニア

その他の注意点

Location Hints が有効なのは、その名前のバケットを初めて作成したときだけです。同じ名前のバケットを削除して再作成しても、最初のバケットの場所が使われます。

管轄制限

管轄制限は、バケット内のオブジェクトが特定の管轄内に保存されることを保証します。

GDPRFedRAMP などの地域規制を含め、データ所在地の要件を満たすためにデータを特定の管轄内で保存・処理する必要がある場合は、管轄制限を使います。

Cloudflare ダッシュボードで管轄を設定する

  1. Cloudflare ダッシュボードで R2 object storage ページを開きます。

    Overview を開く ↗
  2. Create bucket を選びます。

  3. バケット名を入力します。

  4. LocationSpecify jurisdiction を選び、一覧から管轄を選びます。

  5. Create bucket を選び、バケット作成を完了します。

Workers から管轄を使う

管轄に属する R2 バケットへ Workers からアクセスするには、Wrangler の設定ファイルバインディング で、バケット名に加えて管轄も指定します。

{
	"r2_buckets": [
		{
			"binding": "MY_BUCKET",
			"bucket_name": "<YOUR_BUCKET_NAME>",
			"jurisdiction": "<JURISDICTION>"
		}
	]
}
[[r2_buckets]]
binding = "MY_BUCKET"
bucket_name = "<YOUR_BUCKET_NAME>"
jurisdiction = "<JURISDICTION>"

はじめに関する詳細は Workers から R2 を使う を参照してください。

S3 API で管轄を使う

管轄が定義された R2 リソースを S3 API や既存の S3 互換 SDK で操作する場合は、S3 エンドポイントに 管轄 を指定する必要があります。

https://<ACCOUNT_ID>.<JURISDICTION>.r2.cloudflarestorage.com

サポート対象の S3 API 操作 では、管轄専用エンドポイントを使えます。管轄エンドポイントを使うと、その管轄外の R2 リソースにはアクセスできません。

次の例は、JavaScript 向けの @aws-sdk/client-s3 パッケージで、eu 管轄に R2 バケットを作成する方法です。

import { S3Client, CreateBucketCommand } from "@aws-sdk/client-s3";
const S3 = new S3Client({
	endpoint: "https://<account_id>.eu.r2.cloudflarestorage.com",
	credentials: {
		accessKeyId: "<access_key_id>",
		secretAccessKey: "<access_key_secret>",
	},
	region: "auto",
});
await S3.send(
	new CreateBucketCommand({
		Bucket: "YOUR_BUCKET_NAME",
	}),
);

ほかの S3 SDK の例は を参照してください。

利用できる管轄

次の管轄をサポートしています。

管轄 管轄の説明
eu 欧州連合
fedramp FedRAMP
us アメリカ合衆国

制限事項

次のサービスは、管轄が割り当てられた R2 リソースと連携しません。

その他の注意点

R2 バケットを作成したあと、管轄は変更できません。

役に立ちましたか?