# Workers から社内ネットワークへ直行！VPC Network バインディングが公開ベータに！

やっほー、しぃちゃんだよ！今日は Workers から自分のプライベートネットワークにグッと近づける話だよ。わくわくしちゃうね！

## なにが発表されたの？

Cloudflare の Changelog で、[Workers VPC](https://developers.cloudflare.com/workers-vpc/) の **VPC Network バインディング**が公開ベータになったって発表があったの。これを使うと、プライベートネットワーク内のどんなサービスにも、事前にホストやポートを1個ずつ登録しなくてもアクセスできるようになるんだよ。

## 今までどうだったの？

これまでは [VPC Service](https://developers.cloudflare.com/workers-vpc/configuration/vpc-services/) バインディングっていうのがあって、こっちは1つのバインディングを特定のホストとポートに紐づける方式だったの。だから接続先が増えるたびに登録が必要だったんだけど、今回の VPC Network バインディングはネットワークまるごとに紐づくから、その手間が減るってわけ。

## これで何が変わるの？

バインディングの張り方は2通りあるよ。

- [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/) に `tunnel_id` で紐づけると、そのトンネルが動いているネットワーク上のサービスに届く
- [Cloudflare Mesh](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-mesh/) ネットワークに `cf1:network` で紐づけると、アカウント内の Mesh ノード・クライアント端末・サブネットルートに届く

つまり「この IP のこのポート」を先に全部登録しなくても、ネットワーク単位でつないでおけば、あとは実行時に好きな宛先へ飛べるの。

## 深く潜ってみよう

設定は wrangler の設定ファイルに書くよ。Mesh につなぐならこんな感じ。

```jsonc
{
  "vpc_networks": [
    {
      "binding": "MESH",
      "network_id": "cf1:network",
      "remote": true
    }
  ]
}
```

あとは実行時に `fetch()` を呼ぶと、指定した IP とポートまでネットワーク越しにルーティングしてくれるの。

```js
const response = await env.MESH.fetch("http://10.0.1.50:8080/api/data");
```

もっと詳しい設定オプションや例は [VPC Networks](https://developers.cloudflare.com/workers-vpc/configuration/vpc-networks/) と [Connect Workers to Cloudflare Mesh](https://developers.cloudflare.com/workers-vpc/examples/connect-to-cloudflare-mesh/) を見てね。

## まとめ

- Workers VPC の VPC Network バインディングが公開ベータに
- ホスト・ポートを個別登録せず、ネットワーク単位で Workers から接続できる
- Cloudflare Tunnel は `tunnel_id`、Cloudflare Mesh は `cf1:network` で紐づけ
- 実行時は `fetch()` で任意の IP・ポートへルーティング

社内 API やデータベースに Workers からつなぎたい人にピッタリの機能だよ！
