更新すると cloudflared が再起動し、処理中のトラフィックに影響します。ダウンタイムなしでアップグレードするには、Cloudflare の Load Balancer 製品 を使うか、複数の cloudflared インスタンス を使います。
リモート管理トンネル または ローカル管理トンネル 向けに cloudflared を更新するには、次のコマンドを参照してください。ローカル管理トンネルでは、次のコマンドが成功するよう、サービスとして実行する設定が必要です。
次のコマンドを実行します。
cloudflared updatecloudflared update で cloudflared を更新したあと、反映するにはサービスを再起動する必要があります。次を実行します。
net start cloudflaredcloudflaredパッケージを更新します。
brew upgrade cloudflared- サービスを再起動します。
sudo launchctl stop com.cloudflare.cloudflared
sudo launchctl unload /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
sudo launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
sudo launchctl start com.cloudflare.cloudflaredapt でインストールした場合:
cloudflaredパッケージを更新します。
sudo apt-get update && sudo apt-get install --only-upgrade cloudflared- サービスを再起動します。
sudo systemctl restart cloudflared.servicedpkg -i でインストールした場合:
dpkg パッケージマネージャーで cloudflared をインストールした場合は、次のコマンドを使います。
cloudflared がパッケージマネージャーでインストールされたかどうかは、ls -la /usr/local/etc/cloudflared/ を実行し、出力に .installedFromPackageManager があるかで確認できます。
cloudflaredパッケージを更新します。
curl --location --output cloudflared.deb "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-$(dpkg --print-architecture).deb" && sudo dpkg -i cloudflared.deb- サービスを再起動します。
sudo systemctl restart cloudflared.servicecloudflaredパッケージを更新します。
sudo yum update cloudflared- サービスを再起動します。
sudo systemctl restart cloudflared.serviceダッシュボードでリモート管理トンネルを作成した場合:
-
Cloudflare ダッシュボードで、Networking > Tunnels を開きます。
Tunnels を開く ↗ -
トンネルを選び、詳細ページを開きます。
-
Overview タブで、Docker のインストールコマンドをコピーします。コピーしたコマンドにはトークンが含まれます。
-
このコマンドをターミナルに貼り付けます。
このコマンドは、最新の cloudflared イメージから新しいコンテナーを作成します。古いコンテナーは削除できます。
API でリモート管理またはローカル管理のトンネルを作成した場合は、次のコマンドを実行します。
docker run --pull always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <TOKEN>CLI でローカル管理トンネルを作成した場合:
-
ボリュームを使って、ローカルの
.cloudflaredディレクトリを Docker コンテナーにマウントします。 -
次のコマンドで
cloudflaredを更新します。docker run --pull always -v <PATH-TO-YOUR-LOCAL-CLOUDFLARED>:/home/nonroot/.cloudflared cloudflare/cloudflared:latest tunnel --no-autoupdate run <TUNNEL-ID>
GitHub 提供のバイナリまたはソースから cloudflared をインストールした場合は、次のコマンドを実行します。
cloudflared updateパッケージマネージャーで cloudflared をインストールした場合は、同じパッケージマネージャーで更新する必要があります。
cloudflared がパッケージマネージャーでインストールされたかどうかは、ls -la /usr/local/etc/cloudflared/ を実行し、出力に .installedFromPackageManager があるかで確認できます。
Cloudflare Tunnel の導入に Cloudflare の Load Balancer 製品を使うと、ダウンタイムなしで cloudflared を更新できます。
- 新しい
cloudflaredインスタンスをインストールし、新しい Tunnel を作成します。 - 現在稼働中の
cloudflaredインスタンスと同じ、ローカルで利用できるサービスにトラフィックを向けるよう設定します。 - 新しい
cloudflaredインスタンスのアドレスを、Load Balancer プールに優先度 2 として追加します。 - 優先度を入れ替えて新しいインスタンスを優先度 1 にし、トラフィックが処理されていることを確認します。
- 確認できたら、古いバージョンを Load Balancer プールから削除できます。
Cloudflare の Load Balancer を使っていない場合は、複数の cloudflared インスタンスを使い、ダウンタイムのリスクなしで更新できます。
- 新しい
cloudflaredインスタンスをインストールし、新しい Tunnel を作成します。 - 現在稼働中の
cloudflaredインスタンスと同じ、ローカルで利用できるサービスにトラフィックを向けるよう設定します。 - Cloudflare DNS ダッシュボードで、現在の
cloudflaredインスタンスのアドレスを新しいインスタンスのアドレスに置き換えます。レコードを保存します。 - 非アクティブになった
cloudflaredインスタンスを削除します。
Windows では、サービスに一意の名前と表示名が必要です。一意の名前の cloudflared サービスを作成すると、複数の cloudflared インスタンスを実行できます。
cloudflaredをインストールして設定します。- 次に、一意の名前のサービスを作成し、
cloudflaredの実行ファイルと設定ファイルを指定します。
sc.exe create <unique-name> binPath='<path-to-exe>' --config '<path-to-config>' displayname="Unique Name"-
続けて、一意の名前で追加のサービスを作成します。
-
各サービスを起動できます。
sc.exe start <unique-name>