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

適用対象: ✔️ Linux VM

Note

この記事で参照されている CentOS は Linux ディストリビューションであり、EOL (End Of Life) に到達します。 適宜、使用と計画を検討してください。 詳細については、「 CentOS End Of Life ガイダンスを参照してください。

Azure portal のシリアル コンソールでは、Linux 仮想マシン (VM) および仮想マシン スケール セット インスタンス用のテキスト ベースのコンソールへのアクセスが提供されます。 このシリアル接続は、ネットワークやオペレーティング システムの状態には関係なく、VM または仮想マシン スケール セット インスタンスの ttys0 シリアル ポートに接続してそのポートへのアクセスを提供します。 このシリアル コンソールは Azure portal を使用してのみアクセスでき、VM または仮想マシン スケール セットへの共同作成者以上のアクセス ロールを持つユーザーに対してのみ許可されます。

シリアル コンソールは、VM と仮想マシン スケール セット インスタンスに対して同じ方法で動作します。 このドキュメントでは、特に記載のない限り、VM という記述にはすべて仮想マシン スケール セット インスタンスが暗黙的に含まれます。

シリアル コンソールは、グローバル Azure リージョンで一般公開されており、Azure Government ではパブリック プレビュー段階にあります。 Azure China Cloud ではまだ利用できません。

Windows 用シリアル コンソールのドキュメントについては、Windows 用シリアル コンソールに関する記事を参照してください。

Note

シリアル コンソールは、マネージド ブート診断ストレージ アカウントと互換性があります。

前提条件

  • VM または仮想マシン スケール セット インスタンスは、リソース管理デプロイ モデルを使用する必要があります。 クラシック デプロイはサポートされていません。

  • シリアル コンソールを使用するアカウントには、VM の仮想マシン共同作成者ロールおよびブート診断ストレージ アカウントが必要です

  • VM または仮想マシン スケール セット インスタンスには、パスワード ベースのユーザーが必要です。 このアカウントは、VM アクセス拡張機能のパスワードのリセット機能を使用して作成することができます。 Help セクションから Reset password を選択します。

  • VM または仮想マシン スケール セット インスタンスでは、ブート診断が有効になっている必要があります。

    Azure portal の [診断設定] ページのスクリーンショット。ブート診断オプションが有効になっています。

  • Linux ディストリビューションに固有の設定については、「シリアル コンソールの Linux ディストリビューションの可用性」を参照してください。

  • VM または仮想マシン スケール セット インスタンスは、ttys0 でシリアル出力用に構成されている必要があります。 これが Azure イメージの既定値ですが、カスタム イメージではこれを再確認してください。 詳細は以下のとおりです。

Note

シリアル コンソールを使うには、パスワードが構成されたローカル ユーザーが必要です。 SSH 公開キーだけが構成された VM または仮想マシン スケール セットは、シリアル コンソールにサインインできません。 パスワードを持つローカル ユーザーを作成するには、VM アクセス拡張機能に関する記事を参照して (Azure portal で [パスワードのリセット] を選択して表示することができます)、パスワードを持つローカル ユーザーを作成します。 また、アカウントの管理者パスワードを GRUB を使用してシングル ユーザー モードで起動してリセットすることもできます。

シリアル コンソールの Linux ディストリビューションの可用性

シリアル コンソールを正常に機能させるには、シリアル ポートでコンソール メッセージを読み書きするように、ゲスト オペレーティング システムを構成する必要があります。 ほとんどの Azure での動作保証済み Linux ディストリビューションは、既定で構成済みのシリアル コンソールを備えています。 azure portal の Help セクションで Serial コンソールを選択すると、シリアル コンソールにアクセスできます。

Note

シリアル コンソールに何も表示されない場合、VM でそのブート診断が有効になっていることを確認してください。 多くの場合、Enter キーを押すと、シリアル コンソールに何も表示されない問題が解決します。

