トンネルの可用性とフェイルオーバー
私たちの軽量でオープンソースのコネクタ、cloudflared ↗は、追加の設定要件なしに高い可用性を持つように設計されています。トンネルを実行すると、cloudflaredはオリジンサーバーとCloudflareネットワークの間に4つのアウトバウンド専用接続を確立します。これらの4つの接続は、少なくとも2つの異なるデータセンターに分散された4つの異なるサーバーに接続されます。このモデルは高い可用性を確保し、個々の接続の障害リスクを軽減します。つまり、単一の接続、サーバー、またはデータセンターがオフラインになった場合でも、リソースは引き続き利用可能です。
Cloudflare Tunnelは、可用性とフェイルオーバーシナリオのために、ユーザーがコネクタcloudflaredの追加インスタンスを展開することを可能にします。これらのユニークなインスタンスをレプリカと呼びます。各レプリカは、必要に応じてオリジンへの追加の入口ポイントとして機能する4つの新しい接続を確立します。各レプリカは同じトンネルを指します。これにより、cloudflaredを実行している単一のホストがダウンした場合でも、ネットワークが稼働し続けることが保証されます。
設計上、レプリカはトラフィックのステアリング(ランダム、ハッシュ、またはラウンドロビン)を提供しません。代わりに、リクエストがCloudflareに到着すると、地理的に最も近いレプリカに転送されます。その距離計算が失敗したり接続が失敗した場合は、他のレプリカを再試行しますが、どの接続が選ばれるかについての保証はありません。
- 単一のトンネルに対して追加の可用性ポイントを提供するため。
- ネットワーク内でフェイルオーバーノードを割り当てるため。
- ダウンタイムなしでトンネルの設定を更新するため。
複数のcloudflaredインスタンスを展開するには、1つのトンネルを作成して複数のホストで実行できます。トンネルがサービスとして実行される場合、ホストごとに1つのcloudflaredインスタンスのみが許可されます。
ダッシュボード経由
- リモート管理トンネルを作成するには、ダッシュボード設定ガイドに従ってください。
- トンネルページで、新しく作成したトンネルを選択します。コネクタセクションには、そのトンネルのすべての
cloudflaredインスタンスが表示されます。 - 設定を選択します。
- レプリカを展開したいホストのオペレーティングシステムを選択します。
- インストールコマンドをコピーして、ホストで実行します。
新しいレプリカはトンネルのコネクタリストに表示されます。
コマンドライン経由
-
ローカル管理トンネルを作成するには、CLI設定ガイドのステップ1から5を完了します。
-
次に、新しく作成したトンネルを実行します。
Terminal window cloudflared tunnel run <NAME>これにより、
cloudflaredインスタンスが起動し、一意のconnector_idが生成されます。 -
別のウィンドウまたは別のホストで、同じコマンドを再度実行します:
Terminal window cloudflared tunnel run <NAME>これにより、別の
cloudflaredインスタンスが初期化され、別のconnector_idが生成されます。 -
次に、
tunnel infoを実行して、トンネルを実行している各cloudflaredインスタンスを表示します:Terminal window cloudflared tunnel info <NAME>
これにより、トンネルのUUIDと、トンネルを実行している各cloudflaredプロセスの2つのコネクタIDが出力されます。このコマンドを使用すると、トンネルが現在8つの接続によって提供されていることも確認できます。
同じトンネルを最大100接続(25レプリカ)までのさまざまなcloudflaredプロセスで実行できます。CloudflareのロードバランサーやDNSレコードは、トンネルとそのUUIDを指し続けることができます。トラフィックは、トンネルに関連付けられたすべてのcloudflaredプロセスに送信されます。
Cloudflare Load Balancingは、ユーザーが不健康なオリジン(または他のエンドポイント)からトラフィックを積極的に回避し、さまざまなステアリングアルゴリズムに基づいてトラフィック負荷をインテリジェントに分配することを可能にします。このプロセスは、エンドユーザーにエラーが提供されないことを保証し、企業が全体のビジネス目標をトラフィックの挙動に密接に結びつけることを可能にします。
このモデルでは、同一の構成を持つ複数のトンネルが必要です。各CloudflareトンネルのDNSレコード(UUID.cfargotunnel.com)は、ロードバランサー内のオリジンで使用できます。次に、トラフィックのステアリングポリシーを定義して、トラフィックが各トンネルにどのようにルーティングされるかを決定できます。
- レイテンシ、ジオロケーション、または他の信号に基づいてトラフィックをインテリジェントにステアリングするため。
- トンネルが非アクティブ状態に達した場合のフェイルオーバーロジックを実装するため。
- トンネルが非アクティブ状態に達した場合にアラートを受け取るため。
- Cloudflareトンネルにアクセス可能なオリジンやエンドポイント全体にトラフィックをより均等に分配するため。
詳細については、ロードバランサーページを参照してください。