🔌

Cloudflare Workers VPCを活用してオリジン隠蔽化をしよう

に公開

はじめに

Cloudflareを導入すればドメインで返されるIPアドレスはCloudflareのものになります。

しかし、それだけではオリジンIPの完全な隠蔽とは言えません。
過去のDNS履歴データベース、DNS-onlyレコードからの推測など
攻撃者がオリジンIPを特定する手段は複数存在します。

IPが特定されれば、Cloudflareを迂回した直接攻撃が可能になり、
DDoS防御もWAFも意味をなさなくなります。

そこで、2025年に公開された「Workers VPC」を活用し、
パブリックIPを一切持たない——つまり、攻撃者が特定すべきIPアドレス自体が
存在しないアーキテクチャを構築する方法を解説します。
https://blog.cloudflare.com/workers-virtual-private-cloud/

Cloudflare Workers VPCとは?

Workers VPCは、Cloudflare WorkersからプライベートネットワークのAPIや
サービスに安全に接続するための機能です。

従来のCloudflare Tunnelが「プライベートなサービスをパブリックに公開する」
ためのものだったのに対し、Workers VPCは「プライベートなサービスを
プライベートなまま、Workerからのみアクセス可能にする」という
アプローチを取ります。

つまり、オリジンサーバーはインターネットに公開されず、
Cloudflare Worker経由でのみアクセスできる状態を作り出せます。
https://developers.cloudflare.com/workers-vpc/

Workers VPC + プライベートなNGINXでやってみる

Workers VPC Create Tunnel - cloudflaredを用意

Workers VPC - プライベートなリソースをTunnel経由で指定

Workers VPC +Binding

https://developers.cloudflare.com/workers-vpc/get-started/

wrangler.jsonc
"vpc_services": [
    {
        "binding": "VPC_SERVICE",
        "service_id": "019a56b5-a166-71c2-b0c9-xxxxxxxx",
        "remote": true
    }
]
src/index.ts
export default {
  async fetch(request, env) {
    const privateRequest = new Request("http://192.168.0.59/");
    const response = await env.VPC_SERVICE.fetch(privateRequest);

    return response;
  },
};
% npx wrangler@latest deploy

 ⛅️ wrangler 4.51.0
───────────────────
✔ Select an account › Demo Account
Total Upload: 0.29 KiB / gzip: 0.22 KiB
Your Worker has access to the following bindings:
Binding                                                     Resource         
env.VPC_SERVICE (019a56b5-a166-71c2-b0c9-xxxxxxx)      VPC Service      

Uploaded vpc-nginx (4.45 sec)
Deployed vpc-nginx triggers (1.14 sec)
  https://vpc-nginx.taka9034.workers.dev
Current Version ID: 44fb6bdc-6926-4d91-xxxxxxx

ブラウザから確認

まとめ

Workers VPCは、オリジン隠蔽の概念を「Public IPを持たない」へと進化させています。

従来のAuthenticated Origin PullsやCloudflare IP許可リストは、
オリジンIPが露出した場合の「防御策」でした。
一方、Workers VPCは露出するIPアドレス自体を排除する根本的解決です。

もちろん、すべてのユースケースにWorkers VPCが適しているわけではありません。
WebSocketの長時間接続や、大容量ファイルの配信など、
Workerを経由させることでオーバーヘッドが生じるケースもあります。

しかし、API駆動のアプリケーション、マイクロサービスアーキテクチャ、
内部ツールやダッシュボードなど、多くの開発プロジェクトにおいて
Workers VPCは最もセキュアなオリジン保護を提供します。

Cloudflare CDNでもTunnelやIPsecトンネルを使ったオリジン隠蔽化も可能ですが
より手軽にできるWorkers VPCを活用していただけます。

*2025/12/2 現在ベータ版として全Workersプランでご提供中です。

Discussion