アマゾン EC2 Windows インスタンスの開始に関する問題のトラブルシューティング - Amazon Elastic Compute Cloud

アマゾン EC2 Windows インスタンスの開始に関する問題のトラブルシューティング

次はアマゾン EC2 Windows インスタンスのパスワードとアクティベーションに関する問題の解決に役立つトラブルシューティングのヒントです。

"パスワードは使用できません"

リモートデスクトップを使用して Windows インスタンスに接続するにはアカウントとパスワードを指定する必要があります。提供されるアカウントとパスワードはインスタンスを起動するときに使用した AMI に基づいています。管理者アカウント用に自動生成されたパスワードを取得することも、AMI が作成された元のインスタンスで使われていたアカウントとパスワードを使用することもできます。

カスタム Windows AMI を使用して起動したインスタンスの管理者アカウントのパスワードを生成できます。パスワードを生成するにはAMI を作成する前にオペレーティングシステムでいくつかの設定を構成する必要があります。詳細についてはアマゾン EBS-バック AMI を作成するを参照してください。

ランダムなパスワードを生成するように Windows インスタンスが設定されていない場合、コンソールを使用して自動生成パスワードを取得しようとすると、次のエラーメッセージが表示されます。

Password is not available.
The instance was launched from a custom AMI, or the default password has changed. A
password cannot be retrieved for this instance. If you have forgotten your password, you can
reset it using the Amazon EC2 configuration service. For more information, see Passwords for a
Windows Server instance.

インスタンスのコンソール出力を確認して、インスタンスを起動するのに使用した AMI がパスワード生成を無効にして作成されたかどうかを調べます。パスワード生成が無効になっている場合、コンソール出力には次の表示が含まれます。

Ec2SetPassword: Disabled

パスワード生成が無効で、元のインスタンスのパスワードを覚えていない場合はこのインスタンスのパスワードをリセットできます。詳細についてはAmazon EC2 Windows インスタンスの Windows 管理者パスワードをリセットするを参照してください。

"パスワードはまだ使用できません"

リモートデスクトップを使用して Windows インスタンスに接続するにはアカウントとパスワードを指定する必要があります。提供されるアカウントとパスワードはインスタンスを起動するときに使用した AMI に基づいています。管理者アカウント用に自動生成されたパスワードを取得することも、AMI が作成された元のインスタンスで使われていたアカウントとパスワードを使用することもできます。

パスワードは数分以内に使用可能となります。パスワードが使用できない場合、コンソールを使用して自動生成パスワードを取得すると、次のエラーメッセージが表示されます。

Password not available yet.
Please wait at least 4 minutes after launching an instance before trying to retrieve the 
auto-generated password.

4 分以上経ってもまだパスワードを取得できない場合、インスタンスの起動エージェントがパスワードを生成するように設定されていない可能性があります。これはコンソール出力が空であるかチェックすることで、確認できます。詳細についてはコンソールの出力を取得できないを参照してください。

管理ポータル へのアクセスに使用されている AWS Identity and Access Management (IAM) アカウントで、ec2:GetPasswordData アクションが許可されていることも確認します。IAM のアクセス許可の詳細については「IAM とは」を参照してください。

"Windows パスワードを取得できません"

管理者アカウントの自動生成パスワードを取得するにはインスタンスの起動時に指定したキーペアのプライベートキーを指定する必要があります。インスタンスの起動時にキーペアを指定しなかった場合、次のメッセージが表示されます。

Cannot retrieve Windows password

このインスタンスを終了し、同じ AMI を使用して新しいインスタンスを起動して、キーペアを指定することができます。

"メタデータサービスを待っています"

Windows インスタンスはインスタンスメタデータから情報を取得した後、起動します。デフォルトではWaitForMetaDataAvailable 設定により、必ず EC2Config サービスがインスタンスメタデータにアクセスできるようになってから起動プロセスが続行されます。詳細についてはインスタンスメタデータを使用して EC2 インスタンスを管理するを参照してください。

