Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

一般的な問題

次は、Windows Server を実行する EC2 インスタンスの一般的な問題の解決に役立つトラブルシューティングのヒントです。

EBS ボリュームが Windows Server 2016 以降の AMI で初期化されない

Windows Server 2016 以降 Amazon Machine Image (AMI) から作成されたインスタンスでは、さまざまなスタートアップタスク (例: EBS ボリュームの初期化) に EC2Launch サービスが使用されます。デフォルトでは、EC2Launch はセカンダリボリュームを初期化しません。これらのディスクを自動的に初期化するには、EC2Launch を設定します。

ドライブ文字をボリュームにマッピングするには

  1. 設定するインスタンスに接続し、C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json ファイルをテキストエディタで開きます。

  2. 次の形式を使用してボリューム設定を指定します。

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. 変更内容を保存し、ファイルを閉じます。

  4. Windows PowerShell を開き、次のコマンドを使用して、ディスクを初期化する EC2Launch スクリプトを実行します。

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1

    インスタンスが起動するたびにディスクを初期化するには、-Schedule フラグを次のように追加します。

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

ディレクトリサービス復元モード (DSRM) で EC2 Windows インスタンスを起動する

Microsoft Active Directory を実行するインスタンスでシステム障害やその他の重要な問題が発生した場合、ディレクトリサービス復元モード (DSRM) と呼ばれる特殊なバージョンのセーフモードで起動することで、インスタンスをトラブルシューティングできます。DSRM では、Active Directory を修復または復元できます。

DSRM のドライバーサポート

DSRM を有効にしてインスタンスで起動する方法は、インスタンスが実行されているドライバーによって異なります。EC2 コンソールで、システムログからインスタンスのドライバーバージョンの詳細を表示できます。次の表に、DSRM でサポートされるドライバーを示します。

ドライバーのバージョン サポートされる DSRM 次のステップ
Citrix PV 5.9 いいえ バックアップからインスタンスを復元します。DSRM を有効にすることはできません。
AWS PV 7.2.0 いいえ このドライバーでは DSRM がサポートされていませんが、インスタンスからルートボリュームをデタッチして、ボリュームのスナップショットを取得するか AMI を作成し、同じアベイラビリティーゾーン内の別のインスタンスにセカンダリボリュームとしてアタッチできます。その後、DSRM を有効にすることができます (このセクションで説明します)。
AWS PV 7.2.2 以降 はい ルートボリュームのデタッチ、別のインスタンスへの接続、DSRM の有効化 (このセクションで説明しています)。
拡張ネットワーキング はい ルートボリュームのデタッチ、別のインスタンスへの接続、DSRM の有効化 (このセクションで説明しています)。

拡張ネットワーキングを有効にする方法については、「VPC 内の Windows インスタンスで拡張ネットワーキングを有効化する」を参照してください。AWS PV ドライバーのアップグレードの詳細については、「Windows インスタンスで PV ドライバーをアップグレードする」を参照してください。

DSRM で起動するインスタンスを設定する

オペレーティング システムを実行する前に、EC2 Windows インスタンスでネットワーク接続は行われません。このため、キーボードの F8 ボタンを押して起動オプションを選択することはできません。次のいずれかの手順を使用して、DSRM で EC2 Windows Server インスタンスを起動する必要があります。

Active Directory が破損していて、インスタンスがまだ実行されていることが疑われる場合、[System Configuration] ダイアログボックスまたはコマンドプロンプトを使用して、DSRM で起動するようインスタンスを設定できます。

[System Configuration] ダイアログボックスを使用して DSRM でオンラインインスタンスを起動するには

  1. [Run] ダイアログボックスで、「msconfig」と入力して Enter キーを押します。

  2. [Boot] タブを選択します。

  3. [Boot options] で、[Safe boot] を選択します。

  4. [Active Directory repair] を選択し、[OK] を選択します。サーバーを再起動するよう求められます。

コマンドラインを使用して DSRM でオンラインインスタンスを起動するには

コマンドプロンプトウィンドウから次のコマンドを実行します。

bcdedit /set safeboot dsrepair

インスタンスがオフラインで到達不可能な場合は、ルートボリュームをデタッチし、別のインスタンスにアタッチして DSRM モードを有効にする必要があります。

