Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

高可用性

最終更新 Markdown で表示Agent セットアップ

本番導入では、Mesh ノードのレプリカを複数台、アクティブ/パッシブで動かせます。すべてのレプリカは同じノード ID を共有し、同じ ルート を広告します。アクティブなレプリカが落ちると、Cloudflare がスタンバイを自動で昇格します。

高可用性を使うとき

高可用性は、Mesh ノードが広告する CIDR ルートプレフィックスの耐障害性を提供します。アクティブなレプリカが切断されると、Cloudflare がスタンバイを昇格し、広告済みサブネットへのトラフィックが流れ続けます。

つまり HA は、ルートが設定されたノード(背後のプライベートネットワークのサブネットゲートウェイとして動くノード)に有効です。ノードを直接の Mesh IP 接続だけに使う場合(ルートなし)、ノードの Mesh IP は個々のレプリカに紐づくため、HA の効果は限定的です。

仕組み

高可用性を有効にして Mesh ノードを作成すると、Cloudflare はそのノード用に 1 つのトークンを生成します。このトークンで複数の Linux ホストに Cloudflare One Client をインストールします。各ホストは同じノードのレプリカとして登録されます。

  • すべてのレプリカが同じ CIDR ルートを広告します。
  • 同時にアクティブなレプリカは 1 つです。ほかはパッシブスタンバイです。
  • アクティブなレプリカが切断されると、Cloudflare がパッシブレプリカを自動で昇格します。
  • フェイルオーバーは Cloudflare のネットワークが処理します。
flowchart LR
  subgraph replicas["Mesh ノード: web-server"]
    R1["Replica 1 <br> (active)"]
    R2["Replica 2 <br> (standby)"]
    R3["Replica 3 <br> (standby)"]
  end
  CF((Cloudflare)) <--> R1
  CF -. failover .-> R2
  CF -. failover .-> R3
  client["クライアントデバイス"] <--> CF

高可用性付きでノードを作成する

ダッシュボードから Mesh ノードを作成すると、高可用性はデフォルトで有効です。新しいノードを作成する手順は次のとおりです。

  1. Cloudflare ダッシュボードで、Networking > Mesh に進みます。

    Mesh を開く ↗
  2. Add a node を選択します。

  3. セットアップウィザードに従います。ノードは HA が自動で有効な状態で作成されます。

  4. インストールコマンドをコピーし、Linux ホストで実行します。

API で高可用性付きノードを作成するには、リクエスト本文で ha: true を設定します。

curl -X POST "https://api.cloudflare.com/client/v4/accounts/{account_id}/warp_connector" \
  -H "Authorization: Bearer {api_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "web-server",
    "ha": true
  }'

レスポンスに token フィールドが含まれます。このトークンでレプリカを登録します。

レプリカを追加する

既存の高可用性ノードにレプリカを追加するには、新しい Linux ホストに Cloudflare One Client をインストールし、同じノードトークンで登録します。

  1. Cloudflare ダッシュボードで、Networking > Mesh に進みます。

    Mesh を開く ↗
  2. Mesh ノードを選択します。

  3. Add a replica を選択します。

  4. ダイアログにインストールコマンドとノードのトークンが表示されます。

  5. 新しい Linux ホストで、ダイアログに表示されたインストールコマンドを実行します。

インストールコマンド

ノードに Mesh IP で到達するには、IP 転送は不要です。ノードが CIDR ルート を広報する場合は、接続する前に永続的な転送を有効にします。

printf 'net.ipv4.ip_forward = 1\nnet.ipv6.conf.all.forwarding = 1\nnet.ipv6.conf.all.accept_ra = 2\n' | sudo tee /etc/sysctl.d/99-zzz-cloudflare-warp-connector.conf &&
sudo sysctl --system
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg &&
echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(. /etc/os-release && echo $VERSION_CODENAME) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list &&
sudo apt-get update -qq && sudo apt-get install -y -qq cloudflare-warp
sudo warp-cli --accept-tos connector new <TOKEN> && sudo warp-cli --accept-tos connect

RHEL 9 以降では、cloudflare-warp をインストールする前に Extra Packages for Enterprise Linux(EPEL)リポジトリを有効にします。EPEL は Cloudflare One Client UI が必要とする依存関係を提供します。

sudo dnf install -y epel-release

次にパッケージをインストールします。

curl -fsSl https://pkg.cloudflareclient.com/cloudflare-warp-ascii.repo | sudo tee /etc/yum.repos.d/cloudflare-warp.repo &&
sudo yum install -y cloudflare-warp
sudo warp-cli --accept-tos connector new <TOKEN> && sudo warp-cli --accept-tos connect
  1. ノードのトークンを取得します。

    curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/warp_connector/{node_id}/token" \
    	-H "Authorization: Bearer {api_token}"

    レスポンスにトークン文字列が含まれます。

  2. 新しい Linux ホストでクライアントをインストールし、登録します。

    ノードに Mesh IP で到達するには、IP 転送は不要です。ノードが CIDR ルート を広報する場合は、接続する前に永続的な転送を有効にします。

    printf 'net.ipv4.ip_forward = 1\nnet.ipv6.conf.all.forwarding = 1\nnet.ipv6.conf.all.accept_ra = 2\n' | sudo tee /etc/sysctl.d/99-zzz-cloudflare-warp-connector.conf &&
    sudo sysctl --system
    curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg &&
    echo "deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(. /etc/os-release && echo $VERSION_CODENAME) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list &&
    sudo apt-get update -qq && sudo apt-get install -y -qq cloudflare-warp
    sudo warp-cli --accept-tos connector new <TOKEN> && sudo warp-cli --accept-tos connect

    RHEL 9 以降では、cloudflare-warp をインストールする前に Extra Packages for Enterprise Linux(EPEL)リポジトリを有効にします。EPEL は Cloudflare One Client UI が必要とする依存関係を提供します。

    sudo dnf install -y epel-release

    次にパッケージをインストールします。

    curl -fsSl https://pkg.cloudflareclient.com/cloudflare-warp-ascii.repo | sudo tee /etc/yum.repos.d/cloudflare-warp.repo &&
    sudo yum install -y cloudflare-warp
    sudo warp-cli --accept-tos connector new <TOKEN> && sudo warp-cli --accept-tos connect

