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

Windows インスタンスへの接続に関するトラブルシューティング

以下では、Windows インスタンスへの接続時に発生する可能性のある問題と表示されるエラーメッセージを示します。

リモートデスクトップからリモートコンピュータに接続できません

インスタンスへの接続関連の問題を解決するには、以下を実行します。

  • 正しいパブリック DNS ホスト名を使用していることを確認します(Amazon EC2 コンソールでは、インスタンスを選択し、詳細ペインの [Public DNS (IPv4) (パブリック DNS (IPv4))] を確認します)。 インスタンスが VPC 内にあり、パブリック DNS 名が表示されない場合は、DNS ホスト名を有効にする必要があります。詳細については、「Amazon VPC ユーザーガイド」の「VPC での DNS の使用」を参照してください。

  • インスタンスにパブリック IPv4 アドレスがあることを確認します。そうでない場合は、Elastic IP アドレスをインスタンスに関連付けることができます。詳細については、「Elastic IP アドレス」を参照してください。

  • IPv6 アドレスを使用してインスタンスに接続するには、ローカルコンピュータに IPv6 があり、IPv6 アドレスを使用するように設定されていることを確認します。Windows Server 2008 SP2 AMI 以前からインスタンスを起動した場合は、インスタンスに割り当てられている IPv6 アドレスを自動的に認識するようにインスタンスは設定されていません。詳細については、「インスタンスでの IPv6 の設定」 (Amazon VPC ユーザーガイド) を参照してください。

  • セキュリティグループに、RDP アクセスを許可するルールがあることを確認します。詳細については、「セキュリティグループの作成」を参照してください。

  • パスワードをコピーしたがエラー Your credentials did not work が発生した場合、プロンプトが表示されたら手動で入力してください。パスワードをコピーしたときに、1 文字欠けていたり、余分な空白文字が含まれている可能性があります。

  • インスタンスのステータスチェックが成功していることを確認します。詳細については、「インスタンスのステータスチェック」および「ステータスチェックに失敗したインスタンスのトラブルシューティング」(Linux インスタンス用 Amazon EC2 ユーザーガイド) を参照してください。

  • サブネットのルートテーブルに、VPC 外へのすべてのトラフィックを VPC のインターネットゲートウェイに送信するルートがあることを確認します。詳細については、『Amazon VPC ユーザーガイド』の「カスタムルートテーブルを作成する」 (インターネットゲートウェイ) を参照してください。

  • Windows ファイアウォール、または他のファイアウォールのソフトウェアによって、インスタンスへの RDP トラフィックがブロックされていないことを確認します。Windows ファイアウォールを無効にし、セキュリティグループのルールを使用してインスタンスへのアクセスを制御することをお勧めします。AWSSupport-TroubleshootRDP を使用して SSM エージェントを使用して Windows ファイアウォールプロファイルを無効にする を行うことができます。AWS Systems Manager 用に設定されていない Windows インスタンスで Windows ファイアウォールを無効にするには、AWSSupport-ExecuteEC2Rescue を使用するか、以下の手動ステップを使用します。

