Azure仮想マシンでは、2018年3月から「シリアルコンソール」機能が利用可能です。まだ、プレビュー段階ではありますが、Azure仮想マシンに対して通常の方法で接続できないときに備え、いつでも利用できるようにセットアップしておくことをお勧めします。
Microsoft Azureの仮想マシンには、「リモートデスクトップ(RDP)接続」(Windows仮想マシンの標準)または「SSH接続」(Linux仮想マシンの標準)を利用できます。RDP接続のためのクライアントはWindowsに標準搭載(Mstsc.exe)されていますし、Windows 10 バージョン1803では、Windows版OpenSSHが標準でインストールされるようになり(C:\Windows\System32\OpenSSH\ssh.exe)、WindowsからLinux仮想マシンへの接続が手軽になりました。あるいは、「VNC」など、その他のリモートコントロールソフトウェアを導入して利用することもできるでしょう。
しかし、リモート接続は、Azure仮想マシンでゲストOSが正常に起動し、RDP接続やSSH接続に関係しているコンポーネントが問題なく機能していることが大前提です。STOPエラーで停止していても、再起動中に応答がなくなってしまっても、Azureポータル上では仮想マシンは“実行中”の状態であり、RDP接続やSSH接続が失敗する理由を知ることができません(画面1)。
Azure仮想マシン(クラシックおよびリソースマネージャー)で「ブート診断(起動の診断)」を有効にすると、WindowsやLinuxゲストのローカルコンソール出力を確認することができ、接続できない理由のヒントを得ることができる場合があります(画面2)。
しかし、「ブート診断」の表示はスクリーンショットの単なるビットマップ画像であり、キーボードやマウスでは操作できません。Windows Server 2016を実行するAzure仮想マシンの場合、通常のシャットダウンや再起動、更新プログラムのインストールに伴う再起動で異常に時間がかかることを筆者は何度か経験しています。仮想マシンをリセットすると、システムやアプリケーションのファイルの整合性が破損する恐れがあるため、RDP接続が正常に復帰するまで祈るしかありません。
AzureポータルでAzure仮想マシンに対して利用可能になった「シリアルコンソール(プレビュー)」は、Azure仮想マシンのシリアルポート(COM1)への出力の表示と、対話(ゲストOS側でシリアルコンソール機能が利用可能な場合)を可能にする機能です。この機能は、「ブート診断」機能の一部として追加されました。まだプレビュー段階ですが、リソースマネージャータイプのAzure仮想マシンで「ブート診断」機能が有効になっていれば、「設定」ブレードにある「シリアルコンソール(プレビュー)」から誰でも利用することができます。
このシリアルコンソールは対話可能であるため、RDP接続やSSH接続が利用できない場合のトラブルシューティングに役立つ可能性が多いにあります。Azure Marketplaceで提供されているLinuxイメージからデプロイされたLinux仮想マシンでは、ゲストOS側でシリアルコンソール(ttyS0)の設定が構成済みとなっています(画面3)。
SSH接続はゲストOSに対するネットワークの接続性が必須ですが、シリアルコンソールはゲストOSのネットワークの接続性に関係なく利用できます(Azureポータルとの接続性はもちろん必要)。
シリアルコンソールは歴史的にUNIXの標準的なキャラクタベースの端末であり(かつてはシリアルケーブルで複数のキーボード、マウス、ディスプレイを接続して利用されていました)、Linuxでも珍しいものではありません。SSHでログインするのと同じように、シリアルコンソールにログインして対話操作することが可能です。
Copyright © ITmedia, Inc. All Rights Reserved.