Skip to content

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

データの所在地

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

Durable Objects を管轄に制限する

管轄は、GDPRFedRAMP などの現地規制に準拠するため、特定の地域内でのみ実行しデータを保存する Durable Objects を作るために使います。

Worker は、管轄に制約された Durable Objects に、世界のどこからでもアクセスできます。管轄の制約が制御するのは、Durable Object 自体が実行されデータを永続化する場所だけです。Cloudflare がリクエストに応答する地域を制御するには、Regional Services の利用を検討してください。

Durable Objects は、管轄に制限した DurableObjectNamespace を作成することで、特定の管轄に制限できます。管轄に制限した名前空間内の ID では、すべての Durable Object ID メソッド が有効です。

const euSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("eu");
const euId = euSubnamespace.newUniqueId();
  • 同じ名前が、管轄ごとに異なる ID を表すことがあります。

    const euId1 = env.MY_DURABLE_OBJECT.idFromName("my-name");
    const euId2 = env.MY_DURABLE_OBJECT.jurisdiction("eu").idFromName("my-name");
    console.assert(!euId1.equal(euId2), "This should always be true");
  • DurableObjectNamespace の管轄と DurableObjectId の管轄が異なると、エラーになります。

  • DurableObjectNamespace に管轄が関連付けられていない場合は、エラーになりません。

  • 管轄に制限した名前空間内の ID では、すべての Durable Object ID メソッド が有効です。

    const euSubnamespace = env.MY_DURABLE_OBJECT.jurisdiction("eu");
    const euId = euSubnamespace.idFromName(name);
    const stub = env.MY_DURABLE_OBJECT.get(euId);

対応ロケーション

パラメーター 場所
eu 欧州連合
us 米国
fedramp FedRAMP-Moderate データセンター

Durable Object 内部から管轄を読み取る

Durable Object の管轄は、オブジェクト内部で ctx.id.jurisdiction から取得できます。この値は toString()idFromString() の往復でも保持され、2026-03-15 以降にスケジュールしたアラームの alarm ハンドラー 内でも使えます。Durable Object 内部でリージョンを意識したロジックを書くのに適しています。

location hint を指定する

Durable Objects は、ほかのステートフル API と同様、リクエストを Durable Object(または状態)があるデータセンターへ転送する必要があるため、応答レイテンシが増えることがよくあります。

Durable Objects は、作成後に場所を変更しません1。初期値では、Durable Object は最初の get() リクエストに近いデータセンターでインスタンス化されます。get() リクエストが出たデータセンターと同じとは限りませんが、多くの場合は近傍になります。

location hint は、最初の get() リクエストの送信元に関係なく、Durable Object を配置する場所を指定する仕組みです。

別の場所に Durable Objects を手動で作成するには、get() に任意の locationHint パラメーターを渡します。特定の Object に対する最初の get() 呼び出しだけが hint を尊重します。

let durableObjectStub = OBJECT_NAMESPACE.get(id, { locationHint: "enam" });

対応ロケーション

パラメーター 場所
wnam 北米西部
enam 北米東部
sam 南米 2
weur 西ヨーロッパ
eeur 東ヨーロッパ
apac アジア太平洋
apac-ne アジア太平洋北東部 3
apac-se アジア太平洋南東部 3
oc オセアニア
afr アフリカ 2
me 中東 2

1 既存の Durable Objects の動的再配置は、将来予定されています。

2 Durable Objects は現在、この場所では起動しません。代わりに、Durable Objects に対応する近傍の場所で起動します。たとえば、南米を hint した Durable Objects は、北米東部で起動します。

3 apac-ne(アジア太平洋北東部)と apac-se(アジア太平洋南東部)は、apac(アジア太平洋)内のより狭いサブリージョンです。アジア太平洋への一般的な配置には apac を使ってください。ユーザーが地域の北東または南東に集中しており、そのユーザー向けのレイテンシを最小化したい場合にのみ、apac-ne または apac-se を選んでください。

関連リソース

役に立ちましたか?