Distribution シリアル コンソール アクセス
Red Hat Enterprise Linux シリアル コンソール アクセスが既定で有効になっています。
CentOS シリアル コンソール アクセスが既定で有効になっています。
Debian シリアル コンソール アクセスが既定で有効になっています。
Ubuntu シリアル コンソール アクセスが既定で有効になっています。
CoreOS シリアル コンソール アクセスが既定で有効になっています。
SUSE Azure で使用できる SLES イメージでは、シリアル コンソール アクセスが既定で有効になっています。
Oracle Linux シリアル コンソール アクセスが既定で有効になっています。

カスタム Linux イメージ

カスタム Linux VM イメージのシリアル コンソールを有効にするには、/etc/inittab ファイルでコンソール アクセスを有効にして、ttyS0 でターミナルを実行します。 (例: S0:12345:respawn:/sbin/agetty -L 115200 console vt102)。 また、ttyS0 上で getty の生成が必要になる場合もあります。 これは systemctl start serial-getty@ttyS0.service を使用して行えます。

さらに、ttys0 をシリアル出力の宛先として追加することができます。 シリアル コンソールと連動するようにカスタム イメージを構成する方法の詳細については、「Azure 上での Linux VHD の作成とアップロード」で一般的なシステム要件を参照してください。

カスタム カーネルを構築する場合は、CONFIG_SERIAL_8250=yCONFIG_MAGIC_SYSRQ_SERIAL=y のカーネル フラグを有効にすることを考慮してください。 構成ファイルは、通常は /boot/ パスにあります。

シリアル コンソールにアクセスする一般的なシナリオ

シナリオ シリアル コンソールでのアクション
壊れた FSTAB ファイル Enter キーを押して続行し、テキスト エディターを使って FSTAB ファイルを修正します。 そのためには、シングル ユーザー モードにすることが必要な場合があります。 詳しくは、fstab の問題の修正方法に関するページのシリアル コンソールのセクション、および「シリアル コンソールを使用して GRUB とシングル ユーザー モードにアクセスする」をご覧ください。
不適切なファイアウォール規則 SSH 接続をブロックするように iptables を構成した場合は、シリアル コンソールを使用して、SSH を必要とせずに VM と対話できます。 詳しくは、iptables の man ページをご覧ください。
同様に、firewalld によって SSH アクセスがブロックされている場合は、シリアル コンソールを通じて VM にアクセスし、firewalld を再構成できます。 詳しくは、firewalld のドキュメントをご覧ください。
ファイル システムの破損/チェック シリアル コンソールを使用した破損したファイル システムのトラブルシューティングの詳細については、 Azure Linux VM がファイル システム エラーのために起動できない のシリアル コンソールのセクションを参照してください。
SSH 構成の問題 シリアル コンソールにアクセスし、設定を変更します。 シリアル コンソールは、VM にネットワーク接続がなくても機能するので、VM の SSH 構成に関係なく使用できます。 トラブルシューティング ガイドは、「Azure Linux VM に対する SSH 接続の失敗、エラー、拒否のトラブルシューティング」にあります。 詳しくは、「Azure での Linux VM 接続問題に関する SSH の詳細なトラブルシューティングの手順」をご覧ください
ブートローダーの操作 シリアル コンソール ブレードから VM を再起動して、Linux VM 上の GRUB にアクセスします。 詳細および distro 固有の情報については、「シリアル コンソールを使用して GRUB とシングル ユーザー モードにアクセスする」をご覧ください。

シリアル コンソールを無効にする

既定では、すべてのサブスクリプションは、シリアル コンソールのアクセスが有効になっています。 サブスクリプション レベルまたは VM/仮想マシン スケール セット レベルのいずれかで、シリアル コンソールを無効にすることができます。 詳細な手順については、「Azure シリアル コンソールの有効化と無効化」を参照してください。

シリアル コンソールのセキュリティ

カスタム ブート診断ストレージ アカウントのファイアウォールが有効になっているシリアル コンソールを使用する

