ロードバランシング
When you create a tunnel, Cloudflare generates a subdomain of cfargotunnel.com with the UUID of the created tunnel. You can treat <UUID>.cfargotunnel.com as if it were ロードバランシングエンドポイント in the Cloudflare dashboard.
Unlike publicly routable IP addresses, the subdomain will only proxy traffic for ロードバランサープール in the same Cloudflare account. If someone discovers your subdomain UUID, they will not be able to create a DNS record in another account or system to proxy traffic to the address.
ロードバランサーを作成するには、ロードバランシングのドキュメントを参照してください。エンドポイントアドレスは、トンネルのサブドメインである<UUID>.cfargotunnel.comです。
ロードバランサープールにモニターを追加したい場合は、高度なヘルスチェック設定にホストヘッダーを追加する必要があります。ヘッダーはHeader Name: HostおよびValue: www.your-zone.comのようになります。ingressフィールドを定義する設定ファイルを使用している場合、ホストヘッダーがないとモニターは機能しません。これはこの例 ↗に示されています。
既存のロードバランサープールにCloudflareトンネルを直接cloudflaredから追加できます:
cloudflared tunnel route lb <トンネル名/UUID> <ホスト名> <ロードバランサープール>-
<ホスト名>: ロードバランサーのDNSホスト名、例えばlb.example.com。 -
<ロードバランサープール>: トンネルのサブドメインを含むプールの名前。
このコマンドは、指定されたホスト名をトンネルのサブドメイン(<UUID>.cfargotunnel.com)にポイントするLB DNSレコードを作成します。トンネルが実行されていない限り、トラフィックはプロキシされません。
アプリケーションは、ロードバランサーホスト名のCloudflare設定、キャッシュルールやファイアウォールポリシーをデフォルトとして使用します。ホスト名の設定はCloudflareダッシュボード ↗で変更できます。
ポートまたはSSHポートへのトンネルがある場合、TCPヘルスチェックを実行しないでください。
代わりに、cloudflaredでヘルスチェックエンドポイントを設定します。例えば、固定HTTPステータスレスポンスを返すingressエントリルールを作成し、そのエンドポイントのためにHTTP モニターを作成します。モニターは、サーバーに到達可能かどうかのみを確認します。サーバーが稼働してリクエストを受け付けているかどうかは確認しません。
ロードバランサーは、同じトンネルのレプリカを区別しません。2つの別々のホストで同じトンネルUUIDを実行すると、ロードバランサーは両方のホストを単一のエンドポイントとして扱います。クライアントと特定のホスト間でセッションアフィニティを維持するには、各ホストを異なるトンネルUUIDを使用してCloudflareに接続する必要があります。
異なる場所のエンドポイント間でトラフィックの不均衡が見られる場合、ロードバランサーの設定を調整する必要があるかもしれません。
cloudflared接続は、同じCloudflareデータセンターで終了するトンネルを優先します。この動作は、接続の重み付けやトラフィックの分配に影響を与える可能性があります。
解決策は、使用しているトンネルの種類によって異なります。レガシートンネルを実行している場合は、起源を異なるプールに配置します。Cloudflareトンネルレプリカ(共有IDを使用)を実行している場合は、異なるCloudflareトンネルに切り替えて、異なる起源として扱います。