長い間待たされましたが、AWSはついにVMのデボルキングのためのインタラクティブなシリアルコンソールを有効にしました。

Table of Contents

長い間待たされましたが、AWSはついにVMのデボルキングのためのインタラクティブなシリアルコンソールを有効にしました。

AWS は「インタラクティブ EC2 シリアルコンソール」を導入しました。これにより、通常の SSH アクセスが機能しない場合でも仮想マシンのトラブルシューティングが可能になります。あるユーザーは「この瞬間を 10 年間待っていました」と感激しています。

シリアルコンソールアクセスの目的は、例えばメモリ不足などの理由でSSH接続が不可能な場合のトラブルシューティングを可能にすることです。AWSの投稿には、「インスタンスのシリアルポートにモニターとキーボードが接続されているかのように、ワンクリックでテキストベースのアクセスを提供します」と記載されています。以前は、管理者はget-console-outputコマンドを使用してシリアルコンソールのログを表示できましたが、コマンドを入力することはできませんでした。

2011 年 1 月に、AWS フォーラム (ログインが必要) で、コンソール出力が「待機を続けるか、マウントをスキップするには S を押すか、手動で回復するには M を押してください。」であったケースについて、ユーザーが報告しました。

残念ながら、「私には『S』を打つ方法がない」と彼は言った。

彼がインタラクティブコンソール機能を必要とした理由としては、起動に失敗しSSHデーモンが起動しない場合、ファイアウォールやネットワークの設定エラーによってすべてのアクセスがブロックされた場合、インスタンスのネットワークが切断された場合、あるいはサービス拒否攻撃を受けた場合などが挙げられました。この人物はシステムイメージ用のベースインスタンスを構築していたため、致命的なエラーが発生する可能性が高くなります。

アクセスできないEC2(Elastic Compute Cloud)VMに直面した管理者には、インスタンスを停止し、ストレージをデタッチし、稼働中のインスタンスにストレージをマウントして、そこからファイルを編集または復元するという別の選択肢があるかもしれません。ただし、これは必ずしも可能とは限りません。

VMがインスタンスタイプのストレージを使用している場合、デタッチはできません。また、サービスの中断も必要です。「以前、SSHキーを消去したせいでEC2上で稼働中のデータベースクラスターにアクセスできなくなってしまったお客様がいました。あれは…面白かったです」とHacker Newsのあるユーザーは述べ、新機能への期待を語りました。

対話型シリアルコンソールアクセスを有効にするための権限の設定

対話型シリアルコンソールアクセスを有効にするための権限の設定

VMが永続データ用ではない一時ストレージを使用している場合、VMを削除して新しいVMを作成するのではなく、VMのトラブルシューティングを行う必要があるのはなぜでしょうか?障害の分析や迅速な復旧など、他にも有効な理由があるかもしれません。

「私は以前 GCE [Google Compute Engine] で働いていました」と別のユーザーは述べ、メモリ不足状態によって SSD デーモンが強制終了する欠陥のあるイメージが VM にある場合、「インスタンスを別のものに置き換えても、また OOM で強制終了するだけです」と指摘した。

追いつく

AWSはこの機能の提供が遅れています。Microsoft AzureにはVM用のシリアルコンソールがあります。Google Cloud Platformにはインタラクティブなシリアルコンソールがあり、多くの小規模なホスティングプロバイダーも提供しています。

インタラクティブシリアルコンソールにはいくつかの制限事項が適用されます。最も厳しい制限事項は、インスタンスがNitroシステム(ネットワーク、ハイパーバイザー、セキュリティハードウェアを組み合わせたシステム)を使用する必要があることです。これはAWSが多くのEC2インスタンスタイプに採用していますが、すべてのインスタンスタイプに採用しているわけではありません。次に、AWSユーザーにはデフォルトでインタラクティブシリアルコンソールへのアクセス許可がありません。さらに、インタラクティブシリアルコンソールに接続すると、ログインに使用するユーザーにパスワードが必要です。AWSインスタンスでは、デフォルトでパスワードが設定されていないことが多く、代わりにキーペアが使用される場合があります。この設定は、アクセスできないVMのトラブルシューティングを行う際に不可能となるため、事前に設定しておく必要があります。

インタラクティブシリアルコンソールはWindowsインスタンスでも利用可能で、緊急管理サービス(EMS)ツールの一部であるSpecial Administration Console(SAC)へのアクセスを可能にします。SACはWindowsインスタンスで事前に有効化する必要があります。有効化すると、管理者は様々なトラブルシューティングコマンドやPowerShellにアクセスできるようになります。

ほとんどのAWSユーザーはこの機能を必要としないでしょう。SSHアクセスが失敗することはほとんどなく、ユースケースの範囲も比較的狭いからです。しかし、この機能を必要とするユーザーからの温かい歓迎を考えると、実装にこれほど時間がかかったのは驚きであり、Nitroインスタンスタイプに限定されているのは残念です。®

Discover More