シリアル コンソールは、接続ワークフローでブート診断用に構成されたストレージ アカウントを使用します。 このストレージ アカウントでファイアウォールが有効になっている場合は、シリアル コンソール サービス IP を除外として追加する必要があります。 これを行うには、次の手順を実行します。

  1. 有効にしたカスタム ブート診断ストレージ アカウント ファイアウォールの設定に移動します。

    Note

    VM で有効になっているストレージ アカウントを確認するには、 Support + troubleshooting セクションで Boot diagnostics>Settings を選択します。

  2. VM の地理的な場所に基づいて、ファイアウォールの除外としてシリアル コンソール サービス IP を追加します。

    次の表に、VM が配置されているリージョンまたは地域に基づいてファイアウォールの除外として許可する必要がある IP を示します。 これは、 SerialConsole サービス タグで使用されるシリアル コンソールの IP アドレスの完全な一覧のサブセットです。 SerialConsole サービス タグを使用して、ブート診断ストレージ アカウントへのアクセスを制限できます。 サービス タグはリージョンで区切られません。 サービス タグのトラフィックは受信のみであり、シリアル コンソールは顧客制御可能な宛先へのトラフィックを生成しません。 現在、Azure ストレージ アカウント のファイアウォールではサービス タグはサポートされていませんが、 SerialConsole サービス タグをプログラムで使用して IP 一覧を特定できます。 サービス タグについて詳しくは、「仮想ネットワークのサービス タグ」を参照してください。

    Note

    シリアル コンソールのストレージ アカウント ファイアウォールは、イタリアのイタリア北部など、リージョンが 1 つだけの地域の VM ではサポートされていません。

    IP アドレス (IP address) 地域 地理的な場所
    20.205.69.28 東アジア、東南アジア AsiaPacific
    20.195.85.180 東アジア、東南アジア AsiaPacific
    20.53.53.224 オーストラリア中部、オーストラリア中部 2、オーストラリア東部、オーストラリア南東部 オーストラリア
    20.70.222.112 オーストラリア中部、オーストラリア中部 2、オーストラリア東部、オーストラリア南東部 オーストラリア
    191.234.136.63 ブラジル南部、ブラジル南東部 ブラジル
    20.206.0.194 ブラジル南部、ブラジル南東部 ブラジル
    52.228.86.177 カナダ中部、カナダ東部 カナダ
    52.242.40.90 カナダ中部、カナダ東部 カナダ
    20.45.242.18 カナリア (EUAP)
    20.51.21.252 カナリア (EUAP)
    52.146.139.220 北ヨーロッパ、西ヨーロッパ ヨーロッパ
    20.105.209.72 北ヨーロッパ、西ヨーロッパ ヨーロッパ
    20.111.0.244 フランス中部、フランス南部 フランス
    52.136.191.10 フランス中部、フランス南部 フランス
    51.116.75.88 ドイツ北部、ドイツ中西部 ドイツ
    20.52.95.48 ドイツ北部、ドイツ中西部 ドイツ
    20.192.168.150 インド中部、インド南部、インド西部 インド
    20.192.153.104 インド中部、インド南部、インド西部 インド
    20.43.70.205 東日本、西日本 日本
    20.189.228.222 東日本、西日本 日本
    20.200.196.96 韓国中部、韓国南部 韓国
    52.147.119.29 韓国中部、韓国南部 韓国
    20.100.1.184 ノルウェー西部、ノルウェー東部 ノルウェイ
    51.13.138.76 ノルウェー西部、ノルウェー東部 ノルウェイ
    20.208.4.98 スイス北部、スイス西部 スイス
    51.107.251.190 スイス北部、スイス西部 スイス
    20.45.95.66 アラブ首長国連邦中部、アラブ首長国連邦北部 アラブ首長国連邦
    20.38.141.5 アラブ首長国連邦中部、アラブ首長国連邦北部 アラブ首長国連邦
    20.90.132.144 英国南部、英国西部 UnitedKingdom
    20.58.68.62 英国南部、英国西部 UnitedKingdom
    51.12.72.223 スウェーデン中部、スウェーデン南部 スウェーデン
    51.12.22.174 スウェーデン中部、スウェーデン南部 スウェーデン
    20.98.146.84 米国中部、米国東部 2、米国東部、米国中北部、米国中南部、米国西部 2、米国西部 3、米国中西部、米国西部 米国
    20.98.194.64 米国中部、米国東部 2、米国東部、米国中北部、米国中南部、米国西部 2、米国西部 3、米国中西部、米国西部 米国
    20.69.5.162 米国中部、米国東部 2、米国東部、米国中北部、米国中南部、米国西部 2、米国西部 3、米国中西部、米国西部 米国
    20.83.222.102 米国中部、米国東部 2、米国東部、米国中北部、米国中南部、米国西部 2、米国西部 3、米国中西部、米国西部 米国
    20.83.222.100 米国中部、米国東部 2、米国東部、米国中北部、米国中南部、米国西部 2、米国西部 3、米国中西部、米国西部 米国
    20.141.10.131 すべての米国政府機関向けクラウド リージョン UsGov
    52.235.252.253 すべての米国政府機関向けクラウド リージョン UsGov
    143.64.47.39 中国北部 3 中国
    163.228.70.115 中国東部 3 中国

    重要

    • 許可する必要がある IP は、VM が配置されているリージョンに固有です。 たとえば、北ヨーロッパ リージョンにデプロイされた仮想マシンでは、ヨーロッパ地域のストレージ アカウント ファイアウォール (52.146.139.220 および 20.105.209.72) に次の IP 除外を追加する必要があります。 上記の表を参照して、地域と地域に適した IP を見つけます。
    • 現在のシリアル コンソール操作では、Web ソケットが <region>.gateway.serialconsole.azure.com などのエンドポイントに対して開かれます。 組織内のブラウザー クライアントに対してエンドポイント serialconsole.azure.com が許可されていることを確認します。 米国政府 (Fairfax) クラウドでは、エンドポイント サフィックスは serialconsole.azure.us

    ストレージ アカウント ファイアウォールに IP を追加する方法の詳細については、「 Azure Storage ファイアウォールと仮想ネットワークの構成: IP ネットワーク規則の管理」を参照してください。