インスタンスがインスタンスの接続性テストに合格しない場合はこの問題を解決するため、次の操作を試してください。

  • VPC の CIDR ブロックを確認します。Windows インスタンスはIP アドレス範囲が 224.0.0.0 から 255.255.255.255 (クラス D とクラス E の IP アドレス範囲) の VPC で起動された場合、正しく起動できません。これらの IP アドレス範囲は予約済みで、ホストデバイスに割り当てることはできません。RFC 1918 に指定されているように、プライベート (パブリックにルーティングできない) IP アドレス範囲からの CIDR ブロックを持つ VPC を作成することをお勧めします。

  • システムが静的 IP アドレスで設定されている可能性があります。ネットワークインターフェイスを作成して、インスタンスにアタッチします。

  • 接続できない Windows インスタンスで DHCP を有効にするには
    1. 影響のあるインスタンスを停止し、ルートボリュームをデタッチします。

    2. 影響のあるインスタンスと同じアベイラビリティーゾーンで一時インスタンスを起動します。

      警告

      一時インスタンスが元のインスタンスと同じ AMI に基づいている場合、追加の手順を完了する必要があります。この手順を実行しない場合、ディスク署名の競合によって、ルートボリュームを復元した後、元のインスタンスを起動できなくなります。または一時インスタンスとして別の AMI を選択してください。例えば、元のインスタンスで Windows サーバー 2016 用の AWS Windows AMI を使用している場合、Windows サーバー 2019 用の AWS Windows AMI を使用して一時インスタンスを起動します。

    3. 影響のあるインスタンスから一時インスタンスにルートボリュームをアタッチします。一時インスタンスに接続し、[ディスク管理] ユーティリティを開いて、ドライブをオンラインにします。

    4. 一時インスタンスから [レジエディット] を開き、[HKEY_LOCAL_MACHINE] を選択してください。[ファイル] メニューの [ロードハイブ] を選択してください。ドライブを選択して、ファイル [Windows\System32\config\SYSTEM] を開き、プロンプトが表示されたらキー名を指定します (任意の名前を使用できます)。

    5. ロードしたキーを選択し、ControlSet001\Services\Tcpip\Parameters\Interfaces に移動します。GUID ごとに、それぞれのネットワークインターフェイスが表示されています。適切なネットワークインターフェイスを選択してください。DHCP が無効で、静的 IP アドレスが割り当てられている場合、EnableDHCP は 0 に設定されています。DHCP を有効にするにはEnableDHCP を 1 に設定し、次のキーが存在する場合は削除します: NameServerSubnetMaskIPAddressDefaultGateway。再度キーを選択し、[ファイル] メニューの [アンロードハイブ] を選択してください。

      注記

      複数のネットワークインターフェイスがある場合、DHCP を有効にするに正しいインターフェイスを指定する必要があります。正しいネットワークインターフェイスを特定するには次のキー値 NameServerSubnetMaskIPAddressDefaultGateway を確認します。これらの値は前のインスタンスの静的設定を表示します。

    6. (オプション) DHCP がすでに有効な場合、メタデータサービスへのルーティングがない可能性があります。EC2Config を更新すると、この問題を解決できます。

      1. EC2Config サービスの最新バージョンをダウンロードしてインストールします。このサービスをインストールする方法の詳細についてはEC2Config の最新バージョンのインストールを参照してください。

      2. .zip ファイルを、アタッチしたドライブの Temp ディレクトリに展開します。

      3. [レジエディット] を開き、[HKEY_LOCAL_MACHINE] を選択してください。[ファイル] メニューの [ロードハイブ] を選択してください。ドライブを選択して、ファイル [Windows\System32\config\SOFTWARE] を開き、プロンプトが表示されたらキー名を指定します (任意の名前を使用できます)。

      4. ロードしたキーを選択し、Microsoft\Windows\CurrentVersion に移動します。RunOnce キーを選択してください。(このキーが存在しない場合、[CurrentVersion] を右クリックし、[新規] をポイントし、[キー] を選択して、キーに RunOnce という名前をつけてください。) 右クリックして [新規] をポイントし、[tring Value] を選択してください。名前に Ec2Install、データに C:\Temp\Ec2Install.exe -q と入力してください。

      5. 再度キーを選択し、[ファイル] メニューの [アンロードハイブ] を選択してください。

    7. (オプション) 一時インスタンスが元のインスタンスと同じ AMI に基づいている場合、以下の手順を完了する必要があります。この手順を実行しない場合、ディスク署名の競合のためルートボリュームを復元した後、元のインスタンスを起動できなくなります。

      警告

      以下の手順ではレジストリエディタを使用して Windows レジストリを編集する方法を説明します。Windows レジストリに慣れていない場合や、レジストリエディターを使用して安全に変更する方法については「レジストリを構成する」を参照してください。

      1. コマンドプロンプトを開き、「regedit.exe」と入力して、[Enter] を押します。

      2. [レジストリエディタ] で、コンテキストメニュー (右クリック) から [HKEY_LOCAL_MACHINE] を選択し、[検索] を選択してください。

      3. [Windows Boot Manager] を入力して、[次を検索] を選択してください。

      4. 11000001 というキーを選択してください。このキーは前の手順で検索したキーの兄弟です。

      5. 右のペインで [Element] を選択し、コンテキストメニュー (右クリック) から[変更] を選択してください。

      6. データのオフセット 0x38 で 4 バイトのディスク署名を見つけます。バイトの順序を逆にしてディスク署名を作成し、書き留めます。例えば、次のデータで表されるディスク署名は E9EB3AA5 です。

        ... 0030 00 00 00 00 01 00 00 00 0038 A5 3A EB E9 00 00 00 00 0040 00 00 00 00 00 00 00 00 ...
      7. コマンドプロンプトウィンドウで、次のコマンドを実行して Microsoft DiskPart を起動します。

        diskpart
      8. 次の DiskPart コマンドを実行して、ボリュームを選択してください。(ディスク番号が 1 であることを確認するにはディスク管理ユーティリティを使用します。)

        DISKPART> select disk 1 Disk 1 is now the selected disk.
      9. 次の DiskPart コマンドを実行して、ディスク署名を取得します。

        DISKPART> uniqueid disk Disk ID: 0C764FA8
      10. 前の手順で表示されたディスク署名が、以前に書き留めた BCD のディスク署名と一致しない場合は次の DiskPart コマンドを使用してディスク署名を変更して一致させます。

        DISKPART> uniqueid disk id=E9EB3AA5
    8. [ディスク管理] ユーティリティを使用して、ドライブをオフラインにします。

      注記

      一時インスタンスが影響を受けるインスタンスと同じ OS を実行している場合、ドライブは自動的にオフラインになるため、手動でオフラインにする必要はありません。

    9. ボリュームを一時インスタンスからデタッチします。一時インスタンスをそれ以上使用しない場合は終了しても構いません。

    10. /dev/sda1 としてボリュームをアタッチして、影響のあるインスタンスのルートボリュームを復元します。

    11. 影響のあるインスタンスを開始します。

