Azure VMのシリアルコンソール設定手順や接続方法

2022-03-20Azure,Virtual Machine

仮想マシン(Azure VM)のシリアルコンソールの概要から必要な設定、接続までの手順を紹介します。
仮想マシンにシリアル接続した際のアクティビティログについても確認します。

Azure Portalで仮想マシンのメニューを確認すると、"シリアルコンソール"というメニューがあります。
これはCLIベースで仮想マシンのOSへアクセスできるサービスです。
仮想マシンのOSが起動しない場合などの原因確認や復旧等に利用できます。

※本記事ではAzure Portalでの接続方法を中心に記載しています。
※シリアルコンソール接続はAzure CLIでも利用できます。
※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。

スポンサーリンク

仮想マシンのシリアルコンソール概要や前提条件

シリアルコンソールとは?

仮想マシンにCLI(Command Line Interface)でアクセスできる機能です。
仮想マシンのコンソール出力結果を表示します。
Azure PortalのシリアルコンソールのメニューやAzure CLIからアクセスできます。

Azure シリアル コンソール

リモート接続できない場合や仮想マシンのブート状況の確認など、主にトラブルシューティング時に利用します。

シリアルコンソールを利用するための前提条件

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

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

ブート診断設定やパスワード認証でログインできるユーザーアカウントなどが必要になります。

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

ブート診断でカスタムストレージアカウントを利用する場合は追加で設定が必要となります。 

    • 診断設定に指定したストレージ アカウントでストレージ アカウント キー アクセスの許可を有効化
    • ストレージアカウントのファイアウォール設定でIPアドレスのアクセス許可

ストレージアカウントでファイアウォールを有効化している場合、指定のIPアドレスからのアクセス許可が必要になります。
許可が必要なIPアドレスは仮想マシンのリージョンに依存します。

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

サブスクリプション単位でシリアルコンソール接続を無効化

セキュリティ的にシリアルコンソールを無効化しておきたい場合もあるかと思います。
サブスクリプション単位での有効化や無効化ができます。

サブスクリプション レベルの有効化/無効化

課金

シリアルコンソール接続の利用自体には課金は掛かりません。

Azure Bastionとの違い

同じくAzure Portalで仮想マシンへアクセスするサービスとしてAzure Bastionがあります。
Azure Bastionはセキュアな仮想マシンへのアクセスを提供するPaaSです。
仮想マシンへのリモート接続(SSHやRDP)を安全に提供するためのサービスです。

一方でシリアルコンソール接続は仮想マシンのコンソール出力を表示します。

普段のリモート接続時にはAzure Bastionを使い、リモート接続できない場合などトラブルシューティング時にシリアルコンソール接続を利用すると言ったように使い分けされます。

Azure Bastionを使って仮想マシンにアクセスする方法についてはこちらで紹介しています。

仮想マシンのシリアルコンソール設定手順やログ確認

シリアルコンソール設定内容

仮想マシンのブート診断の設定が必要になります。
シリアルコンソール自体の設定はありません。

仮想マシンのブート診断設定

仮想マシンのブート診断を有効化します。

ブート診断設定
左側のメニューでブート診断を選択します。
ブート診断を未設定の場合は、"この仮想マシンにはブート診断が構成されてません"とメッセージが表示されます。
設定を選択します。
Azure VMのブート診断(メニュー画面)

マネージドストレージアカウントもしくはカスタムストレージアカウントで有効にするを選択します。
適用を選択します。

Azure VMのブート診断(設定画面)

シリアルコンソール接続

仮想マシンへシリアルコンソール接続して確認します。
仮想マシンが実行中である事が必要です。

シリアルコンソール接続
起動していない場合は開始ボタンで仮想マシンを起動します。
シリアルコンソールのメニューを選択してしばらく待つと接続画面が表示されます。

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

Azure VMのシリアルコンソール画面(未開始時)
Azure VMのシリアルコンソール画面(接続時)(Windows)

OSにパスワード認証のアカウントが存在しない場合

OSにパスワード認証でログイン出来るユーザーが無い場合は、パスワード認証でログインできる管理者アカウントを追加します。
パスワードリセットを使って仮想マシンの管理者アカウントを追加する手順はこちらに記載しています。

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

Windowsの仮想マシンのシリアルコンソール接続についてはこちらで紹介しています。
Windowsの仮想マシンの場合は、SAC(Special Administration Console)への接続になります。
SACの概要からシリアルコンソール接続、コマンドプロンプト起動、OSやサービスの起動停止などを記載しています。

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

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

Linux 用 Azure シリアル コンソール

※画面はRocky Linux 8.9の場合です。

シリアルコンソール接続

ログイン画面が表示されます。
ログインするとOS上でコマンドを実行できます。

※ログインが表示されていない場合はエンターキーを押すと表示されます。
※OSの起動エラーなどの場合はブート時のログが表示され、ログインが表示されません。

Azure VMのシリアルコンソール画面(Linuxログイン表示)
Azure VMのシリアルコンソール画面(Linuxログイン後)

シリアルコンソール接続のアクテビティログ

アクティビティログに仮想マシンへシリアルコンソール接続のログが出力されます。

アクティビティログ
仮想マシンのアクティビティログに"Connect"の操作名でログが出力されます。
リソースにMicrosoft.SerialConsoleのログが出力されます。
Azure VM シリアルコンソール接続時のアクティビティログ

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

シリアルコンソール設定している時に表示されたメッセージです。
ブート診断、ストレージアカウントの設定に問題がある場合に表示されるケースが多いようです。

エラーメッセージ
ブート診断設定が有効になっていない場合です。
ブート診断設定を有効にするようにメッセージが表示されます。
Azure VMのシリアルコンソール画面(エラー画面(ブート診断))

最後に

仮想マシンのシリアルコンソール接続について確認してみました。
設定もブート診断だけと非常に簡単に使えます。

仮想マシンへリモート接続出来ない、OSが起動しない場合などトラブルシューティング時に利用できます。
実際にRocky Linuxのfstabの設定を間違えてOSが起動しなくなった時の確認に利用したりしました。

引き続き色々試してみたいと思います。

スポンサーリンク