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

注:

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

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

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

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

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

注:

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

前提条件

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

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

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

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

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

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

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

注:

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

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

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

注:

シリアル コンソールに何も表示されない場合、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. 有効にしたカスタム ブート診断ストレージ アカウント ファイアウォールの設定に移動します。

    注:

    VM で有効になっているストレージ アカウントを特定するには、[トラブルシューティングのサポート] セクションで、[ブート診断>設定] を選択します。

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

    次の表に、VM が配置されている地域または地理に基づいて、ファイアウォールの除外として許可する必要がある IP を示します。 これは、サービス タグに含めるために処理中のシリアル コンソール IP アドレスの完全なリストのサブセットです。

    IP アドレス 地域 地理
    20.205.69.28 東アジア、東南アジア アジア太平洋
    20.195.85.180 東アジア、東南アジア アジア太平洋
    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 アラブ首長国連邦中部、アラブ首長国連邦北部 UAE
    20.38.141.5 アラブ首長国連邦中部、アラブ首長国連邦北部 UAE
    20.90.132.144 英国南部、英国西部 英国
    20.58.68.62 英国南部、英国西部 英国
    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.130 米国政府機関のすべてのクラウド リージョン 米政府
    52.127.55.131 米国政府機関のすべてのクラウド リージョン 米政府

    重要

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

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

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

アクセス セキュリティ

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

チャネル セキュリティ

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

データの保存と暗号化

Azure シリアル コンソールは、仮想マシンのシリアル ポートで送受信されるデータを確認、検査、または保存しません。 したがって、保存時に暗号化するデータはありません。

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

データ所在地

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

監査ログ

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

注意

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

同時使用

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

注意

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

アクセシビリティ

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

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

Azure portal からシリアル コンソール インターフェイスでナビゲートするには、キーボードの Tab キーを使用します。 現在の場所が画面上で強調表示されます。 シリアル コンソール ウィンドウのフォーカスを解除するには、キーボードの 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 を Azure で実行しないでください。Plymouth は、シリアル コンソールを使用するプラットフォームの機能の妨げになります。 sudo zypper remove plymouth を使用して Plymouth を削除してから再起動します。 または、行の末尾に plymouth.enable=0 を付加して GRUB 構成のカーネル行を修正します。 これを行うには、 ブート 時にブート エントリを編集するか、 でGRUB_CMDLINE_LINUX行 /etc/default/grubを編集し、 で GRUB grub2-mkconfig -o /boot/grub2/grub.cfgを再構築してから再起動します。

よく寄せられる質問

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

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

質問: シリアル コンソールはコピー/貼り付けをサポートしていますか?

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

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

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

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

質問: サブスクリプションのシリアル コンソールを有効または無効にできるユーザー

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

質問: VM/仮想マシン スケール セットのシリアル コンソールにアクセスできるユーザー

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

質問: シリアル コンソールに何も表示されない場合、どうすればよいですか?

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

質問: シリアル コンソールは仮想マシン スケール セットで使用できますか?

A. はい。 シリアル コンソールの使用を開始するを参照してください。

質問: SSH キー認証のみを使用して VM または仮想マシン スケール セットを設定した場合でも、シリアル コンソールを使用して VM/仮想マシン スケール セット インスタンスに接続することはできますか?

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

次の手順

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

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