GCEからCloudflareへの外向き通信をスタンダードティアの無料枠に収める

GCEからCloudflareへの外向き通信をスタンダードティアの無料枠に収める

2025年11月26日

Cloudflareへの外向き通信は料金がかかる

CloudflareなどはCDN Interconnectプログラムに参加しているため、自動的にCDN Interconnectを通じて通信される。

CDN Interconnectの料金は通常のネットワーク料金よりコストが抑えられるが無料枠がないため、初めから費用が発生する。

ここで問題になるのは、スタンダードティアを利用している場合で、スタンダードティアには200GiBの無料枠があるが、CDN Interconnectを通じた通信にはこの無料枠が適用されず費用が発生してしまう。

Cloudflare Tunnelを使う場合も費用が発生する

ごく一般的なCDNと同じである、通常のプロキシモード(Cloudflareからオリジン向きに接続開始)では費用が発生しそうなのはなんとなくわかる。

では、Cloudflare Tunnelではどうだろうか。この場合、接続の向きが逆になる(オリジンからCloudflare向きに接続開始)し、IP範囲も異なる。

結論からいうと、Cloudflare Tunnelの場合でもCDN Interconnectを経由するため、費用が発生する。

IP範囲や接続開始方向ではなく、ルーティングの際にCDN Interconnectの使用を決定しているようだ。

対策

CDN Interconnectは自動で使用され無効化することができない。

スタンダードティアの無料枠内に収めたければ、何らかの方法でCDN Interconnectを使用されないルートに変更してやる必要がある。

だが、ルート変更するためにお金はかけたくない。ルート変更にお金をかければ本末転倒である。

とりあえず、CDN Interconnectプログラムに参加しているプロバイダーを眺めてみる。

2025/11/23現在、Akamai, Cloudflare, Fastlyの3つのようだ。そのとき私は気づいてしまった。CDN77 (DataCamp)がリストに乗っていないことに。

CDN77 (DataCamp)はProtonVPNのサーバでよく利用されている。ということは、Cloudflare Tunnelの通信だけProtonVPNの無料サーバを通せばお金をかけずにCDN Interconnectを回避できるのではないか。

しかもProtonVPNはWireGuardのプロファイルを作成することができる。

そして、Cloudflare Tunnelが使用するIPアドレスは公開されている。

この2つを組み合わせれば、Cloudflare Tunnelが使用するIPアドレスだけをProtonVPNに通すWireGuardプロファイルを作成できる。

Cloudflare Tunnelで使用されるIP範囲は以下の通り。(api.cloudflare.comなどは通信量がとても少ないので無視しても問題ない)

Plaintext
198.41.192.0/24
198.41.200.0/24
2606:4700:a0::/48
2606:4700:a8::/48

ProtonVPNで生成したWireGuardプロファイルのAllowedIPsをこれらのIPアドレスに書き換えてあげればよい。

INI
[Interface]
# Bouncing = 0
# NAT-PMP (Port Forwarding) = off
# VPN Accelerator = on
PrivateKey = CAckwnXn3wdNlaWRJ5pgRykEghqV/ie8rSmbiK43dWc=
Address = 10.2.0.2/32
DNS = 10.2.0.1

[Peer]
# US-FREE#n
PublicKey = FJrykPQBrcQQ1FOR97S1LSMWENalLSYRNNT2HJ83vkY=
AllowedIPs = 198.41.192.0/24, 198.41.200.0/24, 2606:4700:a0::/48, 2606:4700:a8::/48
Endpoint = 198.51.100.1:51820

これでスタンダードティアの無料枠に収めることができる。