インスタンスに接続されたら、インスタンスからインターネットブラウザを開いて、次のメタデータサーバーの URL を入力してください。

http://169.254.169.254/latest/meta-data/

メタデータサーバーに接続できない場合は問題解決のために以下を試してください。

  • EC2Config サービスの最新バージョンをダウンロードしてインストールします。このサービスをインストールする方法の詳細についてはEC2Config の最新バージョンのインストールを参照してください。

  • Windows インスタンスが RedHat PV ドライバーを実行しているかどうかを確認します。実行いている場合、Citrix PV ドライバーに更新してください。詳細についてはEC2 Windows インスタンスでの PV ドライバーのアップグレードを参照してください。

  • ファイアウォール、IPSec、およびプロキシ設定により、メタデータサービス (169.254.169.254) または AWS KMS サーバーへの送信トラフィックがブロックされていないことを確認します (アドレスはTargetKMSServerC:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml 要素で指定されています)。

  • 次のコマンドを使用して、メタデータサービス (169.254.169.254) にルーティングされていることを確認します。

    route print
  • インスタンスのアベイラビリティーゾーンに影響を与える可能性があるネットワークの問題を確認します。http://status.aws.amazon.com/ に移動します。

"Windows のライセンス認証ができません"

Windows インスタンスはWindows AWS KMS のアクティブ化を使用します。インスタンスから A problem occurred when Windows tried to activate. Error Code 0xC004F074 サーバーにアクセスできない場合、AWS KMS というメッセージが表示される可能性があります。Windows は 180 日ごとにライセンス認証を行う必要があります。EC2Config では確実に、引き続き Windows でアクティブ化されるように、アクティブ化の期限が切れる前に AWS KMS サーバーに接続します。

Windows のライセンス認証の問題が発生した場合はこの問題を解決するため、次の手順に従います。

EC2Config の場合 (Windows サーバー 2012 R2 AMI 以前)
  1. EC2Config サービスの最新バージョンをダウンロードしてインストールします。このサービスをインストールする方法の詳細についてはEC2Config の最新バージョンのインストールを参照してください。

  2. インスタンスにログインして、C:\Program Files\Amazon\Ec2ConfigService\Settings\config.xml のファイルを開きます。

  3. config.xml ファイルで Ec2WindowsActivate プラグインを見つけます。状態を [Enabled] に変更し、変更を保存します。

  4. [Windows Services snap-in] で、EC2Config サービスを再開するか、インスタンスを再起動します。

これによってライセンス認証の問題が解決しない場合は追加の手順に従います。

  1. AWS KMS ターゲットを設定: C:\> slmgr.vbs /skms 169.254.169.250:1688

  2. Windows を有効化: C:\> slmgr.vbs /ato

