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