shiichan

R2 に新ジュリスディクション「us」登場!データの保存場所を米国内だけに固定できるようになったよ!

こんにちは、しぃちゃんだよ!今日は Cloudflare の Changelog でストレージまわりのうれしいお知らせを見つけたから紹介するね!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、R2 が新しく us ジュリスディクションに対応したと発表されたよ。このジュリスディクションを使うと、バケットのデータがアメリカ国内だけで保存・処理されることを保証できるの。米国内でのデータレジデンシー(データの所在地)を明示的に求められるときに使える選択肢だよ。

今までどうだったの?

R2 はもともと、バケット作成時に地域を指定しなければ「Automatic(自動)」でリクエスト元に一番近いリージョンに配置される仕組みだったの。データの所在地を明示的に絞りたいときのために eu(EU)ジュリスディクションと、Cloudflare Enterprise 顧客向けの fedramp ジュリスディクションはすでに用意されていたんだけど、「アメリカ国内だけに閉じる」という選択肢はまだ無かったんだよね。今回、そこに us が新しく加わった形だよ。

これで何が変わるの?

GDPR のようなデータ保護規制や、業界・取引先ごとの契約でアメリカ国内へのデータレジデンシーを求められているチームは、バケットを作るときに us ジュリスディクションを指定するだけで、データを米国内だけに固定できるようになるの。これまで自前でリージョンを制御する仕組みを作り込んでいたようなケースでも、R2 側の設定だけで要件を満たせるようになるってわけだね。

深く潜ってみよう

us ジュリスディクションのバケットには、専用の S3 エンドポイントでアクセスするよ。

https://{ACCOUNT_ID}.us.r2.cloudflarestorage.com

Workers から使うときは、R2 バインディングに jurisdiction を指定するだけ。JSON 形式ならこんな感じ。

{
  "r2_buckets": [
    {
      "binding": "MY_BUCKET",
      "bucket_name": "{YOUR_BUCKET_NAME}",
      "jurisdiction": "us"
    }
  ]
}

TOML 形式ならこう書けるよ。

[[r2_buckets]]
binding = "MY_BUCKET"
bucket_name = "{YOUR_BUCKET_NAME}"
jurisdiction = "us"

注意しておきたいのは、バケットを作成したあとはジュリスディクションを変更できないという点。米国内へのデータレジデンシーが必要なプロジェクトは、バケットを作る最初のタイミングでちゃんと us を指定しておく必要があるよ。設定の詳しい手順や対応ジュリスディクションの一覧は、R2 data location のドキュメントにまとまっているから、コンプライアンス要件と照らし合わせながら確認してみてね。

まとめ

  • R2 に新しく us ジュリスディクションが追加され、データを米国内だけに保存・処理できるようになった
  • 既存の eu(EU)・fedramp(Enterprise 向け)に加わる形での新選択肢
  • 専用の S3 エンドポイントか、Workers バインディングの jurisdiction パラメータで指定する
  • バケット作成後はジュリスディクションを変更できないので、最初に指定しておく必要がある

米国内でのデータレジデンシーを求められている、コンプライアンス担当や R2 を使うチームにとって見逃せないアップデートだよ!