AWS Systems Manager の機能である Session Manager でポート転送を使用し、踏み台ホストは使用せずに、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに Remote Desktop Protocol (RDP) 経由で接続しようとしています。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
セキュリティグループでインバウンドアクセスをブロックする場合は、Session Manager のポート転送を使用して RDP 経由でインスタンスに接続します。Session Manager のポート転送を使用するために、受信ポートを開いたり踏み台ホストを設定したりする必要はありません。
前提条件:
AWS CLI を使用してポート転送セッションを確立する
注: AWS CLI を使用して Windows インスタンスへの Session Manager のポート転送セッションを確立します。Windows の Amazon Web Services Tools for PowerShell では、Start-SSMSession コマンドレットを使用してポート転送セッションを確立することはできません。
次の手順を実行します。
- ローカルマシンで次のコマンドを実行し、コンピュータのポート 55678 からインスタンスのポート 3389 へのトンネルを確立します。
aws ssm start-session --target example-instanceid --document-name AWS-StartPortForwardingSession --parameters "example-localPortNumber=55678,example-ec2instance-portNumber=3389"
注: example と表記された値を実際の値に置き換えてください。
接続に成功すると、次のメッセージが表示されます。
「Starting session with SessionId: xxxxx-01234567891011abcPort 55678 opened for sessionId xxxxx-01234567891011abc
Waiting for connections...」
- ローカルの RDP クライアントを使用してlocalhost:55678 に接続し、Session Manager がトラフィックをインスタンスのリモートポート 3389 に転送できるようにします。
接続に成功すると、次のメッセージが表示されます。
「Connection accepted for session xxx-01234567891011abc
ポート転送セッションを終了する
次の手順を実行します。
- RDP セッションを閉じます。
- AWS CLI で Ctrl + C キーを押してポート転送セッションを終了します。AWS Systems Manager を使用してもセッションを終了できます。
セッションが正常に終了すると、次のメッセージが表示されます。
"Terminate signal received, exiting. (終了シグナルを受信しました。終了処理中)Exiting session with sessionId: xxxxx-01234567891011abc.」
接続のトラブルシューティング
ポート転送セッションが接続に失敗した場合は、表示されたエラーに応じて次のアクションを実行してください。
AccessDeniedException
セッションを開始するユーザーに、必要な Session Manager へのアクセス許可があることを確認します。
TargetNotConnected
Session Manager でターゲットノードが構成済みであり、ノードは Systems Manager Fleet Manager コンソールで Online と表示されることを確認します。
このエラーは、異なる AWS アカウントまたは AWS リージョンに置かれたマネージドノードでセッションを開始した場合にも発生します。詳細については、「マネージドノードを使用できないか、Session Manager で設定済みではない場合」を参照してください。
Session Manager プラグインが見つからない
Session Manager プラグインがローカルマシンにインストールされていることを確認します。詳細については、「AWS CLI に Session Manager プラグインをインストールする」を参照してください。
RDP クライアントが接続できない
セッションは正常に接続できるものの、RDP クライアントが接続に失敗する場合は、インスタンスのデフォルトの RDP ポートが変更されていないか確認してください。PortNumber パラメータの値を実際の値に置き換えてください。詳細については、Microsoft のウェブサイトの「RDP リスナー ポートの確認」を参照してください。
関連情報
Session Manager のトラブルシューティング