AWS Systems Manager Session Managerのポートフォワーディング機能を使用してEC2へ接続してみる

AWS Systems Managerのノード管理ツールであるSession Managerを使用して、踏み台ホストのセットアップやEC2のセキュリティグループのポートを開いたりすることなく、プライベートネットワーク内にあるEC2に安全に接続し管理できます。

本記事では、実際にAWS Systems Manager Session Managerのポートフォワーディング機能を使用して、EC2へ接続する手順について記載いたします。

概要

Session Managerのポートフォワーディングは、クライアントPCのローカルポートとリモート接続先であるEC2インスタンスのポートを安全なチャネルで接続する仕組みです。

これにより、EC2インスタンスのインバウンドポートを開放せずにAWS管理プレーンで暗号化された接続(TLS暗号化)が可能になります。

接続の流れは以下の流れとなります。

  1. クライアントPC → Session Managerへのポートフォワーディングセッション確立
    • クライアントPCでAWS CLIとSession Manager Pluginを使用し、ローカルポート(例:55389)を指定してセッションを開始します。
    • この通信はHTTPS(TLS暗号化)でAWS管理プレーンに接続します。
  2. Session Manager → EC2へのポートフォワーディング
    • Session ManagerはAWS管理プレーン上で動作し、EC2のSSM Agentと安全なチャネルを確立します。
    • クライアントPCの指定ポートをEC2の指定ポートに安全な経路で転送します。

※ローカルポートはクライアントPCで使用していないポートを指定する必要があります。一般的にはエフェメラルポート(49152~65535)の範囲から選ぶと安全です。

前提条件

本手順を実施するにあたり、以下の項目を前提とします。

  • EC2インスタンスのOSはWindows Server2025を使用します
  • EC2インスタンスにSSM Agentがインストール済みであること
  • EC2インスタンスにIAMポリシー(AmazonSSMManagedInstanceCore)が付与されていること
  • VPCエンドポイントと疎通ができること
  • クライアント端末にAWS CLIがインストールされ、初期設定がされていること
  • EC2インスタンスがAWS Systems Managerのフリートマネジャーのマネージドノードとして登録されていること

以下の記事も参考にしてください。

手順詳細

Session Managerプラグインをインストール(AWS CLI用)

以下URLにアクセスし、Windows用のSession Managerプラグインをダウンロードします。

Windows での Session Manager プラグインのインストール - AWS Systems Manager

クライアントPCの管理者ユーザーでダブルクリックし、インストーラーを起動します。

インストーラーが起動するので、利用規約同意にチェックを入れて「Install」をクリックします。

インストールが完了していることを確認し、「Close」をクリックします。

AWS Systems Manager Session Managerのポートフォワーディングを使用してEC2へ接続方法

クライアントPCでコマンドプロンプトを起動し、以下コマンドを実行します。

※環境に合わせて、コマンドの書き換えを行ってください。

aws ssm start-session --target <EC2のinstanceid> --document-name AWS-StartPortForwardingSession --parameters "localPortNumber=<ローカルポート番号>,portNumber=3389

コマンドを実行すると、「Starting session with SessionId:~Waiting for Connections...」と表示され、接続に成功します。

クライアントPCでリモートデスクトップ接続を起動し、コンピュータの入力欄に「localhost:ローカルポート番号」を入力し、「オプションの表示」をクリックします。

ユーザー名とパスワードを入力し、「OK」をクリックします。

接続しますか?と確認が画面が表示されるので、「はい」をクリックします。

EC2へログインできることを確認します。

EC2インスタンスへの接続が確立すると「Connection accepted for session」と表示されます。

環境ログアウト方法

EC2インスタンスのOSメニューより、「Sign out」をクリックし、サーバからログアウトします。

クライアントPCで起動しているコマンドプロンプトを開き、Ctrl+Cキーを押しポートフォワーディングのセッションを終了します。

セッションが正常に終了すると「Terminate signal received, exiting」と表示されます。

まとめ

本記事では、AWS Systems Manager Session Managerのポートフォワーディング機能を使用してEC2へ接続するまでの手順について記載いたしました。

踏み台サーバをコスト面の理由から用意できない場合や、セキュリティ上の観点からポートを開放不可の要件がある際に、本記事が少しでも参考になれば幸いです。

執筆担当者プロフィール
金井 裕貴

金井 裕貴(日本ビジネスシステムズ株式会社)

オンプレミス・クラウドのインフラ基盤の設計および構築業務を担当しております。 趣味は野球観戦です。

担当記事一覧