Cloudflare Workers のコードを特定の地理的リージョン内でのみ実行するには、Workers のカスタムドメインで Regional Services を設定します。これにより、TLS 終端(トラフィックの復号)とコード実行が行われる場所が制限されます。
Cloudflare で プロキシ されている(トラフィックがオリジンサーバーへ直接ではなく Cloudflare 経由になる)ホスト名に Regional Services を設定し、Workers プロジェクトの処理がリージョン内でのみ行われるようにする手順は次のとおりです。
-
Cloudflare ダッシュボードで Workers & Pages ページを開きます。
Workers & Pages を開く ↗ -
Workers プロジェクトを選択します。
-
カスタムドメインを作成する 手順に従います。
-
設定した Workers Custom Domain に対して API POST コマンドを実行し、特定リージョンの
regional_hostnamesを作成します。
Regional Services が適用されるのは、Workers プロジェクトに設定したカスタムドメインだけです。そのため、リージョン内の Cloudflare ロケーションでのみ実行されます。
Regional Services が制限するのは、Workers の実行場所(リクエストの処理場所)です。ただし、Workers のコードとシークレットは、すべての Cloudflare データセンターへグローバルにデプロイされます。Regional Services は、コード自体が設定リージョン外に存在することを防ぎません。リージョン化されるのは実行だけです。
別のゾーンやドメインからリージョン化したホスト名へ到達するリクエストは、送信元ゾーンに関係なく、そのホスト名の Regional Services 設定に従ってリージョン化されます。Regional Services は、Workers からほかのサービスへの送信 サブリクエスト には及びません。詳細は 制限 を参照してください。
Regional Services は、Queues や Cron Triggers など、ほかの Worker トリガーには適用されません。
Customer Metadata Boundary は、設定したカスタムドメインと、*.workers.dev サブドメインに適用されます。
Customer Metadata Boundary を使うと、米国リージョン外では Workers の Metrics and Analytics を利用できません。
Customer Metadata Boundary を EU に設定すると、ゾーンダッシュボードの Workers & Pages > Workers > Metrics タブにはデータが表示されません。
詳細は Workers のドキュメント を参照してください。