AWS Systems Manager の機能である Fleet Manager を使用して、Remote Desktop Protocol (RDP) 経由で Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスに接続したいと考えています。
解決策
前提条件: 次の条件を満たしていることを確認してください。
- インスタンスが環境の要件を満たしている。リモートデスクトップを使用する前に要件を満たしている必要があります。
- インスタンスが Systems Manager コンソールにリストされている。使用するインスタンスが [マネージドノード] の [Fleet Manager] セクションにリストされている必要があります。
- AWS Systems Manager Agent (SSM Agent) の ping ステータスが [オンライン] である。使用するインスタンスが Systems Manager で管理対象として表示されない場合や、ping ステータスが [接続が失われました] の場合は、オフライン SSM Agent のトラブルシューティングを行います。
インスタンスに接続したときに表示されるエラーに基づいて、接続のトラブルシューティングを行います。
"AccessDeniedException" エラーのトラブルシューティング
Systems Manager コンソールへのアクセスに使用する AWS Identity and Access Management (IAM) ユーザーまたはロールには、以下の操作を実行するためのアクセス許可が必要です。
- ssm-guiconnect:CancelConnection
- ssm-guiconnect:GetConnection
- ssm-guiconnect:StartConnection
次のエラーは、必要なアクセス許可を設定していないことを示しています。
"AccessDeniedException: User: arn:aws:iam::123456789:user/ssmtest is not authorized to perform: ssm-guiconnect:StartConnection on resource: arn:aws:ec2:us-west-2:123456789:instance/*"
このエラーを解決するには、必要なアクセス許可を設定します。
"Unable to establish Remote Desktop connection" エラーのトラブルシューティング
FFleet Manager Remote Desktop ウィンドウには、次のエラーメッセージが表示されることがあります。
"Unable to establish Remote Desktop connection.Verify that valid credentials were provided, and that the user you specified has been granted permission to log in through Remote Desktop."
このエラーは、次の問題のうちの 1 つ以上を示しています。
- ユーザー名またはパスワードが正しくない。
- お使いの AWS アカウントが無効化されている。
- デフォルトの RDP ポート (3389) を変更した。
- ローカルまたはドメインアカウントのパスワードの有効期限が切れている。
- ネットワークレベル認証 (NLA) で認証エラーが発生している。
- リモートデスクトップサービスが再起動または停止した。
このエラーを解決するには、次の手順を実行します。
-
認証情報を正しく入力したことを確認します。
-
ユーザーアカウントが Active Directory、ローカルユーザー、およびグループ管理で有効になっていることを確認します。
-
次の PowerShell コマンドを実行して、RDP ポートが 3389 に設定されていることを確認します。
PS> (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber").PortNumber
ポートが 3389 に設定されていない場合は、次の PowerShell コマンドを実行して正しいデフォルトポートを設定します。
PS> Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value 3389
PS> Restart-Service TermService -force
-
RDP クライアントを使用して、別のアカウントからインスタンスに接続します。ローカルアカウントのパスワードの有効期限が切れた場合は、lusrmgr.msc ツールを使用してパスワードをリセットします。ドメインアカウントのパスワードの有効期限が切れた場合は、ドメインまたはシステムの管理者に連絡してパスワードをリセットしてください。
-
「RDP を使用して EC2 Windows インスタンスに接続する際、認証エラーが発生する場合のトラブルシューティング方法を教えてください」の「サーバーの NLA がオンになっている」セクションの解決手順を実行します。
-
次の PowerShell コマンドを実行して、リモートデスクトップサービスを再起動します。
PS> Get-Service TermService
PS> Start-Service TermService
"The remote desktop connection request timed out" エラーのトラブルシューティング
次のエラーメッセージは、SSM Agent を新しいバージョンに更新する必要があることを示しています。このエラーメッセージの原因となるその他の問題には、CPU 使用率が高い、メモリが枯渇している、ディスク容量が少ないなどがあります。
"The remote desktop connection request timed out.Please try again."
このエラーを解決するには、次の手順を実行します。
- ノードが SSM Agent バージョン 3.0.222.0 以降を実行していることを確認します。マネージドノードにインストールされている SSM Agent のバージョン番号を確認するには、「SSM Agent バージョン番号の確認」を参照してください。SSM Agent のインストールまたは更新方法については、「「SSM Agent」の使用」を参照してください。
- Amazon CloudWatch メトリクスで CPU 使用率が高くないか確認します。使用率が 100% に近い場合は、RDP クライアントを使用して、CPU リソースを過剰に使用しているプロセスを特定し、トラブルシューティングを行います。ログインできない場合は、インスタンスを再起動してください。インスタンスを正常に再起動したら、CPU 使用率が高い場合のトラブルシューティングを行います。
- OS レベルでメモリ使用量が多いかどうかを確認します。メモリが枯渇している場合は、インスタンスを再起動します。
- インスタンスを再起動してもエラーが引き続き表示される場合は、ルートボリュームに十分なディスク容量があることを確認してください。
"The connection has been terminated due to inactivity" エラーのトラブルシューティング
"The connection has been terminated due to inactivity" エラーは、RDP 接続が 10 分以上アイドル状態になった後に切断されたことを示します。リモートデスクトップ接続の切断時に適用した条件が RDP の接続解除の原因になっていないことを確認します。
60 分後に接続が切断される場合のトラブルシューティング
Fleet Manager セッションは、デフォルトでは 60 分後に切断されます。制限時間に達したためにセッションが切断されたかどうかを確認するには、接続履歴に関する情報を確認します。インスタンスの接続 ID に対応する [制限時間超過] ステータスを探します。
セッションの接続を維持するには、リモートデスクトップが切断される前に [アクション] メニューを開き、ドロップダウンリストから [セッションの更新] を選択します。次に、ユーザー名とパスワードを入力し、[セッションの更新] ボタンをクリックします。接続を更新すると、継続時間タイマーがリセットされます。
Amazon EC2 が既存のアクティブな RDP セッションをシャットダウンまたは再起動したために、RDP セッション接続が終了する場合もあります。
"TargetNotConnected" エラーのトラブルシューティング
次のエラーは、接続時にインスタンスがオフラインであるか、起動中状態になったことを示しています。
"400: The StartSession API operation didn't succeed: An error occurred (TargetNotConnected) when calling the StartSession operation: example_instance_id is not connected."
インスタンスの状態が両方のステータスチェックに合格した後に [実行中] であり、Fleet Manager の ping ステータスが [オフライン] であることを確認します。
シングルサインオン (SSO) ログインエラーのトラブルシューティング
次のエラーは、認証をリクエストしたときに SSO が設定されていないか、サポートされていないことを示しています。
"An error occurred while establishing the Remote Desktop Connection.The system cannot create an operating system for the SSO Login.The SSO functionality is not supported on the Domain controllers.You can only connect with username/password method."
このエラーを解決するには、ユーザー名とパスワードを使用してインスタンスに接続するか、組織のドメイン管理者に問い合わせてください。
関連情報
AWS Systems Manager Fleet Manager