Skip to content

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

Emergency Disconnect

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

Emergency Disconnect を使うと、組織と管理者は Cloudflare のインフラから独立して、Cloudflare One Client(旧称 WARP)のフリートを切断および再接続できます。たとえば Cloudflare ネットワークの障害 時でも、Cloudflare のシステムが停止または到達不能な場合にデバイスを管理し続けられます。

次の 2 つの仕組みがあります。

  • External Emergency Disconnect: Cloudflare One Client が、お客様ホストの HTTPS エンドポイントを定期的にポーリングして切断シグナルを取得します。エンドポイントへのネットワーク接続は必要ですが、Cloudflare のインフラに到達できない場合でも動作します。
  • Local Emergency Disconnect: Cloudflare One Client が、デバイス上のローカル JSON ファイルを監視して切断シグナルを取得します。ネットワーク接続は不要で、Cloudflare と自社インフラの両方に到達できないディザスタリカバリの場面で役立ちます。

Emergency Disconnect は、ダッシュボード起点の Disconnect the Cloudflare One Client on all devices 設定と組み合わせても使えます。各仕組みは単独でも、多層の耐障害性のために併用しても使えます。いずれかのソースからの切断シグナルで切断されます。クライアントが再接続するには、すべてのソースが通常動作を示す必要があります。これらの設定の相互作用については、デバイスクライアント設定の優先順位 を参照してください。

ユースケース

  • セキュリティインシデント対応: フリート全体の WARP トンネルをすばやく終了します。
  • コンプライアンスと監査: 組織自身のインフラで完全に分離・監査・制御できる「緊急停止」機能を求める、機密または規制対象の環境の要件を満たします。
  • ディザスタリカバリ: デバイスが Cloudflare の API に到達できない場合(ネットワーク障害、ルーティングの問題、クライアント側の設定ミスなど)、管理者はお客様ホストのエンドポイントまたはローカルシグナルファイルでフリートを強制切断できます。
  • 事業継続計画(BCP): Cloudflare と自社インフラの両方に到達できない場合でも、ローカルの BCP スクリプトから Emergency Disconnect を起動できます。
  • ローカル自動化: 構成管理ツール(Ansible、Puppet、Chef)や監視エージェントと連携し、HTTPS エンドポイントを維持せずに切断状態を管理できます。

シグナル形式

外部エンドポイントの応答ペイロードと、ローカルシグナルファイルの内容は、次の形式の有効な JSON である必要があります。

{
  "emergency_disconnect": false | true
}
  • emergency_disconnecttrue の場合、デバイスは緊急切断を開始します。
  • emergency_disconnectfalse の場合、デバイスは通常動作を続けます。

External Emergency Disconnect を設定する

機能の可用性

クライアントモード Zero Trust プラン
すべてのモード すべてのプラン
システム 可用性 最小クライアントバージョン
Windows 2025.10.186.0
macOS 2025.10.186.0
Linux 2025.10.186.0
iOS
Android
ChromeOS

External Emergency Disconnect を有効にすると、Cloudflare One Client はお客様ホストの HTTPS エンドポイントを定期的にポーリングします。クライアントが接続状態を変えるのは、新しい状態を含む有効な JSON ペイロードを受け取った場合だけです。状態の取得に失敗しても(エンドポイント到達不能、無効な証明書フィンガープリント、不正なペイロードなど)、クライアントの状態は変わりません。

外部エンドポイントの要件

外部切断エンドポイントは、Cloudflare One Client が緊急切断シグナルを取得する、Cloudflare 外でホストされた HTTPS サーバーです。このエンドポイントの管理は、お客様の責任です。

エンドポイント URL

外部エンドポイントの URL は次の条件を満たしてください。

  • HTTPS プロトコルを使う。
  • ホストにはドメインではなく、IPv4 または IPv6 アドレスを使う。
  • (推奨)デバイスがネットワークの場所に関係なく最新状態を取得できるよう、パブリック IP を使う。

暗号スイート

Cloudflare One Client は Rustls で TLS 接続を確立します。HTTPS エンドポイントが、Rustls がサポートする暗号スイート のいずれかを受け入れることを確認してください。

1. 外部切断エンドポイントを作成する

External Emergency Disconnect を設定するには、グローバル切断シグナルを配信する、自社インフラ上の HTTPS エンドポイントが必要です。Cloudflare One Client は外部エンドポイントをポーリングし、Zero Trust にアップロードした SHA-256 フィンガープリントと照合して TLS/SSL 証明書を検証します。詳細は 外部エンドポイントの要件 を参照してください。