EC2Launch の場合 (Windows サーバー 2016 AMI 以降)
  1. 管理者権限を持つ PowerShell プロンプトから、EC2Launch モジュールをインポートします。

    PS C:\> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
  2. Add-ルーター 関数を呼び出して、新しいルートのリストを表示します。

    PS C:\> Add-Routes
  3. Set-ActivationSettings 関数を呼び出します。

    PS C:\> Set-Activationsettings
  4. 次のスクリプトを実行して、Windows のライセンス認証を行います。

    PS C:\> cscript "${env:SYSTEMROOT}\system32\slmgr.vbs" /ato

EC2Config と EC2Launch の両方で、それでもまだライセンス認証エラーを受け取る場合は次の情報を確認します。

  • AWS KMS サーバーにルーティングされていることを確認します。C:\Program Files\Amazon\Ec2ConfigService\Settings\ActivationSettings.xml を開き、TargetKMSServer エレメントを配置します。以下のコマンドを実行し、これらの AWS KMS サーバーのアドレスが表示されるかどうかを確認します。

    route print
  • AWS KMS クライアントのキーが設定されていることを確認します。次のコマンドを実行し、出力を確認します。

    C:\Windows\System32\slmgr.vbs /dlv

    出力に Error: product key not found が含まれる場合、AWS KMS クライアントのキーは設定されていません。AWS KMS クライアントのキーが設定されていない場合はMicrosoft の記事 (AWS KMS クライアントセットアップキー) の説明に従ってクライアントのキーを検索し、次のコマンドを実行して AWS KMS クライアントのキーを設定します。

    C:\Windows\System32\slmgr.vbs /ipk client_key
  • システムの時刻とタイムゾーンが正しいことを確認します。UTC 以外のタイムゾーンを使用している場合は時刻が正確であることを確認するために、レジストリキー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal を追加して 1 に設定します。

  • Windows ファイアウォールが有効な場合、次のコマンドを使用して一時的に無効にします。

    netsh advfirewall set allprofiles state off

"Windows が正規品ではありません (0x80070005) "

Windows インスタンスはWindows AWS KMS のアクティブ化を使用します。インスタンスでライセンス認証のプロセスを完了できない場合、Windows が正規品でないことを示しています。

"Windows のライセンス認証ができません" をお試しください。

"ライセンスを発行できるターミナルサーバーライセンスサーバーがありません"

Windows サーバー ではデフォルトで、同時に 2 人のリモートデスクトップ接続のユーザーにライセンスが付与されます。2 人を超えるユーザーに、Windows インスタンスへのリモートデスクトップ接続による同時接続を提供する必要がある場合はリモートデスクトップサービスクライアントアクセスライセンス (CAL) を購入し、リモートデスクトップセッションホストおよびリモートデスクトップライセンスサーバーの役割をインストールします。

次の点を確認します。

  • 最大同時 RDP セッション数を超えている。

  • Windows のリモートデスクトップサービスの役割をインストールした。

  • ライセンスの有効期限が切れている。ライセンスの有効期限が切れている場合、Windows インスタンスにユーザーとして接続できません。以下を試すことができます。

    • /admin パラメータを使用して、コマンドラインから、たとえば次のようにインスタンスに接続します。

      mstsc /v:instance /admin

      詳細についてはMicrosoft の記事のコマンドラインからリモートデスクトップにアクセスするを参照してください。

    • データを回復するにはインスタンスを停止し、アマゾン EBS ボリュームをデタッチして、同じアベイラビリティーゾーンにある別のインスタンスにアタッチします。

「一部の設定は当組織によって管理されています」

最新の Windows サーバー AMI から起動したインスタンスには「一部の設定は当組織によって管理されています」で始まる Windows 更新 ダイアログメッセージが表示される場合があります。このメッセージは Windows サーバー 内の変更の結果として表示され、Windows 更新 の動作やお客様による更新設定管理能力には影響を及ぼしません。

警告を削除するには
  1. gpedit.msc を開き、[コンピュータの構成]、[管理用テンプレート]、[Windows コンポーネント]、[Windows 更新] の順に移動します。[Configure Automatic 更新 (自動更新の設定)] を編集し、[enabled (有効)] に設定します。

  2. コマンドプロンプトで、gpupdate /force を使用してグループポリシーを更新します。

  3. Windows 更新 の設定を閉じて再度開きます。設定が組織によって管理されていることを示す上記のメッセージが表示され、その後に次のように表示されます。"計測対象の接続 (料金がかかる場合があります) を除き、アップデートは自動的にダウンロードされます。その場合、Windows が正常に動作するために必要なアップデートが自動的にダウンロードされます。"

  4. gpedit.msc に戻り、グループポリシーを [設定されていません] に戻します。gpupdate /force をもう一度実行します。

  5. コマンドプロンプトを閉じ、数分待ちます。

  6. Windows 更新 の設定を再度開きます。「一部の設定は当組織によって管理されています。」というメッセージは表示されません。