コンテンツにスキップ

名前付きトンネルへの移行とロードバランサーの使用

Last reviewed: over 3 years ago

Cloudflare Tunnelは、「レガシー」トンネルと「名前付き」トンネルの2つの展開モードで利用可能です。名前付きトンネルモードは、ルーティングと構成を区別することで、保守性と安定性を向上させます。

レガシーモードとは異なり、名前付きトンネルはユーザーにCloudflareダッシュボードでルーティングを管理し、複数のサービスに対してcloudflaredを1回実行する能力を提供します。

現在レガシートンネルを使用している場合、10分以内に名前付きトンネル展開に移行できます。

このチュートリアルでは、以下の内容をカバーします:

  • レガシートンネル展開を名前付きトンネルモデルに移行する方法
  • Cloudflareロードバランサーを使用してゼロダウンタイムの移行を実行する方法

完了までの時間:

10分

Kubernetesでの作業に関する追加ドキュメントを参照してください。


Cloudflareロードバランサーを使用したレガシートンネル

このチュートリアルは、移行手順と比較できるように、Cloudflareロードバランサーを使用してレガシートンネルを作成する手順を文書化することから始まります。移行を今すぐ開始したい場合は、名前付きトンネルを作成にスキップしてください。

両方のモードで、最初のステップはロードバランサーとエンドポイントプールを作成することです。

  1. トラフィック > ロードバランシングに移動します。

  2. ロードバランサーを作成を選択します。

  3. ホスト名ページで:

次に、ロードバランサーのためにエンドポイントプールを作成します。プールは、Cloudflareトンネル接続または従来のIPアドレスのいずれかであるエンドポイントまたはオリジンのグループです。

レガシーモードでは、ロードバランサープールに新しいcloudflaredインスタンスを追加するには、コマンドラインツール自体から行う必要があります。cloudflaredエージェントは起動し、4つの別々の接続を作成し、これらの各接続をロードバランサープールに登録します。

Terminal window
cloudflared tunnel --hostname app.widgetcorp.tech --url http://localhost:8000 --lb-pool lisbon-data-center

この例では、ロードバランサーapp.widgetcorp.techには、次のようなエンドポイントを持つプールlisbon-data-centerがあります:

エンドポイント名エンドポイントアドレス重み
0-51cc...d004tunnel:snf...aad1
1-51cc...d004tunnel:10x...x1b1
2-51cc...d004tunnel:yeq...y151
3-51cc...d004tunnel:vn6...7p61

ただし、レガシートンネルモードにはいくつかの欠点があります:

  • これらの接続をCloudflareダッシュボードから管理することはできません。
  • cloudflaredが再起動すると、これらの接続を新しい接続として登録しようとするため、サービスの中断が発生する可能性があります。

以下に文書化された名前付きトンネルモデルは、管理が容易であり、より高い安定性を提供します。

名前付きトンネルを作成

名前付きトンネルモデルに移行するには、まずダウンロードして認証cloudflaredを行います。接続する予定のサービスに到達できる場所にエージェントをインストールします。

まず、次のコマンドを使用して名前付きトンネルを作成します。

Terminal window
cloudflared tunnel create lisbon-app

このコマンドは、あなたのCloudflareアカウントにトンネルオブジェクトを作成し、このcloudflaredインスタンスによって表されます。トンネルを実行するときに、DNSレコードまたはLBレコードをこの接続にポイントできます。

設定ファイルを作成

次に、トンネルを構成します。以下の例は、ポート8000で利用可能なWebサービスで構成されています。インバウンドルールは、指定されたホスト名に対してcloudflaredが受信したトラフィックをそのポートに送信します。また、単一のcloudflaredインスタンスで複数のサービスに接続することもできます。

設定ファイルでは、トンネルを作成したときに以前に生成された認証情報ファイルの場所を指定する必要があります。

認証情報ファイルの場所を指定する設定ファイルの例

設定ファイルを保存します。

トンネルを実行

これでトンネルを実行できます。トンネルを実行すると、cloudflaredがCloudflareのエッジに接続され、あなたのアカウントにのみ利用可能な接続が確立されます。トンネルIDの値を使用して、その接続をエンドポイントまたはオリジンのIPアドレスのように扱うことができ、誰かが直接アクセスしてCloudflareをバイパスするリスクがありません。

次のコマンドを実行し、lisbon-appをトンネルの名前に置き換えます。

Terminal window
cloudflared tunnel run lisbon-app

ロードバランサーの設定を移行

これで、ロードバランサー展開を新しい名前付きトンネルを使用するように移行を開始できます。ロードバランサーに新しいプールを作成します。リストに新しいエンドポイントを追加します。

エンドポイントアドレスフィールドに、トンネルのIDの後にcfargotunnel.comを入力します。

この例では、エンドポイントアドレスの値は6b9b8f72-b655-46fb-b008-a45366e26b48.cfargotunnel.comになります。

エンドポイント名エンドポイントアドレス重み
lisbon-data-center-one6b9b8f72-b655-46fb-b008-a45366e26b48.cfargotunnel.com1

新しいオリジンがCloudflareロードバランサーによって正常と認識されるまで1分待ちます。正常になったら、レガシーアーゴトンネルエンドポイントをレガシーロードバランサープールから無効にし始めることができます。