次の例は、Docker の nginx コンテナで外部切断エンドポイントをデプロイする方法です。

  1. TLS/SSL 証明書を生成します。

    openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout key.pem -out cert.pem

    Distinguished Name(DN)欄の入力を求められます。組織の情報を入力するか、Enter を押してデフォルト値を使います。

    コマンドは PEM 形式の証明書と秘密鍵を出力します。これらのファイルは安全な場所に保管してください。

  2. ネットワーク上の HTTPS サーバーが、この証明書と鍵を使うように設定します。

    a. nginx.conf という nginx 設定ファイルを作成します。

    nginx.conftxt
    events {
    	worker_connections  1024;
    }
    
    http {
    		server {
    				listen              443 ssl;
    				ssl_certificate     /certs/cert.pem;
    				ssl_certificate_key /certs/key.pem;
    				location /status/disconnect {
    						default_type application/json;
    						return 200 '{"emergency_disconnect": false}';
    				}
    		}
    }

    必要に応じて、/certs/cert.pem/certs/key.pem を証明書と鍵の場所に置き換えます。

    b. Docker Compose ファイルに nginx イメージを追加します。

    docker-compose.ymlyml
    services:
    	nginx:
    		image: nginx:latest
    		ports:
    			- 3333:443
    		volumes:
    			- ./nginx.conf:/etc/nginx/nginx.conf:ro
    			- ./certs:/certs:ro

    必要に応じて、./nginx.conf./certs を nginx 設定ファイルと証明書の場所に置き換えます。

    c. サーバーを起動します。

    docker compose up -d
  3. HTTPS エンドポイントが動作していることを確認するには、エンドユーザーのデバイスから curl コマンドを実行します。自己署名証明書を使っているため、--insecure オプションが必要です。

    curl --insecure https://<server-ip>:3333/status/disconnect
    {"emergency_disconnect": false}

2. SHA-256 フィンガープリントを抽出する

ローカル証明書の SHA-256 フィンガープリントを取得する手順は次のとおりです。

openssl x509 -noout -fingerprint -sha256 -inform pem -in cert.pem | tr -d :

出力は次のようになります。

SHA256 Fingerprint=DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662

接続をテストし、リモートサーバーの SHA-256 フィンガープリントを取得する手順は次のとおりです。

openssl s_client -connect <private-server-IP>:443 < /dev/null 2> /dev/null | openssl x509 -noout -fingerprint -sha256 | tr -d :

出力は次のようになります。

SHA256 Fingerprint=DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662

3. External Emergency Disconnect をオンにする

ダッシュボードで External Emergency Disconnect を設定する手順は次のとおりです。

  1. Cloudflare ダッシュボードZero Trust > Team & Resources > Devices > Management を開きます。
  2. Global disconnection settings を選択します。
  3. Manage device connection using an external signal を探し、Edit を選択します。
  4. 次の欄を設定します。
    • Endpoint IP address and port: 外部切断シグナルを取得する HTTPS URL を入力します(例: https://192.0.2.1:3333/status/disconnect)。エンドポイントは HTTPS を使い、ホストは IPv4 または IPv6 アドレスである必要があります。
    • Polling frequency: Cloudflare One Client が外部切断シグナルを取得する間隔を選びます。
    • Certificate fingerprint: HTTPS サーバー証明書の SHA-256 フィンガープリント を入力します(例: DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662)。
  5. Save を選択します。
  6. Manage device connection using an external signal をオンにします。

組織内のすべての Cloudflare One Client は、外部エンドポイントのポーリングを開始し、応答ペイロードに基づいて接続または切断します。

API で External Emergency Disconnect を設定するには、/devices/settings エンドポイントへ PATCH リクエストを送ります。

Required API token permissions

At least one of the following token permissions is required:
  • Zero Trust Write
Patch device settings for a Zero Trust accountbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/settings" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"external_emergency_signal_enabled": true,
		"external_emergency_signal_url": "https://192.0.2.1:3333/status/disconnect",
		"external_emergency_signal_fingerprint": "DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662",
		"external_emergency_signal_interval": "1m"
	}'

MDM で External Emergency Disconnect を設定するには、MDM ファイル に次のパラメーターを追加します。