IP アドレスがストレージ アカウントのファイアウォールに正常に追加されたら、VM へのシリアル コンソール接続を再試行します。 接続に問題がある場合は、VM のリージョンのストレージ アカウント ファイアウォールから正しい IP アドレスが除外されていることを確認します。

アクセス セキュリティ

シリアル コンソールへのアクセスは、仮想マシンに対する仮想マシン共同作成者以上のアクセス ロールを持つユーザーだけが限定されています。 Microsoft Entra テナントで多要素認証 (MFA) が必要な場合は、シリアル コンソールのアクセスが Azure ポータルを介しているため、シリアル コンソールへのアクセスにも MFA が必要になります

チャネル セキュリティ

送受信されるすべてのデータは、TLS 1.2 以降のバージョンで転送中に暗号化されます。

データストレージと暗号化

Azure シリアル コンソールでは、仮想マシンのシリアル ポートとの間で送受信されるデータの確認、検査、格納は行われません。 そのため、保存時に暗号化するデータはありません。

Azure シリアル コンソールを実行している仮想マシンによってディスクにページングされるメモリ内データが確実に暗号化されるようにするには、 ホスト ベースの暗号化を使用します。 ホストベースの暗号化は、すべての Azure シリアル コンソール接続に対して既定で有効になっています。

データの保存場所

Azure portal または Azure CLI は、仮想マシンのシリアル ポートへのリモートターミナルとして機能します。 これらのターミナルは、ネットワーク経由で仮想マシンをホストするサーバーに直接接続できないため、中間サービス ゲートウェイを使用してターミナル トラフィックをプロキシします。 Azure シリアル コンソールでは、この顧客データは格納または処理されません。 データを転送する中間サービス ゲートウェイは、仮想マシンの地理的な場所に存在します。

