~~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 セッションマネージャ 実践的}}