Skip to content

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

トンネル実行パラメーター

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

このページは、cloudflared tunnel run コマンドの構成フラグをまとめています。リモート管理トンネル の場合は、これらのフラグを トンネルサービス に追加します。ローカル管理トンネル を使っている場合は、これらのフラグを 構成ファイル にキー / 値のペアとして追加します。

トンネルサービスに run パラメーターを追加する

リモート管理トンネルは、OS 上のサービスとして動作します。トンネルサービスファイルに run パラメーターを追加するには:

Linux では、Cloudflare Tunnel は systemctl を使ってシステムサービスとしてインストールされます。デフォルトのサービス名は cloudflared.service です。Linux でトンネルを設定するには:

  1. cloudflared.service を開きます。

    sudo systemctl edit --full cloudflared.service
  2. cloudflared tunnel run コマンドに、必要な構成フラグを追加します。例:

    [Unit]
    Description=Cloudflare Tunnel
    After=network.target
    
    [Service]
    TimeoutStartSec=0
    Type=notify
    ExecStart=/usr/local/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token <TOKEN VALUE>
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target
  3. cloudflared.service を再起動します。

    sudo systemctl restart cloudflared
  4. 新しい構成を確認するには、サービスのステータスを確認します。

    sudo systemctl status cloudflared
     cloudflared.service - cloudflared
      Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
      Active: active (running) since Wed 2024-10-09 20:02:59 UTC; 2s ago
    Main PID: 2157 (cloudflared)
       Tasks: 8 (limit: 1136)
      Memory: 16.3M
         CPU: 136ms
      CGroup: /system.slice/cloudflared.service
              └─2157 /usr/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token eyJhIjoi...

macOS では、Cloudflare Tunnel は launchctl を使って launch agent としてインストールされます。デフォルトのエージェント名は com.cloudflare.cloudflared です。macOS でトンネルを設定するには:

  1. cloudflared サービスを停止します。

    sudo launchctl stop com.cloudflare.cloudflared
  2. 構成ファイルをアンロードします。

    sudo launchctl unload /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
  3. /Library/LaunchDaemons/com.cloudflare.cloudflared.plist をテキストエディターで開きます。

  4. ProgramArguments キーに、必要な構成フラグを追加します。例:

    <plist version="1.0">
        <dict>
            <key>Label</key>
            <string>com.cloudflare.cloudflared</string>
            <key>ProgramArguments</key>
            <array>
                <string>/opt/homebrew/bin/cloudflared</string>
                <string>tunnel</string>
                <string>--logfile</string>
                <string><PATH></string>
                <string>--loglevel</string>
                <string>debug</string>
                <string>run</string>
                <string>--token</string>
                <string><TOKEN VALUE> </string>
            </array>
  5. 更新した構成ファイルをロードします。

    sudo launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
  6. cloudflared サービスを開始します。

    sudo launchctl start com.cloudflare.cloudflared

Windows では、Cloudflare Tunnel はレジストリエディターを使ってシステムサービスとしてインストールされます。デフォルトのサービス名は cloudflared です。Windows でトンネルを設定するには:

  1. レジストリエディターを開きます。

  2. HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > cloudflared を開きます。

  3. ImagePath をダブルクリックします。

  4. Value data に、必要な構成フラグを追加します。例:

    C:\Program Files (x86)\cloudflared\.\cloudflared.exe tunnel --loglevel info --logfile <PATH> run --token <TOKEN VALUE>
レジストリエディターで cloudflared サービスを変更する

パラメーター

autoupdate-freq

構文 デフォルト
cloudflared tunnel --autoupdate-freq <FREQ> run <UUID or NAME> 24h

cloudflared の更新頻度を設定します。

組み込みの自動更新は、cloudflared をスタンドアロンバイナリとしてインストールし、サービスとして実行している場合に有効です。Windows、パッケージマネージャーによるインストール、ターミナルで対話的に実行している場合は使えません。更新があると、cloudflared は再起動して新しいバージョンを使います。アップデーターは、置き換え後のプロセスが Cloudflare に接続するのを待たずに、古いプロセスを終了します。アクティブな接続が中断されることがあります。更新のタイミングを制御するには、no-autoupdate を使います。

config

構文 デフォルト
cloudflared tunnel --config <PATH> run <UUID or NAME> ~/.cloudflared/config.yml

YAML 形式の 構成ファイル のパスを指定します。

dns-resolver-addrs