監査ログ

現在、シリアル コンソールへのすべてのアクセスが、仮想マシンのブート診断ログに記録されます。 これらのログへのアクセスは、Azure 仮想マシン管理者によって所有および制御されます。

注意事項

コンソールのアクセス パスワードはログに記録されません。 ただし、コンソール内で実行されるコマンドにパスワード、シークレット、ユーザー名、またはその他の形式の個人を特定できる情報 (PII) が含まれていたり、出力されたりした場合、それらの情報は VM のブート診断ログに書き込まれます。 これらは、シリアル コンソールのスクロール バック関数の実装の一環として、他のすべての表示テキストと共に書き込まれます。 これらのログは循環であり、診断ストレージ アカウントに対する読み取りアクセス許可を持つ個人のみがアクセスできます。 シークレットまたは PII を含むデータまたはコマンドを入力する場合は、シリアル コンソールが絶対に必要でない限り、SSH を使用することをお勧めします。

同時使用

ユーザーがシリアル コンソールに接続しているときに、別のユーザーがその同じ仮想マシンへのアクセスを要求し、その要求が成功した場合、最初のユーザーが切断され、2 番目のユーザーが同じセッションに接続されます。

注意事項

つまり、切断されたユーザーはログアウトされません。(SIGHUP または同様のメカニズムを使用して) 切断時にログアウトを強制する機能は、まだロードマップに残っています。 Windows の場合、特別管理コンソール (SAC) で自動タイムアウトが有効になっています。ただし、Linux の場合は、ターミナルのタイムアウト設定を構成できます。 これを行うには、コンソールへのサインインに使用しているユーザーの .bash_profile または .profile ファイルに export TMOUT=600 を追加します。 この設定により、10 分後にセッションがタイムアウトされます。

アクセシビリティ

アクセシビリティは、Azure シリアル コンソールの重点事項です。 そのために、シリアル コンソールに完全にアクセスできるようにしました。

キーボード ナビゲーション

キーボードの Tab キーを使用して、Azure portal からシリアル コンソール インターフェイスに移動します。 画面に位置情報が強調表示されます。 シリアル コンソール ウィンドウのフォーカスを解除するには、キーボードの Ctrl+F6 キーを押します。

スクリーン リーダーでシリアル コンソールを使用する

シリアル コンソールには、スクリーン リーダーのサポートが組み込まれています。 スクリーン リーダーを有効にしてナビゲートすると、現在選択されているボタンの代替テキストをスクリーン リーダーで読み上げることができます。

既知の問題

Microsoft は、シリアル コンソールおよび VM のオペレーティング システムには問題がいくつかあることを認識しています。 Linux VM のそのような問題と軽減手順を以下に示します。 これらの問題と軽減策は、VM と仮想マシン スケール セット インスタンスの両方に適用されます。 表示されているエラーと一致しない場合は、シリアル コンソールに関する一般的なエラーに関する記事で一般的なシリアル コンソール サービス エラーを参照してください。

問題点 対応策
接続バナーの後に Enter キーを押しても、サインイン プロンプトが表示されない。 GRUB が正しく構成されていない可能性があります。 次のコマンドを実行します: grub2-mkconfig -o /etc/grub2-efi.cfg または grub2-mkconfig -o /etc/grub2.cfg (あるいは両方)。 この問題は、Linux がシリアル ポートに接続できない原因となるカスタム VM、堅牢化されたアプライアンス、または GRUB 構成を実行している場合に発生する可能性があります。
シリアル コンソールのテキストが画面サイズいっぱいに表示されない (テキスト エディターの使用後に多く発生)。 シリアル コンソールは、ウィンドウ サイズ (RFC 1073) に関するネゴシエートをサポートしていません。つまり、画面サイズを更新するために SIGWINCH シグナルが送信されず、VM はターミナルのサイズを認識しません。 xterm または同様のユーティリティをインストールして resize コマンドを使用できるようにしてから、resize を実行します。
長い文字列を貼り付けると機能しない。 シリアル コンソールでは、シリアル ポートの帯域幅に対する過負荷を防止するために、ターミナルに貼り付けられる文字列の長さが 2048 文字に制限されます。
SLES BYOS イメージでキーボード入力が不安定。 キーボード入力は散発的にしか認識されません。 これは Plymouth パッケージの問題です。 スプラッシュスクリーンが必要なく、Plymouth はシリアル コンソールを使用するプラットフォームの機能を妨げるので、Plymouth を Azure で実行しないでください。 sudo zypper remove plymouth を使用して Plymouth を削除してから再起動します。 または、行の末尾に plymouth.enable=0 を付加して GRUB 構成のカーネル行を修正します。 これを行うには、起動時に起動エントリを編集するか、/etc/default/grub の GRUB_CMDLINE_LINUX 行を編集し、grub2-mkconfig -o /boot/grub2/grub.cfg を使用して GRUB をリビルドしてから再起動します。

