先日業務で初めてWindowsServerに触れる機会があり、その際にSSMを経由したRDP接続に関してアウトプットとして記事の投稿をしたいと思います。

構成図

スクリーンショット 2022-05-29 14.34.50.png

VPC内のプライベートサブネット配下に設置したWindosServerにSSM経由でアクセスするものです。

1 事前準備

事前準備して以下のダウンロードが必要です。

※AWS CLIを使用する際にはAWS Configureの設定を実施してください。(以下記事参照)
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config

2 VPCを作成する

マネジメントコンソールから構成図の通りVPCを作成します。
今回はシンプルな構成のためVPCウィザードから作成しました。
以下のような構成で作成していきます。

スクリーンショット 2022-05-29 12.10.41.png

スクリーンショット 2022-05-29 12.11.17.png

3 セキュリティグループの作成

今回セキュリティグループは2つ作成します。

  • EC2用
  • VPCエンドポイント

セキュリティグループは以下のとおり設定します。

■EC2用のセキュリティグループ
スクリーンショット 2022-05-29 14.22.07.png
EC2にはVPCエンドポイント経由でアクセスするためEC2のインバウンド設定は不要です。

■VPCエンドポイント用のセキュリティグループ
スクリーンショット 2022-05-29 14.29.51.png
ソースの範囲はVPCエンドポイントを配置するサブネットのCIDRを指定しています。

※いずれのセキュリティグループもアウトバウンドルールはデフォルトでOKです。

3 EC2を起動する

続いてWindowsServerを作成していきます。
VPCの設定とセキュリティグループを今回作成したものに変更してパブリックIPアドレスは非有効にしておきます。
あとはデフォルトでOKなので割愛します。
(サーバーはWindowsServerを指定)

4 EC2にIAMロールをアタッチする

EC2でSystems Managerを利用するための権限としてのIAMロールを作成します。
以下IAMロールを作成し、先程作成したEC2にアタッチします。
スクリーンショット 2022-05-29 12.42.27.png
SSMを利用できるようにしたいので AmazonSSMManagedInstanceCoreポリシーをアタッチします。

作成後先程作成したEC2にアタッチします。

5 WindowServerのパスワードを取得

EC2インスタンスの「接続」→「RDPクライアント」から「パスワードを取得」を押下してEC2作成時に指定したキーペアをを参照してログイン用のパスワードを取得します。

あとでRDPする際に必要になりますのでメモ帳なのでコピペしておいてください。
スクリーンショット 2022-05-30 20.51.11.png

6 VPCエンドポイントの作成

今回プライベートサブネットに配置されているインスタンスに接続したいのでVPCエンドポイントを経由する必要があります。

以下3つのエンドポイントを今回作成したVPCのサブネットに配置します。

  • com.amazonaws.ap-northeast-1.ssm
  • com.amazonaws.ap-northeast-1.ssmmessages
  • com.amazonaws.ap-northeast-1.ec2messages

6 接続テスト

ターミナルで以下コマンドでセッションを開始します。

aws ssm start-session --target i-xxxx --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389"

ターミナル上で上記コマンドを実行しWaiting for connections...の文字が表示されたらセッションが確立された状態になっています。

続いてMicroSoft Remote DesktopでRDP接続していきます。

コンピュータ名にlocalhost:13389を入力します。
※13389はポートフォワーディングで開いたローカルポートです。
この設定をAddしてConnectするとログイン画面がでてきますので、先程メモしたパスワードでログインします。

スクリーンショット 2022-05-29 14.02.39.png

WindowsServerへのリモートデスクトップアクセスが成功しました。
スクリーンショット 2022-05-29 14.04.25.png

うまくつながらないときは

接続がうまくいかない時は以下のポイントをチェックすると良いかもです。

  • VPCエンドポイントの「プライベート DNS名」が有効になっているか
  • EC2に適切なポリシーのIAMロールがアタッチされているか
  • VPCエンドポイントセキュリティグループでHTTPSアクセスを許可しているか
  • VPC の「DNS ホスト名」と「DNS 解決」が有効になっているか

SSM経由でインスタンスにアクセスできるようになるとEC2のポートを開かなくても良いのでセキュリティの向上につながって良いなと思いました。

TOP