Azure VMのシリアルコンソールを使ってみた

Azure,Virtual Machine

Azure Portalで仮想マシン(VM)のリソース メニューを見ているとシリアルコンソールという項目があります。
これはAzure Portal経由で仮想マシンにアクセスする為の機能になります。

Azure シリアル コンソール

CLIベースで仮想マシンにアクセスする事が出来る為トラブル時の対応等に利用する事が出来ます。
今回はAzure仮想マシンのシリアルコンソールの設定から接続までやってみました。
シリアルコンソール接続はWindows(Sever 2022)、Linux(Cent OS)それぞれのOSでやってみました。

スポンサーリンク

Azure仮想マシンでシリアルコンソールの設定をしてみる

前提条件

Azure 仮想マシンでシリアルコンソールを利用する為には事前準備が必要になります。

Azure シリアル コンソールにアクセスするための前提条件

公式サイトの内容を纏めるとこんな感じになります。

    • 仮想マシンでブート診断有効化
    • ブート診断で使うストレージアカウントを準備
    • OS上にパスワード認証でログイン出来るユーザーを準備
    • 仮想マシンとストレージアカウントに仮想マシン共同作成者の権限付与

特に注意が必要なのがブート診断のストレージアカウントで”カスタム ストレージ アカウントで有効にする”を選択する必要があります。またブート診断で使うストレージアカウントは仮想マシンと同じロケーションに存在し、すべてのネットワークからアクセスできる必要があります。(2022年3月現在)

仮想マシンのシリアルコンソール設定手順

Azure 仮想マシンでシリアルコンソールを使う為にはブート診断の設定が必要になります。
ブート診断の設定さえすればシリアルコンソール自体の設定は特に必要ありません。
シリアルコンソールのリソースメニューを開くと自動的に接続が開始されます。

    • 仮想マシンのブート診断を有効化
    • シリアルコンソール接続

※ストレージアカウントは同じロケーションに準備済み、仮想マシン共同作成者の権限付与済み、OSにパスワード認証でログイン出来るユーザーは準備済みと言う前提で進めます。

仮想マシンでブート診断設定をする

仮想マシンでブート診断設定をします。

ブート診断設定
仮想マシンのリソースメニューでブート診断を選択します。
ブート診断が構成されていない場合は構成されていない旨のメッセージが表示されます。
設定をクリックします。

カスタムストレージを有効にするを選択します。
診断ストレージアカウントで事前に準備しておいたストレージアカウントを選択します。
保存したらブート診断設定は完了です。

※ストレージアカウントは仮想マシンと同じ場所(ロケーション)に存在する必要があります。

ブート診断やシリアルコンソール設定時に表示されたエラーメッセージ

シリアルコンソール設定している時に表示されたメッセージです。
ブート診断の設定に問題がある場合に表示されるケースが多いようです。
またクライアントがWindows10などの場合もシリアルコンソール接続非対応なのでシリアルコンソール接続開始後にエラーが表示されます。

エラーメッセージ
ブート診断設定が有効になっていない場合です。
ブート診断設定を有効にするようにメッセージが表示されます。
ブート診断設定が有効でもマネージドストレージアカウントを使っている場合です。
完全な互換性が無いとのメッセージが表示されます。
ブート診断設定を確認します。

シリアルコンソール接続してみる

仮想マシンへシリアルコンソール接続してみます。

シリアルコンソール接続
シリアルコンソール接続する場合は仮想マシンが起動している必要があります。
起動していない場合開始ボタンを使って仮想マシンを起動します。

しばらくすると仮想マシンとシリアルコンソール接続されます。

※画面サンプルはWindowsの場合です。

Azure Portal経由で仮想マシンにアクセスする方法にはAzure Bastionもある

Azure Bastionを使ってもAzure Portal経由で仮想マシンにアクセスする事が出来ます。
Azure Bastionを使って仮想マシンにアクセスする方法についてはこちらを参照ください。

WindowsのAzure仮想マシンへシリアルコンソール接続

Windowsの場合はSpecial Administration Console(SAC)でのアクセスとなる

Windows仮想マシンのシリアルコンソール接続の場合はSpecial Administration Console(SAC)でのアクセスとなります。
SACはWindows2003から追加になった緊急時に使うコンソール画面になります。

Emergency Management Services Tools and Settings
Windows仮想マシンではEMSのSACコンソールを利用

SACを使うとOSのシャットダウン等の対応以外にもコマンドプロンプトを呼び出すことも出来ます。

※SACはWindows Sever OSのみで利用可能です。Windows10等のクライアントOSでは、SACが使えない為シリアルコンソール接続は利用できません。

Windowsの仮想マシンでシリアルコンソール接続してみる

シリアルコンソール接続は仮想マシンのリソース メニューから利用できます。

アクティビティログの診断設定
シリアルコンソールを選択すると自動的に仮想マシンへ接続が開始されます。接続が完了するとSACの画面が表示されます。

?を入力するとSACのコマンドヘルプが表示されます。

SACで実際にコマンドを実行してみます。
shutdownと入力して実行してみます。
OSのシャットダウンが開始されます。実行後に仮想マシンステータスを確認するとstoppedになっている事が出来ます。

※OSのシャットダウンになります。割り当て解除が必要な場合は別途停止が必要になります。

SACからコマンドプロンプトへ切り替える

SACからコマンドプロンプトを呼び出す為にはコマンドプロンプトチャネルを作成が必要になります。

    • コマンドプロンプト呼び出し方法
      • コマンドプロンプトチャネルを作成する
      • コマンドプロンプトチャネルを表示する
コマンドプロンプトに切り替え

SACでcmdと入力します。
そうするとChannelが作成されたメッセージが表示されます。

※チャネルはCmd000Xになります。今回の場合Cmd0003になります。

コマンドプロンプトチャネルを表示させる為にはESCキー+TABキーを押します。

※チャネル番号(今回の場合であれば3)も一緒に押す事で表示の切り替えが可能です。

コマンドプロンプトチャネルが表示されます。
Enterキーを押します。
OSへのログイン画面が表示されます。
OSのユーザー名、パスワードを入力します。
OSへのログインが完了するとコマンドプロンプトが表示されます。
hostnameを実行すると仮想マシンのホスト名が表示されました。
OS上のコマンドプロンプトが使えている事が分かります。

LinuxのAzure仮想マシンへシリアルコンソール接続

Linux(Cent OS 8.4)の仮想マシンにシリアルコンソール接続してみます。

シリアルコンソール接続
Linuxの場合はログイン画面が表示されます。
SSHで接続した場合と同じ形になります。

※鍵を使ったログインは出来ません。

最後に

今回は仮想マシンでシリアルコンソール接続を試してみました。
ブート診断設定をするだけで使えるので非常にお手軽に使える便利な機能かと思いました。
仮想マシンに接続出来ない場合などの一次対応で使ってみても良いのではと思いました。