セッションマネージャ接続-Windows
概要(こんな時に有効です)
・パブリックサブネットでリモートデスクトップのポートを開放しないでリモートデスクトップしたい場合
・プライベートサブネットに配置していて、外向けにリモートデスクトップのポート開放ができない場合
■構成イメージ
環境準備サマリ
条件は以下の通り
①対象インスタンスにSSMAgentがインストールされていること
②対象インスタンスのロールに「AmazonSSMManagedInstanceCore」がアタッチされていること
③対象インスタンスがセッションマネージャで必要なエンドポイントと疎通可能なこと
④接続ユーザから対象インスタンスに接続可能なポリシーがアタッチされていること
⑤接続するクライアントPCにAWSCLI、SessionManagerPluginがセットアップされていること
AWS側の準備
SSMAgentのインストール
①対象インスタンスにSSMAgentのインストール
2016年11月以降のWindowsServerはデフォルトでSSMAgentがインストールされています。
もしインストールされていない場合は、下記URLの実行ファイルからインストールします。
https://amazon-ssm-region.s3.region.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe
ロールのアタッチ
① [AmazonSSMManagedInstanceCore]ポリシーをアタッチしたIAMロールを作成します。
② 作成したロールを、対象インスタンスにアタッチします。
IAMユーザの作成
①IAMユーザを作成します。作成済みの場合は②のみ実行します。
②IAMユーザには以下のポリシーをアタッチします。
・ssm:StartSession
・ssm:TerminateSession
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": [ "arn:aws:ssm:*:*:session/${aws:username}-*" ] } ] }
エンドポイントとの疎通確認
■対象インスタンスからインターネットに接続できる場合。
設定不要です。
■対象インスタンスからインターネットに接続できない場合。
以下のVPCエンドポイントを作成して接続します。
com.amazonaws.region.ssm
com.amazonaws.region.ec2messages
com.amazonaws.region.ssmmessages
com.amazonaws.region.s3
クライアント側の準備
AWSCLI、SessionManagerPluginのインストール
①クライアントPCにAWSCLI、SessionManagerPluginをインストールします。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-windows.html
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html
AWSCLIでプロファイルの設定をします。
①[AWS Configure]コマンドで、IAMユーザで払いだしたアクセスキーとシークレットキーの登録をします。
接続確認
セッション開始コマンドの実行
①Powershellを起動し、以下の形式でコマンドを実行します。
aws ssm start-session --target [instance-id] --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389"
RDP接続
①リモートデスクトップを起動します。
②コンピュータに[localhost:13389]と入力し[接続]をクリックします。