<key>external_emergency_signal_url</key>
<string>https://192.0.2.1:3333/status/disconnect</string>
<key>external_emergency_signal_fingerprint</key>
<string>DD4F4806C57A5BBAF1AA5B080F0541DA75DB468D0A1FE731310149500CCD8662</string>
<key>external_emergency_signal_interval</key>
<integer>60</integer>

4. External Emergency Disconnect をテストする

  1. Cloudflare One Client が接続されていることを確認します。

  2. External Emergency Disconnect 機能が オン になっていることを確認します。

  3. 外部エンドポイント の設定で、emergency_disconnecttrue に変更します。

    { "emergency_disconnect": true }
  4. 変更を適用するには、サーバーのリロードが必要な場合があります。例の nginx サーバー をリロードするには、次を実行します。

    docker exec <container-name-or-id> nginx -s reload

Cloudflare One Client は、設定したポーリング間隔内に自動で切断され、Cloudflare One Client の GUI に Admin directed disconnect が表示されます。すべてのデバイスを再接続するには、emergency_disconnectfalse に戻します。

Local Emergency Disconnect を設定する

機能の利用可否

クライアントモード Zero Trust プラン
すべてのモード すべてのプラン
システム 利用可否 最小クライアントバージョン
Windows 2026.5.0
macOS 2026.5.0
Linux 2026.5.0
iOS
Android
ChromeOS

Local Emergency Disconnect を使うと、リモートインフラへのネットワークアクセスなしで、デバイス自体から緊急切断を起動できます。Cloudflare One Client は、管理者が書き込み可能な固定パスのローカル JSON ファイルを監視します。ファイルに切断シグナルが含まれると、クライアントは緊急切断状態になります。ローカルスクリプト、構成管理ツール(Ansible、Puppet、Chef など)、監視エージェントは、デバイス上でシグナルファイルを直接作成または変更できます。

シグナルファイルのパス

Cloudflare One Client は、変更に管理者権限が必要な固定ファイルパスを監視します。パスは設定できません。

オペレーティングシステム ファイルパス
Windows %PROGRAMDATA%\Cloudflare\emergency_disconnect.json
macOS /Library/Application Support/Cloudflare/emergency_disconnect.json
Linux /var/lib/cloudflare-warp/emergency_disconnect.json

シグナルファイルは、外部 HTTPS エンドポイントと同じ JSON 形式 です。ファイルが存在しない場合、クライアントは通常動作(false)として扱います。ファイルの JSON が無効な場合、クライアントはエラーを記録し、状態は変えません。クライアントはファイルの変更に 30 秒以内に反応します。

1. Local Emergency Disconnect をオンにする

機能を有効にするには、MDM 経由で local_emergency_signal_enabled パラメーターを導入します。MDM ファイル に次を追加します。

<key>local_emergency_signal_enabled</key>
<true />

MDM 設定が適用されると、Cloudflare One Client は シグナルファイルのパス の監視を開始します。設定変更は、クライアントの再起動なしで反映されます。

2. Local Emergency Disconnect をテストする

  1. Cloudflare One Client が接続されていることを確認します。
  2. Local Emergency Disconnect が オン になっていることを確認します。
  3. お使いのオペレーティングシステムの 適切なパス に、次の内容でシグナルファイルを作成します。
sudo tee "/Library/Application Support/Cloudflare/emergency_disconnect.json" <<< '{"emergency_disconnect": true}'

管理者権限の PowerShell プロンプトを開き、次を実行します。

Set-Content -Path "$env:PROGRAMDATA\Cloudflare\emergency_disconnect.json" -Value '{"emergency_disconnect": true}'
sudo tee /var/lib/cloudflare-warp/emergency_disconnect.json <<< '{"emergency_disconnect": true}'

Cloudflare One Client は 30 秒以内に自動で切断され、Cloudflare One Client の GUI に Admin directed disconnect が表示されます。

再接続するには、emergency_disconnectfalse に変更するか、ファイルを削除します。

sudo rm "/Library/Application Support/Cloudflare/emergency_disconnect.json"
Remove-Item "$env:PROGRAMDATA\Cloudflare\emergency_disconnect.json"
sudo rm /var/lib/cloudflare-warp/emergency_disconnect.json

ログ

外部エンドポイントとローカルファイルからの緊急切断シグナルは Cloudflare のインフラから独立しているため、これらの切断は Cloudflare に記録されません。ダッシュボードのログは、機能設定の変更(機能のオン/オフやエンドポイント URL の変更など)だけを報告し、切断イベントは報告しません。

