~~NOCACHE~~ ## セッションマネージャ接続-Windows ### 概要(こんな時に有効です) ・パブリックサブネットでリモートデスクトップのポートを開放しないでリモートデスクトップしたい場合 ・プライベートサブネットに配置していて、外向けにリモートデスクトップのポート開放ができない場合 ■構成イメージ {{:Aws:SystemsManager:pasted:20210226-224824.png?nolink 800x0}} ### 環境準備サマリ 条件は以下の通り ①対象インスタンスに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ユーザで払いだしたアクセスキーとシークレットキーの登録をします。 https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/getting-started-restrict-access-examples.html#restrict-access-example-full-access ### 接続確認 #### セッション開始コマンドの実行 ①Powershellを起動し、以下の形式でコマンドを実行します。 aws ssm start-session --target [instance-id] --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389" #### RDP接続 ①リモートデスクトップを起動します。 ②コンピュータに[localhost:13389]と入力し[接続]をクリックします。 {{:Aws:SystemsManager:pasted:20210122-002915.png?nolink 400x0}} {{tag>AWS SystemsManager セッションマネージャ 実践的}}