新しいレプリカは、アクティブなレプリカが切断されるまでスタンバイモードです。

レプリカを表示する

  1. Cloudflare ダッシュボードで、Networking > Mesh に進みます。

    Mesh を開く ↗
  2. HA 有効のノードを選択します。HA ノードは概要テーブルに HA バッジが表示されます。

  3. ノード詳細ページには、レプリカごとのタブがあります。各タブには次が表示されます。

    • Active または Passive バッジ
    • Mesh IP(IPv4 と IPv6)
    • エッジデータセンター
    • Origin IP
    • プラットフォーム、バージョン、デバイス名
    • 接続開始時刻

すべてのレプリカと HA ステータスを見るには、connections API エンドポイントを問い合わせます。

curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/warp_connector/{node_id}/connections" \
  -H "Authorization: Bearer {api_token}"

レスポンスには、各レプリカの ha_statusactive または passive)、接続詳細、接続先の Cloudflare データセンターが含まれます。

{
	"success": true,
	"result": [
		{
			"id": "bf69f118-238e-11f1-b113-ee02f3be4a5b",
			"conns": [
				{
					"colo_name": "lhr16",
					"origin_ip": "34.105.147.200",
					"opened_at": "2026-03-19T12:25:47.400Z"
				}
			],
			"run_at": "2026-03-19T12:25:47.400Z",
			"ha_status": "active"
		},
		{
			"id": "e07272a6-21fc-11f1-8997-e28f01ba3991",
			"conns": [
				{
					"colo_name": "lhr14",
					"origin_ip": "35.246.81.139",
					"opened_at": "2026-03-19T02:38:37.203Z"
				}
			],
			"run_at": "2026-03-19T02:38:37.203Z",
			"ha_status": "passive"
		}
	]
}

手動フェイルオーバー

アクティブなレプリカ切断時の自動フェイルオーバーに加え、パッシブレプリカを手動でアクティブに昇格できます。

  1. Cloudflare ダッシュボードで、Networking > Mesh に進みます。

    Mesh を開く ↗
  2. HA 有効のノードを選択します。

  3. 昇格したいパッシブレプリカのタブを選択します。

  4. Promote to active を選択します。

  5. 確認ダイアログで Promote to active を選択して確定します。

トラフィックはすぐに昇格したレプリカへ付け替わります。以前のアクティブなレプリカはパッシブスタンバイになります。

手動でフェイルオーバーするには、昇格したいレプリカの client_id を付けて PUT リクエストを送ります。

curl -X PUT "https://api.cloudflare.com/client/v4/accounts/{account_id}/warp_connector/{node_id}/failover" \
  -H "Authorization: Bearer {api_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "e07272a6-21fc-11f1-8997-e28f01ba3991"
  }'

client_idconnections エンドポイント から取得します。昇格したいレプリカの id フィールドを使います。

注意点

セットアップ要件

  • 高可用性はノード作成時に決まり、あとから変更できません。
  • フェイルオーバーするには、少なくとも 2 台のホストにクライアントをインストールする必要があります。レプリカが 1 つでは冗長性がありません。
  • 高可用性には、Mesh ノードの デバイスプロファイルMASQUE を使う設定である必要があります。Cloudflare One Client のデフォルトプロトコルです。デバイスプロファイルが WireGuard の場合は動作しません。

ネットワーク設定

  • すべてのレプリカは同じサブネット上にあり、同じネットワークルーティング設定(Split Tunnels、静的ルート)である必要があります。
  • HA は CIDR ルートプレフィックスの耐障害性を提供します。ルートのないノードは HA フェイルオーバーの恩恵を受けません。

フェイルオーバーの挙動

  • フェイルオーバー時間は、Cloudflare がアクティブなレプリカの切断を検出する速さに依存します(通常は数秒)。
  • 着信トラフィック(Mesh クライアントからサブネットへ)は、Cloudflare のネットワーク上で自動フェイルオーバーします。Cloudflare は新しく昇格したアクティブなレプリカへトラフィックをルーティングします。
  • 送信トラフィック(サブネット上のデバイスから Mesh ノード経由)は自動フェイルオーバーしません。別のレプリカがアクティブに昇格したことを環境側で検出し、ルーティングテーブルを更新して、いまアクティブなホスト経由でトラフィックを送る必要があります。オンランプトラフィックのクライアント側フェイルオーバーは、現時点ではありません。

役に立ちましたか?