デバイスの現在の緊急切断状態を取得するには、次を実行します。

warp-cli settings
Merged configuration:
(override)	Emergency disconnect: true (issued @ 2025-12-09T13:57:42.597864Z)

現在の状態は、クライアント診断ログwarp-settings.txt でも確認できます。

緊急切断状態をクリアする

External Emergency Disconnect をクリアする

外部エンドポイントが利用不能になる、または無効な構成を返すと、Cloudflare One Client が緊急切断状態のままになることがあります。External Emergency Disconnect の構成を削除すると、クライアントを復旧できます。

  1. Cloudflare ダッシュボードZero Trust > Team & Resources > Devices > Management を開きます。
  2. Global disconnection settings を選択します。
  3. Manage device connection using an external signal をオフにします。

Cloudflare は新しい設定をクライアントへ伝播し、ポーリングを停止してキャッシュされた緊急状態を破棄するよう指示します。

エンドポイント URL とフィンガープリントを空文字にした PATCH リクエストを送ります。

Required API token permissions

At least one of the following token permissions is required:
  • Zero Trust Write
Patch device settings for a Zero Trust accountbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/settings" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"external_emergency_signal_enabled": false,
		"external_emergency_signal_url": "",
		"external_emergency_signal_fingerprint": "",
		"external_emergency_signal_interval": "1m"
	}'

Cloudflare は新しい設定をクライアントへ伝播し、ポーリングを停止してキャッシュされた緊急状態を破棄するよう指示します。

MDM で External Emergency Disconnect を導入した場合は、MDM プロファイルから external_emergency_signal_url キー(および関連キー)を削除します。その後、MDM で変更をデバイスへ配信します。Cloudflare One Client は外部エンドポイントのポーリングを停止し、キャッシュされた緊急状態を破棄します。

または、ユーザーが Cloudflare One Client を、この機能が設定されていない 別の MDM 構成 に切り替えられます。

Local Emergency Disconnect をクリアする

ローカルの緊急切断状態をクリアする手順は次のとおりです。

  1. シグナルファイル を削除するか、emergency_disconnectfalse になるよう更新します。
  2. または、MDM プロファイルから local_emergency_signal_enabled キーを削除し、変更をデバイスへ配信して機能をオフにします。クライアントはローカルファイルの監視を停止し、キャッシュされたローカルシグナル状態を破棄します。

ローカルクライアントのリセット

最終手段として、CLI で個別デバイスの緊急切断をリセットできます。

warp-cli registration delete

このコマンドは、クライアント登録、ローカルポリシー、キャッシュされた緊急状態をクリアします。再接続するには、External Emergency Disconnect をオフ にしたうえで、Zero Trust 組織に Cloudflare One Client を再登録 する必要があります。

デバイスクライアント設定の優先順位

グローバル切断設定がどのように相互作用し、ほかのデバイスクライアントプロファイル設定にどう影響するかを説明します。

グローバル切断設定

クライアントは、Cloudflare ダッシュボード(Disconnect the Cloudflare One Client on all devices)、外部エンドポイント、ローカルシグナルファイルからの切断シグナルに従います。いずれか のソースが切断をトリガーすると、グローバル切断が適用されます。クライアントが再接続するには、すべてのソースが通常動作を示す必要があります。

次の表は、3 つのシグナルソースの組み合わせです。いずれか のソースが切断を示すと、クライアントは切断します。

ダッシュボード(Disconnect all devices 外部エンドポイント ローカルファイル 結果
On true true 強制切断
On true false/なし 強制切断
On false true 強制切断
On false false/なし 強制切断
Off true true 強制切断
Off true false/なし 強制切断
Off false true 強制切断
Off false false/なし 通常動作

Auto connect

グローバル切断が有効なあいだ、Auto connect は適用されません。

Lock device client switch

グローバル切断が有効なあいだ、Lock device client switch は適用されません。ユーザーは、管理者オーバーライドコード がないかぎり、Cloudflare One Client を接続できません。

管理者オーバーライド

グローバル切断は、既存の 管理者オーバーライドコード をクリアします。グローバル切断中にユーザーが再接続できるのは、新しい 管理者オーバーライドコード を使う場合だけです。たとえば、グローバル切断の原因となったインシデントの解決をテストできるよう、IT 担当者にコードを渡せます。オーバーライドコードは、オーバーライドのタイムアウトが切れるまで、特定のユーザーとデバイスをグローバル切断から除外します。

役に立ちましたか?