よく寄せられる質問

Q. フィードバックを送信するにはどうすればよいですか?

A. GitHub の問題を作成したフィードバックの提供https://aka.ms/serialconsolefeedbackします。 (あまりお勧めしませんが) azserialhelp@microsoft.com、または https://feedback.azure.com の仮想マシン カテゴリでフィードバックをお送りいただくこともできます。

Q. シリアル コンソールでは、コピー/貼り付けが可能ですか。

A. はい。 Ctrl+Shift+C キーでコピーし、Ctrl+Shift+V キーでターミナルに貼り付けます。

Q. SSH 接続の代わりにシリアル コンソールを使用できますか?

A. この使用は技術的には可能と思われますが、シリアル コンソールは主に、SSH での接続ができない状況でのトラブルシューティング ツールとしての使用が意図されています。 次の理由から、SSH の代わりにシリアル コンソールを使うことはお勧めしません。

  • シリアル コンソールには、SSH ほどの帯域幅がありません。 テキストのみの接続であるため、GUI を多く使った対話式操作は難しくなります。
  • 現在、シリアル コンソール アクセスは、ユーザー名とパスワードを使用することによってのみ可能です。 ユーザー名/パスワードの組み合わせよりも SSH キーの方がはるかに安全なため、サインイン セキュリティの観点から、シリアル コンソールよりも SSH を使うことをお勧めします。

Q. 私のサブスクリプションのシリアル コンソールは誰が有効にしたり、無効にしたりできますか。

A. あるサブスクリプション レベルでシリアル コンソールを有効または無効にするには、そのサブスクリプションの書き込み権限が必要です。 書き込み権限が与えられているロールには、管理者ロールと所有者ロールが含まれます。 カスタム ロールにも、書き込み権限が与えることができます。

Q. 私の VM/仮想マシン スケール セットのシリアル コンソールには誰がアクセスできますか。

A. シリアル コンソールにアクセスするには、VM または仮想マシン スケール セットに対して仮想マシン共同作成者以上のロールが必要です。

Q. シリアル コンソールに何も表示されません。どうすればよいでしょうか。

A. シリアル コンソールのアクセスに関して、おそらく、イメージが間違って構成されています。 シリアル コンソールを有効にするようにイメージを構成する方法については、「シリアル コンソールの Linux ディストリビューションの可用性」を参照してください。

Q. シリアル コンソールは仮想マシン スケール セットに利用できますか。

A. はい。 「 Get started with Serial Console(シリアル コンソールの使用を開始する)」を参照

Q. SSH キー認証のみを使用して VM または仮想マシン スケール セットを設定しましたが、シリアル コンソールを使用して VM/仮想マシン スケール セット インスタンスに接続できますか。

A. はい。 シリアル コンソールは SSH キーを必要としないので、必要な操作はユーザー名とパスワードの組み合わせを設定することのみです。 Azure portal で [パスワードのリセット] を選択し、これらの資格情報を使用してシリアル コンソールにサインインしてください。

次のステップ

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。