- ホーム
- マルチクラウドネットワーク
- Customer Edge diagnostics
- Reaching a Customer Edge
- サイトコンソール
サイトコンソール
2026-07-28 に、本デプロイメントの 1 台の CE から取得。sitecli/capture-manifest.json
にどのノードかが記録されており、scripts/capture-sitecli.sh --check により稼働中の CE
に対してコマンド群を再検証できます。
すべての Customer Edge は https://<sli-ip>:65500 で F5 のサイトコンソールを提供します。
本デプロイメントでは通常、これが最初に試すべき経路です。
要求されるものが最も少ない方法です。配布する SSH キーも、維持する踏み台ホストも、ノード上の
パブリック IP も、有効化のための VM 置き換えも不要です。誰が接続できるかは Azure RBAC の
判断になります。またサイトが登録されている必要もありません。本ページは 3 つのサイトすべてが
site_state: FAILED を報告している最中に最初に取得され、同じノードが ONLINE になった後にも
変化がないことを再検証しています。
難点は、サイトコンソールがノードの内部 (SLI) アドレスでのみ応答し、そのアドレスは VNet 内部から のみ到達可能であることです。Azure Bastion は、ネットワーク上に他のものを一切追加せずにその ギャップを埋めます。
-
Azure にサインインし、Bastion 拡張機能を追加します。トンネリングはネイティブクライアントの 機能であり、拡張機能はデフォルトではインストールされていません。
Terminal window az loginaz extension add --name bastion -
CE 仮想マシン、そのネットワークインターフェイス、および Bastion ホストに対して Reader を 保持します。これは Microsoft が文書化している要件であり、ここでは未検証です。本デプロイ メントでのすべての実行はサブスクリプション所有者として行われたため、より低い権限のロールで 十分か不十分かは示されていません。
-
Bastion がデプロイされ、必要な機能を備えていることを確認します。Basic SKU はトンネリングも IP ベース接続もサポートしないため、ここでの
StandardとTrueはどちらも重要です。Terminal window az network bastion list -g "$(terraform output -raw resource_group_name)" \--query "[].{name:name, sku:sku.name, tunneling:enableTunneling}" -o tableName Sku Tunneling----------------- -------- -----------mcn-ce-ha-bastion Standard True
トンネルを開く
Section titled “トンネルを開く”値は手入力せず terraform output から取得してください。リソース ID は手作業で組み立てるような
ものではありません。
-
Bastion ホスト名、リソースグループ、対象 CE の VM リソース ID を読み取ります。
Terminal window cd terraformBASTION=$(terraform output -raw bastion_name)RG=$(terraform output -raw resource_group_name)VM_ID=$(terraform output -json ce_vm_ids | jq -r '.eastus01')mcn-ce-ha-bastionrg-mcn-ce-ha-<deployer>/subscriptions/…/providers/Microsoft.Compute/virtualMachines/f5-xc-ce-vm-01 -
トンネルを開始します。停止するまでポートを開いたままにするため、バックグラウンドで実行するか 別のターミナルを使用してください。
Terminal window az network bastion tunnel \--name "$BASTION" \--resource-group "$RG" \--target-resource-id "$VM_ID" \--resource-port 65500 \--port 65500 &WARNING: Opening tunnel on port: 65500WARNING: Tunnel is ready, connect on port 65500WARNING: Ctrl + C to close3 行すべてに
WARNING:が付いています。これは Azure CLI が進行状況を stderr に書き出して いるだけで、問題ではありません。接続する前にTunnel is readyを待ってください。 -
リスナーがローカルのループバック上にあることを確認します。
Terminal window lsof -nP -iTCP:65500 -sTCP:LISTENCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEPython 41648 you 7u IPv4 … 0t0 TCP 127.0.0.1:65500 (LISTEN) -
コンソールを開きます。トンネルによりローカル扱いになるため、アドレスはノードのアドレスでは なく
localhostです。Terminal window open https://localhost:65500/ # macOSxdg-open https://localhost:65500/ # Linux -
終了したらトンネルを停止します。
Ctrl-C、またはバックグラウンド実行した場合はkill %1です。 開いたままにしておくとローカルポート 65500 と Bastion セッションを占有し続けます。
表示される内容
Section titled “表示される内容”ログインページではなく、資格情報ダイアログです。 コンソールは HTTP Basic 認証を使用するため、 ブラウザ自身がユーザー名とパスワードのプロンプトを表示します。表示されるフォームはありません。
curl -skI https://localhost:65500/HTTP/1.1 401 UnauthorizedWWW-Authenticate: Basic realm="Volterra Site Console"Content-Type: text/html; charset=utf-8Content-Length: 0そのレルムを伴う 401 は、コンソールが正しく動作している証拠です。認証されていないリクエストが
受け取るべきものであり、同じ URL に admin 資格情報を渡すと 200 が返ります。これがブラウザを
開く前に資格情報を確認する方法です。
curl -sk -u admin -o /dev/null -w '%{http_code}\n' https://localhost:65500/Enter host password for user 'admin':200コロンを付けない -u admin にすると、curl はコマンドラインからパスワードを取得する代わりに
入力を促します。コマンドラインに書くとシェル履歴やプロセス一覧に残ってしまいます。
証明書の警告が、同時に 3 つの理由で発生します。 証明書を直接確認すると次のとおりです。
openssl s_client -connect localhost:65500 -servername localhost </dev/null 2>/dev/null \ | openssl x509 -noout -subject -issuer -datessubject=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ioissuer=C=US, ST=California, L=Santa Clara, O=Volterra, OU=Volterra Edge Services, CN=site-local.volterra.ionotBefore=Oct 25 04:51:31 2024 GMTnotAfter=Oct 25 04:51:31 2025 GMTsubject と issuer が同一であるため、自己署名です。名前は site-local.volterra.io ですが接続先は
localhost であるため一致しません。さらに本デプロイメントが動作しているビルドでは、
証明書は 2025 年 10 月 25 日に期限切れになっています。アプライアンスに同梱されているもので、
本リポジトリ内には更新する仕組みはありません。
無遠慮なブラウザ警告が、しかも毎回表示されると想定してください。上記の subject 行が有用な部分です。 ローカルポート 65500 で待ち受けている別の何かではなく、確かにアプライアンスに到達したことを 確認する手段になります。
admin 資格情報
Section titled “admin 資格情報”admin としてサインインします。本ドキュメントはパスワードを公開しませんし、公開すべきでも
ありません。
公開しないことが、見た目以上にここで重要である理由は 2 つあります。
- 本ドキュメントは公開されています。フリート現行のコンソールパスワードを掲載すれば、「Bastion に 対して Reader を保持している」ことが、このページを読んだ誰にとってもアプライアンスへの完全な アクセスに変わってしまいます。
- ドキュメントに公開されたパスワードは、誰かがローテーションした瞬間に誤りになります。しかも 最も誤解を招く形で誤りになります。読者は、ページが古いのではなく自分のアクセスが壊れていると 結論づけてしまうのです。
ローテーション後は、チームが運用上のシークレットを保管している場所から取得してください。
トンネルがリソース ID を対象としなければならない理由
Section titled “トンネルがリソース ID を対象としなければならない理由”--target-resource-id は必須です。代わりにノードのアドレスを指定すると拒否されます。どのアドレス
を使っても同じであるため、ここでは意図的に実際のアドレスを記載していません。
az network bastion tunnel --name "$BASTION" -g "$RG" \ --target-ip-address <any-sli-address> --resource-port 65500 --port 65501ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389.理由は IP ベース接続が無効になっているためでは ありません。この Bastion では
ip_connect_enabled は true です。Microsoft はその設定にかかわらず、IP ベースのネイティブ
クライアント接続でのカスタムポートをサポートしていません
(Azure ドキュメント)。そして
65500 はカスタムポートです。ここで Bastion の構成を調べても何も得られません。リソース ID を
使用してください。
うまくいかない場合
Section titled “うまくいかない場合”| 症状 | 原因 | 対処 |
|---|---|---|
ERROR: Custom ports are not allowed. Allowed ports for Tunnel with IP connect is 22, 3389. | --target-ip-address を使用した | --target-resource-id を使用する |
ERROR: Defined port is currently unavailable | 別のトンネルがそのローカルポートを既に占有している | 他のトンネルを停止する、または別の --port を渡す。--resource-port は 65500 のままにする |
terraform output -raw bastion_name が null または空 | Bastion がデプロイされていない | enable_bastion = true を設定して apply する |
| トンネルは開始するがリソース ID が空 | jq フィルターがサイトキーではなく VM 名を使用した | eastus01/02/03 をキーにする |
401 Unauthorized、レルム Volterra Site Console | 障害ではない — 認証されていないリクエスト | admin 資格情報を渡す |
| ブラウザが証明書を拒否する | 自己署名、名前の不一致、2025 年 10 月以降期限切れ | 想定どおり。subject が CN=site-local.volterra.io であることを確認して続行する |