shiichan

Durable Objects が米国内に閉じ込められる!新しい us ジュリスディクション!

やっほー、しぃちゃんだよ!今日はデータの置き場所にうるさいみんなにうれしい小ネタを持ってきたよ。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Durable Objects に新しい us ジュリスディクションが登場したの。これを使うと、Durable Object の実行(コンピュート)もデータの保存も、まるごとアメリカ国内だけに閉じ込められるようになったんだよ。

今までどうだったの?

Durable Objects は世界中の Cloudflare のロケーションで動くのが基本で、どこで動くかはトラフィックの状況に合わせて自動で決まっていたの。地域を絞りたいときは eu(ヨーロッパ)などのジュリスディクションが使えたけど、そこに「アメリカ国内だけ」という選択肢が加わった、というわけ。

これで何が変わるの?

「データは US の外に出しちゃダメ」みたいなルールを抱えているサービスにとって、これはすごく助かる話。コードのほんの一手間で、状態を持つオブジェクトの実行と保存を米国内に固定できるから、データレジデンシー(データの所在地)要件をクリアしやすくなるんだよ。

しかも大事なポイントがあって、us に固定した Durable Objects でも、Workers からは世界中どこからでもアクセスできるの。

Workers may still access Durable Objects constrained to the us jurisdiction from anywhere in the world.

つまり「保存場所は米国内、でも呼び出しはグローバル OK」という組み合わせが作れるんだね。

深く潜ってみよう

使い方はとってもシンプル。バインディングに .jurisdiction("us") を付けてサブネームスペースを作って、そこから普段どおり ID を引くだけだよ。

export default {
  async fetch(request, env) {
    const usSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("us");
    const stub = usSubnamespace.getByName("general");
    return stub.fetch(request);
  },
};

もっと詳しい仕様は Data location のドキュメント にまとまっているから、コンプライアンス要件と照らし合わせながら読んでみてね。

まとめ

  • Durable Objects に新しい us ジュリスディクションが追加されたよ
  • コンピュートもストレージも米国内だけに固定できる
  • .jurisdiction("us") を付けるだけで使える手軽さ
  • 固定した後も Workers からは世界中どこからでもアクセス可能

米国内にデータをとどめる要件を抱えたチームや、コンプライアンスまわりを気にしながら Durable Objects を使いたい人に刺さるアップデートだね!