構文 環境変数
cloudflared tunnel run --dns-resolver-addrs <IP:PORT> <UUID or NAME> TUNNEL_DNS_RESOLVER_ADDRS

ホストマシンのデフォルトリゾルバーの代わりに、cloudflared が使うカスタム DNS リゾルバーのアドレスを指定します。各アドレスは ip:port 形式である必要があります。ポートなしの IP アドレスを指定すると、cloudflared は起動に失敗します。フラグを繰り返すと、複数のリゾルバーを指定できます。例:

cloudflared tunnel run --dns-resolver-addrs 1.1.1.1:53 --dns-resolver-addrs 1.0.0.1:53 <UUID or NAME>

複数のリゾルバーを指定した場合、cloudflared は DNS リクエストごとにランダムに 1 つを選びます。リゾルバーアドレスは最大 10 個までです。

edge-bind-address

構文 環境変数
cloudflared tunnel --edge-bind-address <IP> run <UUID or NAME> TUNNEL_EDGE_BIND_ADDRESS

cloudflared と Cloudflare グローバルネットワークの間で接続を確立するときに使う送信元 IP アドレスを指定します。

デフォルトでは、cloudflared は使用する IP アドレスをオペレーティングシステムに任せます。ネットワークインターフェイスが複数あり、特定のインターフェイスを優先したい場合に便利です。

edge-bind-address の IP バージョンは、指定されていれば edge-ip-version より優先されます。たとえば IPv6 の送信元アドレスを入力すると、cloudflared は常に IPv6 の宛先へ接続します。

edge-ip-version

構文 デフォルト 環境変数
cloudflared tunnel --edge-ip-version <VERSION> run <UUID or NAME> 4 TUNNEL_EDGE_IP_VERSION

cloudflared と Cloudflare グローバルネットワークの間で接続を確立するときに使う IP アドレスのバージョン(IPv4 または IPv6)を指定します。指定できる値は auto46 です。

auto は、ホストのオペレーティングシステムにどの IP バージョンを選ぶかを任せます。リージョン検索の DNS 解決で最初に返された IP バージョンをプライマリセットとして使います。IPv6 と IPv4 のデュアルスタック環境では、cloudflared は IP バージョンを 2 つのアドレスセットに分け、接続に失敗したときのフォールバックに使います。

grace-period

構文 デフォルト 環境変数
cloudflared tunnel --grace-period <PERIOD> run <UUID or NAME> 30s TUNNEL_GRACE_PERIOD

cloudflared は SIGINT / SIGTERM を受信すると、新しいリクエストの受け付けを止め、処理中のリクエストの終了を待ってからシャットダウンします。処理中リクエストの待機は、この猶予期間が過ぎるか、2 回目の SIGTERM / SIGINT を受信したときにタイムアウトします。

log-directory

構文 環境変数
cloudflared tunnel --log-directory <PATH> run <UUID or NAME> TUNNEL_LOGDIRECTORY

指定したディレクトリに cloudflared.log というファイルへログを書き込みます。ファイルが 1 MB に達すると、cloudflared はローテーションし、バックアップファイルを最大 5 つ保持します。ローテーションはファイルサイズに基づき、経過日数による保持はありません。

日常的な永続ログには log-directory を使います。logfile も指定した場合は、logfile が優先されます。

logfile

構文 環境変数
cloudflared tunnel --logfile <PATH> run <UUID or NAME> TUNNEL_LOGFILE

アプリケーションログをこのファイルに保存します。cloudflared はこのファイルをローテーションしません。短いトラブルシューティングや、別のツールがログローテーションを管理している場合に logfile を使います。log-directory も指定した場合は、logfile が優先されます。Cloudflare サポートへ問い合わせるときに必要な情報の詳細は、このガイド を参照してください。

loglevel

構文 デフォルト 環境変数
cloudflared tunnel --loglevel <VALUE> run <UUID or NAME> info TUNNEL_LOGLEVEL

ローカルの cloudflared インスタンスのログ詳細度を指定します。指定できる値は debuginfo(デフォルト)、warnerrorfatal です。debug レベルでは、cloudflared はリクエスト URL、メソッド、プロトコル、コンテンツ長、およびすべてのリクエストヘッダーとレスポンスヘッダーを記録して表示します。ただし、ログに機密情報が含まれる可能性がある点に注意してください。

metrics

構文 デフォルト 環境変数
cloudflared tunnel --metrics <IP:PORT> run <UUID or NAME> トンネルメトリクス を参照 TUNNEL_METRICS

