ドライバーのアップグレード後に、到達できない EC2 Windows インスタンス、または DNS に到達できない EC2 Windows インスタンスをトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 7 月 23 日

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで PV、NVMe、または ENA ドライバーを更新しました。その後、インスタンスに到達できなくなりました。または、ドライバーをアップグレードしてインスタンスタイプを Nitro ベースのインスタンスに変更したところ、インスタンスが DNS に到達できなくなりました。これをトラブルシューティングするにはどうすればよいですか?

簡単な説明

EC2 Windows インスタンスで使用される AWS ドライバーには 3 つのタイプがあります。

インスタンスによって使用される AWS ドライバーのタイプは、インスタンスタイプによって異なります。Nitro ベースのインスタンスファミリーのほとんどのインスタンスは、ネットワークに ENA ドライバーを使用し、ストレージに AWS NVMe ドライバーを使用します。Xen ベースのインスタンスファミリー (Nitro 以外) のほとんどのインスタンスは、ネットワークとストレージの両方に AWS PV ドライバーを使用します。一部のインスタンスでは、ストレージとネットワークにドライバーを組み合わせて使用します。インスタンスがネットワークとストレージに使用するドライバーについては、ネットワーキング機能とストレージ機能の概要を参照してください。ネットワーキング機能とストレージ機能の概要の表で、EBS のみは、ボリュームが AWS PV ドライバーを使用していることを示しています。NVMe EBS は、インスタンスが NVMe ドライバーを使用していることを示しています。

注: AWS PV ドライバーは、Windows Server 2008 R2 以降でサポートされています。Windows Server 2008 と Windows Server 2003 は、Citrix PV ドライバーを使用します。Windows Server 2008 R2 は AWS PV バージョン 8.3.4 以前をサポートしていることに注意してください。詳細については、Windows インスタンス用 Paravirtual ドライバーを参照してください。

Windows インスタンスでドライバーをアップグレードする場合、またはインスタンスタイプを変更する場合は、インスタンスタイプ (Nitro/Xen) に基づいてドライバーの最新バージョンをインストールしてください

注: 次の PowerShell コマンドを実行して、Windows インスタンスで実行されている AWS ドライバーとドライバーのバージョンを一覧表示できます。

Get-WmiObject Win32_PnpSignedDriver | Select-Object DeviceName, DriverVersion, InfName | Where-Object {$_.DeviceName -like "*AWS*" -OR $_.DeviceName -like "*Amazon*"}

解決方法

Windows ドライバーをアップグレードした後の到達不能インスタンスをトラブルシューティングする

インスタンスのスクリーンショットを確認するか、Windows 用 EC2 Rescue を使用してシステムログを確認する

インスタンスのスクリーンショットを確認して、インスタンスの状態を判断します。その後、到達不能インスタンスをトラブルシューティングするのトラブルシューティング手順を確認します。

スクリーンショットに [Log on] (ログオン) 画面が表示されているが、インスタンスのステータスチェックが失敗している場合は、ネットワークドライバーが破損しているか、ドライバーが検出できないことが問題となっている可能性があります。

EC2Rescue ツールを使用して、到達不能インスタンスの OS ログを取得します。ログを確認して、問題をさらにトラブルシューティングするために詳細情報を取得します。これらのログには、イベントビューワーのログ、EC2Config ログ、起動ログなどが含まれます。

  • プレーンテキストでのデバイスのインストールについては、%SystemRoot%\inf にある setupapi.dev ログを確認してください。この情報を使用し、タイムスタンプを使用してデバイスのインストールを確認し、デバイスのインストールに関する問題をトラブルシューティングできます。
  • C:\Program Files\Amazon\XenTools にある AWSPVDriverMSI ログファイルを確認します。このログは、AWS PV ドライバーのインストールに固有のログであり、エラーを報告します。

ドライバーが破損しているか、正しくインストールされていない旨がログに示されている場合は、ドライバーをオフラインでインスタンスに挿入します。AWSSupport-UpgradeWindowsAWSDrivers オートメーションドキュメントを使用して、インスタンス上のストレージおよびネットワークの AWS ドライバーをアップグレードまたは修復できます。詳細については、AWS Systems Manager を使用した AWS PV、ENA、NVMe ドライバーのアップグレードを参照してください。

注:ドライバーをアップグレードしたり、インスタンスタイプを変更したりする前に、インスタンスをバックアップするのがベストプラクティスです。

EC2Rescue を使用してインスタンスを復元する

EC2Rescue ツールを使用して、インスタンスを直近かつ既知の正しい設定状態に復元します。詳細については、動画チュートリアルを参照してください。

使用可能な最新のスナップショットを使用して、インスタンスのルートボリュームを置き換える

詳細については、ルートボリュームを置き換えるを参照してください。

Windows 用 EC2 シリアルコンソールを使用する

Windows 用 EC2 シリアルコンソールを有効にしている場合は、それを使用して、サポートされている Nitro ベースのインスタンスタイプのトラブルシューティングを行うことができます。シリアルコンソールは、起動問題、ネットワーク設定、および SSH 設定問題のトラブルシューティングに役立ちます。シリアルコンソールは、正常に動作するネットワーク接続を必要とすることなく、インスタンスに接続します。シリアルコンソールには、Amazon EC2 コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用してアクセスできます。

シリアルコンソールを使用する前に、アカウントレベルでコンソールにアクセス権を付与します。その後、IAM ユーザーにアクセス権を付与する AWS Identity and Access Management (IAM) ポリシーを作成します。また、シリアルコンソールを使用するすべてのインスタンスには、パスワードベースのユーザーを 1 つ以上含める必要があります。インスタンスが到達不能で、シリアルコンソールへのアクセスを設定していない場合は、前述の方法のいずれかを使用してインスタンスをトラブルシューティングします。Windows 用の EC2 シリアルコンソールの設定の詳細については、EC2 シリアルコンソールへのアクセスを設定するを参照してください。

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

ドライバーをアップグレードしてインスタンスを Nitro ベースのインスタンスタイプに変更した後、インスタンスは到達可能だが、DNS にアクセスできない

インスタンスを最新世代のインスタンスタイプに移行すると、既存の Elastic Network Interface の静的 IP またはカスタム DNS ネットワーク設定が失われることがあります。これは、インスタンスがデフォルトで新しい ENA デバイスに設定されているためです。これを解決するには、Elastic Network Interface 設定を再構成します。詳細については、Amazon EC2 Windows インスタンスに静的プライベート IP アドレスを設定する必要がありますか? を参照してください。