手動ステップ
  1. 影響のあるインスタンスを停止し、ルートボリュームをデタッチします。

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

    警告

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

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

  4. [Regedit] を開き、[HKEY_LOCAL_MACHINE] を選択します。[File] メニューの [Load Hive] を選択します。ドライブを選択して、ファイル [Windows\System32\config\SYSTEM] を開き、プロンプトが表示されたらキー名を指定します (任意の名前を使用できます)。

  5. ロードしたキーを選択し、ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy に移動します。xxxxProfile というフォームの名前のキーをそれぞれ選択し、EnableFirewall の値を 1 から 0 に変更します。再度キーを選択し、[File] メニューの [Unload Hive] を選択します。

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

    警告

    次の手順は、レジストリエディタを使用して Windows レジストリを編集する方法を示しています。Windows レジストリについてよく知らない場合や、レジストリエディタを使用して安全に変更を適用する方法がよくわからない場合は、「レジストリの設定」を参照してください。

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

    2. レジストリエディタでコンテキストメニュー (右クリック) から [HKEY_LOCAL_MACHINE] を選択し、[Find] を選択します。

    3. Windows Boot Manager」と入力し、[Find Next] を選択します。

    4. [11000001] というキーを選択します。このキーは、前のステップで検出したキーの兄弟です。

    5. 右のペインで [Element] を選択し、コンテキストメニュー (右クリック) から [Modify] を選択します。

    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 のコマンドを実行してボリュームを選択します (Disk Management ユーティリティを使用して、ディスク番号が 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
  7. [Disk Management] ユーティリティを使用して、ドライブをオフラインにします。

    注記

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

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

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

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

macOS RDP クライアント使用時のエラー

Microsoft ウェブサイトのリモートデスクトップ接続クライアントを使用して Windows Server 2012 R2 インスタンスに接続する場合は、次のエラーが発生する可能性があります。

Remote Desktop Connection cannot verify the identity of the computer that you want to connect to.

Mac App Store から Microsoft リモートデスクトップアプリをダウンロードし、そのアプリを使用して、インスタンスに接続します。

RDP にデスクトップではなく黒い画面が表示される

この問題を解決するには、以下の手順を実行します。

  • コンソール出力に追加情報がないか、確認します。Amazon EC2 コンソールを使用してインスタンスのコンソール出力を取得するには、インスタンスを選択して [アクション] を選択し、[インスタンス設定] を選択して [Get System Log (システムログの取得)] を選択します。

  • 最新バージョンの RDP クライアントを実行していることを確認します。

  • RDP クライアントのデフォルト設定を使用してください。詳細については、「Remote Session Environment」を参照してください。

  • リモートデスクトップ接続を使用している場合、次のように /admin オプションを使用して開始してみてください。

    mstsc /v:instance /admin
  • サーバーで全画面アプリケーションが実行されている場合、応答を停止する可能性があります。Ctrl+Shift+Esc キーを使用して Windows タスクマネージャーを起動し、アプリケーションを閉じます。

  • サーバーの使用率が高すぎる場合、応答を停止する可能性があります。Amazon EC2 コンソールを使用してインスタンスを監視するには、インスタンスを選択し、[Monitoring] をクリックします。サイズの大きいインスタンスタイプに変更する必要がある場合は、「インスタンスタイプを変更する」を参照してください。

管理者ではないユーザーアカウントでインスタンスにリモートでログインできない

管理者アカウントではないユーザーアカウントから、Windows インスタンスにリモートでログインできない場合、ローカルでログオンする権限がユーザーに付与されていることを確認してください。ユーザーまたはグループにドメインのドメインコントローラーにローカルでログオンする権限を付与するを参照してください。

AWS Systems Manager を使用したリモートデスクトップ問題のトラブルシューティング

AWS Systems Manager では、RDP を使用して Windows インスタンスに接続する際の問題のトラブルシューティングを行うことができます。

AWSSupport-TroubleshootRDP

AWSSupport-TroubleshootRDP 自動化ドキュメントでは、リモートデスクトッププロトコル (RDP) の接続に影響する可能性があるターゲットインスタンスの一般設定 (RDP ポートネットワークレイヤー認証 (NLA)Windows ファイアウォールプロファイルなど) を確認または修正できます。デフォルトでは、このドキュメントは以上の設定の値を読み取って出力します。

AWSSupport-TroubleshootRDP 自動化ドキュメントは、AWS Systems Manager 用に有効化されているインスタンスでのみ使用できます。これらのインスタンスはマネージドインスタンスとも呼ばれます。詳細については、『AWS Systems Manager ユーザーガイド』の「ハイブリッド環境での AWS Systems Manager セットアップ」を参照してください。インスタンスには、AWS Systems Manager SSM エージェントがインストールされており、Systems Manager へのアクセス許可を持つ IAM ロールがアタッチされている必要があります。ターゲットインスタンスの RDP の一般設定を変更するには、デフォルトのパラメータ値を変更する必要があります。

AWSSupport-TroubleshootRDP ドキュメントの使用に関するトラブルシューティングを行うには

  1. Systems Manager コンソールにログインします

  2. 障害が発生したインスタンスと同じリージョンで操作していることを確認します。

  3. AWSSupport-TroubleshootRDP ドキュメントを開きます。

  4. [Execution Mode (実行モード)] で、[Execute the entire automation at once (自動化全体を一度で実行)] を選択します。

  5. [入力パラメーター] の [InstanceId] フィールドで、[Show interactive instance picker (インタラクティブなインスタンスピッカーを表示)] を有効にします。

  6. Amazon EC2 インスタンスを選択します。

    注記

    リストにインスタンスが表示されない場合は、Systems Manager では使用できません。詳細は、『AWS Systems Manager ユーザーガイド』の「Systems Manager のインスタンスプロファイルの作成」および「IAM インスタンスプロファイルを Amazon EC2 インスタンスにアタッチする」を参照してください。

  7. を確認し、[Execute automation (自動化を実行)] を選択します。

  8. 実行の進行状況をモニタリングするには、[Execution status (実行ステータス)] で、ステータスが [保留中] から [成功] に変わるのを待ちます。[出力] を展開して結果を表示します。個別のステップの出力を表示するには、[Executed Steps (実行済みのステップ)] で [Step ID (ステップ ID)] を選択します。

AWSSupport-TroubleshootRDP の例

以下の例では、AWSSupport-TroubleshootRDP を使用して一般的なトラブルシューティングタスクを実行する方法を示します。AWS CLI start-automation-execution コマンドの例を使用するか、提供されている AWS マネジメントコンソール へのリンクを使用できます。

例: 現在の RDP のステータスを確認する

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id" --region region_code

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region#documentVersion=$LATEST

例: Windows ファイアウォールを無効にする

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id,Firewall=Disable" --region region_code

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&Firewall=Disable

例: ネットワークレベル認証を無効にする

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id,NLASettingAction

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion

例: RDP サービスのスタートアップタイプを [自動] に設定して RDP サービスを開始する

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id,RDPServiceStartupType=Auto, RDPServiceAction=Start" --region region_code

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RDPServiceStartupType=Auto&RDPServiceAction=Start

例: デフォルトの RDP ポート (3389) を復元する

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id,RDPPortAction=Modify" --region region_code

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RDPPortAction=Modify

例: リモート接続を許可する

AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-TroubleshootRDP" --parameters "InstanceId=instance_id,RemoteConnections=Enable" --region region_code

AWS Systems Manager コンソール:

https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootRDP?region=region_code#documentVersion=$LATEST&RemoteConnections=Enable

AWSSupport-ExecuteEC2Rescue

AWSSupport-ExecuteEC2Rescue 自動化ドキュメントでは、EC2Rescue for Windows Server の使用 を使用して EC2 インスタンスの接続と RDP 問題の自動的なトラブルシューティングと復元を行います。詳細については、「到達不可能なインスタンスでの EC2Rescue ツールの実行」を参照してください。

AWSSupport-ExecuteEC2Rescue 自動化ドキュメントは、インスタンスの停止と再起動を必要とします。Systems Manager Automation は、インスタンスを停止して Amazon マシンイメージ (AMI) を作成します。インスタンスストアボリュームに保存されているデータは失われます。Elastic IP アドレスを使用していない場合は、パブリック IP アドレスが変わります。詳細については、AWS Systems Manager ユーザーガイドの「到達不可能なインスタンスでの EC2Rescue ツールの実行」を参照してください。

AWSSupport-ExecuteEC2Rescue ドキュメントの使用に関するトラブルシューティングを行うには

  1. Systems Manager コンソールを開きます。

  2. 障害が発生した Amazon EC2 インスタンスと同じリージョンで操作していることを確認します。

  3. AWSSupport-ExecuteEC2Rescue ドキュメントを開きます。

  4. [Execution Mode (実行モード)] で、[Execute the entire automation at once (自動化全体を一度で実行)] を選択します。

  5. [入力パラメーター] セクションの [UnreachableInstanceId] に、到達不可能なインスタンスの Amazon EC2 インスタンス ID を入力します。

  6. (オプション) Amazon EC2 インスタンスのトラブルシューティング用にオペレーティングシステムレベルのログを収集する場合は、[LogDestination] に Amazon Simple Storage Service (Amazon S3) バケット名を入力します。ログは、指定したバケットに自動的にアップロードされます。

  7. [Execute automation] を選択します。

  8. 実行の進行状況をモニタリングするには、[Execution status (実行ステータス)] で、ステータスが [保留中] から [成功] に変わるのを待ちます。[出力] を展開して結果を表示します。個別のステップの出力を表示するには、[Executed Steps (実行済みのステップ)] で [Step ID (ステップ ID)] を選択します。