DSRM でオフラインインスタンスを起動するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. 影響のあるインスタンスを特定します。インスタンスの右クリックコンテキストメニューを開き、[Instance State]、[Stop] の順に選択します。

  4. [Launch Instance] を選択し、影響のあるインスタンスと同じアベイラビリティーゾーンに一時インスタンスを作成します。別のバージョンの Windows を使用するインスタンスタイプを選択します。たとえば、インスタンスが Windows Server 2008 である場合、Windows Server 2008 R2 インスタンスを選択します。

    重要

    影響のあるインスタンスと同じアベイラビリティーゾーンにインスタンスを作成しない場合、影響のあるインスタンスのルートボリュームを新しいインスタンスにアタッチできません。

  5. ナビゲーションペインの [Volumes] を選択します。

  6. 影響のあるインスタンスのルートボリュームを見つけます。ボリュームをデタッチし、先ほど作成した一時インスタンスにアタッチします。デフォルトのデバイス名 (xvdf) でアタッチしてください。

  7. リモートデスクトップを使用して一時インスタンスに接続したら、Disk Management ユーティリティを使用してボリュームを有効にします

  8. コマンドプロンプトを開き、次のコマンドを入力します。D を、アタッチしたセカンダリボリュームの実際のドライブ文字と置き換えます。

    bcdedit /store D:\Boot\BCD /set {default} safeboot dsrepair
  9. Disk Management ユーティリティで、先ほどアタッチしたドライブを選択し、右クリックコンテキストメニューを開いて、[オフライン] を選択します。

  10. EC2 コンソールで、影響のあるボリュームを一時インスタンスからデタッチし、/dev/sda1 というデバイス名で元のインスタンスに再アタッチします。ボリュームをルートボリュームとして指定するには、このデバイス名を指定する必要があります。

  11. インスタンスを起動します。

  12. インスタンスが EC2 コンソールでヘルスチェックに合格したら、リモートデスクトップを使用してインスタンスに接続し、DSRM モードで起動することを確認します。

  13. (オプション) この手順で作成した一時インスタンスを削除するか停止します。

インスタンスのネットワーク接続が失われる、または、スケジュールされたタスクが予定通りに実行されない

インスタンスを再起動するとネットワーク接続が失われる場合は、インスタンスの時刻設定が間違っている可能性があります。

デフォルトで、Windows インスタンスは協定世界時 (UTC) を使用します。別のタイムゾーンにインスタンスの時刻を設定して再起動すると、時刻がずれて、インスタンスの IP アドレスが一時的に失われます。最終的にインスタンスのネットワーク接続は復旧されますが、これには数時間かかることがあります。インスタンスがネットワーク接続を復旧するのにかかる時間は、UTC と他のタイムゾーンとの時差に左右されます。

時刻に関するこの同じ問題によって、スケジュールされたタスクが予定通りに実行されないことがあります。この場合、インスタンスの時刻が正しくないため、スケジュールされたタスクは予定通りに実行されません。

UTC 以外のタイムゾーンを永続的に使用するには、RealTimeIsUniversal レジストリキーを設定する必要があります。このキーがない場合、インスタンスは再起動後、UTC を使用します。

ネットワーク接続を失う原因となる時刻の問題を解決するには

  1. 推奨 PV ドライバーを実行していることを確認します。詳細については、「Windows インスタンスで PV ドライバーをアップグレードする」を参照してください。

  2. 次のレジストリキーが存在し、1 に設定されていることを確認します: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

コンソールの出力を取得できない

Windows インスタンスの場合は、インスタンスコンソールに Windows 起動プロセス中に実行されたタスクの出力が表示されます。Windows が正常に起動した場合、記録される最後のメッセージは Windows is Ready to use です。コンソールにはイベントログメッセージも表示できますが、この機能はデフォルトでは有効になっていない点に注意してください。詳細については、「EC2 サービスプロパティ」を参照してください。

Amazon EC2 コンソールを使用してインスタンスのコンソール出力を取得するには、インスタンスを選択して [Actions (アクション)] を選択し、[Instance Settings (インスタンス設定)] を選択して [Get System Log (システムログの取得)] を選択します。コマンドラインを使用してコンソール出力を取得するには、get-console-output (AWS CLI) コマンド、または Get-EC2ConsoleOutput (AWS Tools for Windows PowerShell) コマンドを使用します。

Windows Server 2012 R2 以前を実行しているインスタンスで、コンソール出力が空の場合は、設定ファイルが正しく設定されていない、Windows が正しく起動しなかったなど、EC2Config サービスの問題を示している可能性があります。問題を修正するには、EC2Config の最新バージョンをダウンロードしてインストールします。詳細については、「EC2Config の最新バージョンのインストール」を参照してください。

Windows Server 2012 R2 をネットワークで使用できない

ネットワークで使用できない Windows Server 2012 R2 インスタンスをトラブルシューティングする方法の詳細については、「Windows Server 2012 R2 でインスタンスの再起動後にネットワークおよびストレージとの接続が失われる」を参照してください。