指定した IP アドレスとポートで Prometheus エンドポイントを公開します。このエンドポイントにクエリして 使用量メトリクス を取得できます。

no-autoupdate

構文 環境変数
cloudflared tunnel --no-autoupdate run <UUID or NAME> NO_AUTOUPDATE

cloudflared の自動更新を無効にします。自動更新の間隔を変更する場合は、autoupdate-freq を参照してください。手動更新の方法とダウンタイムを抑える選択肢は、cloudflared の更新 を参照してください。

output

構文 デフォルト 環境変数
cloudflared tunnel --output <FORMAT> run <UUID or NAME> default TUNNEL_LOG_OUTPUT
TUNNEL_MANAGEMENT_OUTPUT

コンソールログの形式を指定します。指定できる値は defaultjson です。

json を指定すると、各ログ行を JSON オブジェクトとして出力します。Kubernetes へのデプロイや、JSON を取り込むログ収集システムに適しています。

origincert

構文 デフォルト 環境変数
cloudflared tunnel --origincert <PATH> run <UUID or NAME> ~/.cloudflared/cert.pem TUNNEL_ORIGIN_CERT

いずれかのゾーンの アカウント証明書 を指定し、そのゾーンのオリジンとしてクライアントが動作することを許可します。証明書は cloudflared tunnel login コマンド、または https://dash.cloudflare.com/argotunnel から取得できます。

pidfile

構文 環境変数
cloudflared tunnel --pidfile <PATH> run <UUID or NAME> TUNNEL_PIDFILE

最初の接続に成功したあと、アプリケーションのプロセス識別子(PID)をこのファイルに書き込みます。主にスクリプトやサービス連携で使います。

post-quantum

構文 環境変数
cloudflared tunnel run --post-quantum <UUID or NAME> TUNNEL_POST_QUANTUM

デフォルトでは、quic 経由の Cloudflare Tunnel 接続は 耐量子暗号(PQC) で暗号化されますが、接続に問題がある場合は非 PQ へフォールバックします。--post-quantum フラグを指定すると、quic 接続は PQ 鍵合意だけを許可し、非 PQ へのフォールバックはありません。

http2 プロトコルを使う場合、耐量子鍵合意はサポートされません。

protocol

構文 デフォルト 環境変数
cloudflared tunnel --protocol <VALUE> run <UUID or NAME> auto TUNNEL_TRANSPORT_PROTOCOL

cloudflared と Cloudflare グローバルネットワークの間で接続を確立するときに使うプロトコルを指定します。指定できる値は autohttp2quic です。

auto は自動的に quic プロトコルを設定します。cloudflared が UDP 接続を確立できない場合は、http2 プロトコルへフォールバックします。

region

構文 環境変数
cloudflared tunnel --region <VALUE> run <UUID or NAME> TUNNEL_REGION

接続先のリージョンを選べます。現在指定できる値は us だけで、すべての接続を米国のデータセンター経由にします。省略するか空にすると、グローバルリージョンへ接続します。

リージョンを us に設定すると、cloudflared は米国専用のホスト名と IP を使います。詳細は ファイアウォール環境の Tunnel を参照してください。

retries

構文 デフォルト 環境変数
cloudflared tunnel --retries <VALUE> run <UUID or NAME> 5 TUNNEL_RETRIES

接続 / プロトコルエラーの最大再試行回数を指定します。再試行は指数バックオフ(デフォルトでは 1、2、4、8、16 秒)を使うため、この値を大きく増やすことは推奨しません。

tag

構文 環境変数
cloudflared tunnel --tag <KEY=VAL> run <UUID or NAME> TUNNEL_TAG

このトンネルを識別するためのカスタムタグを指定します。コマンドに --tag <KEY=VAL> フラグを追加すると、複数のタグを指定できます。構成ファイルに複数のタグを入力する場合は、カンマで区切ります: tag: {KEY1=VALUE1, KEY2=VALUE2}

token

構文 環境変数
cloudflared tunnel run --token <TUNNEL_TOKEN> TUNNEL_TOKEN

cloudflared インスタンスを特定のトンネルに関連付けます。トンネルのトークンは、最初に トンネルを作成 したときにダッシュボードに表示されます。API でもトークンを取得できます。

token-file

構文 環境変数
cloudflared tunnel run --token-file <PATH> TUNNEL_TOKEN_FILE

トークンを含むファイルを使い、cloudflared インスタンスを特定のトンネルに関連付けます。

役に立ちましたか?