Cloudflare Tunnel が稼働したら、エンドユーザーからの想定リクエスト量を処理できるだけのシステムリソースが cloudflared にあるかを確認します。
従来の VPN ではスループットがサーバーのメモリ、CPU、その他のハードウェア仕様で決まります。一方、Cloudflare Tunnel のスループットは、主にシステムソフトウェアで設定したポート数によって制限されます。そのため、cloudflared サーバーのサイジングでは、想定する TCP および UDP トラフィックのスループットに合わせて、マシン上で利用できるポート数を確保することが最も重要です。
cloudflared を動かすサーバーを追加します。
必要な cloudflared ホストサーバーの台数を決める手順は次のとおりです。
-
まずベースラインの推奨値から始めます。
- ネットワークロケーションごとに、専用ホスト 2 台で
cloudflaredレプリカ を実行します。ホストを 2 台使うと、サーバー側の冗長性とトラフィック分散が得られます。 - 各ホストは、メモリ 4 GB 以上、CPU 4 コア以上で用意します。
- 各ホストの
cloudflaredプロセスに、ポート を 50,000 割り当てます。
この構成は、通常 8,000 ユーザー(ホストあたり 4,000)のトラフィックを処理できます。
- ネットワークロケーションごとに、専用ホスト 2 台で
-
このラーニングパスを完了し、ユーザーがネットワークを実際に使い始めたら、実際のトンネル使用量を 算出 します。
-
どの程度の余裕を持たせるかを決め、必要なら トンネルをリサイズ します。
Cloudflare Tunnel のスケール方法は 2 つあります。既存トンネルのレプリカを追加する方法(図 1)と、ネットワークの IP 空間を複数のトンネルに分割する方法(図 2)です。
flowchart TB accTitle: 図 1: すべてのプライベートネットワークをプロキシするトンネルの複数レプリカ subgraph replica1[my-tunnel] ip1[10.0.0.0/8 </br> 172.0.0.0/8 </br> 192.0.0.0/8] end subgraph replica2[my-tunnel] ip2[10.0.0.0/8 </br> 172.0.0.0/8 </br> 192.0.0.0/8] end subgraph replica3[my-tunnel] ip3[10.0.0.0/8 </br> 172.0.0.0/8 </br> 192.0.0.0/8] end replica1 <--> C((Cloudflare)) replica2 <--> C replica3 <--> C
flowchart TB accTitle: 図 2: 異なるプライベートネットワークをプロキシする複数のトンネル subgraph tunnel-1 ip1[10.0.0.0/8] end subgraph tunnel-2 ip2[172.0.0.0/8] end subgraph tunnel-3 ip3[192.0.0.0/8] end tunnel-1 <--> C((Cloudflare)) tunnel-2 <--> C tunnel-3 <--> C
既存の Cloudflare Tunnel に レプリカ を追加する(ベースラインの推奨は 2 台)のは、トンネル内の IP ルート向けトラフィックを増やすためだけに行います。レプリカは、プールモードで動作できるよう、必ず同じ物理的な場所に置きます。別の地理的な場所にレプリカを追加しようとしている場合は、Cloudflare Tunnel のネットワークプロキシ設計を見直し、トンネルを追加するタイミング を参照してください。
ネットワークが複数の地理的な場所に分散している場合は、新しいトンネルの作成を検討します。たとえば、10.0.0.0/8 で表されるネットワークのほぼ全体が米国東部に連続してあり、重複しない例外として 10.0.50.0/24 だけが太平洋岸北西部で提供されているとします。太平洋岸北西部からレプリカを追加するのではなく、10.0.50.0/24 を別の Cloudflare Tunnel に切り出すことを推奨します。この新しいトンネルは、太平洋岸北西部の近くにあるホストマシンから提供し、バランスの取れたレプリカ構成にします。
ネットワーク内のすべてのルートが同じ物理的な場所から提供されていても、コントロールプレーンの冗長性の観点から、レプリカを増やすのではなく、ネットワークを別々のトンネルに分割した方がよい場合があります。
たとえば、10.0.0.0/8、172.0.0.0/8、192.0.0.0/8 を複数レプリカ付きの 1 本のトンネルでプロキシしていると、多数のネットワークを流れるトラフィックによってポート枯渇に達することがあります。その場合は、10.0.0.0/8、172.0.0.0/8、192.0.0.0/8 をそれぞれ独立したトンネルに分け、それぞれにレプリカを付けるとよいことがあります。あるいは、DNS サーバーなど、独立したトラフィック量が大きい特定のアプリケーションや機能を切り出し、適切なスループットとレプリカ数を持つ単独のトンネルにすることもできます。