初めに
AWS Systems Manager Fleet Managerを利用して、プライベートサブネットに配置したWindowsServerにWeb GUIからRDP接続してみました。
検証構成図
検証前提
以下は実施済みの前提となります。
- 検証構成図に記載のAWSネットワーク環境(VPC、サブネット)作成
- EC2インスタンス(Windows)作成
事前準備
- SSMエージェントのインストール
- IAMロールの作成
- IAMロールのアタッチ
- SSM関連エンドポイントの作成
1. SSMエージェントのインストール
WindowsServerをAWS公式のAMIから構築した場合にはSSM Agentがすでにインストールされています。
2. IAMロールの作成
IAMポリシー「AmazonSSMManagedInstanceCore」を設定した、IAMロールを作成します。
信頼されたエンティティタイプ:AWSのサービス、ユースケース:EC2 を選択
「AmazonSSMManagedInstanceCore」をチェックし、ポリシーをアタッチ
3. IAMロールのアタッチ
作成したIAMロールを対象のインスタンスにアタッチします。
IAMロールの反映のためEC2インスタンスを再起動
IAMロールの反映について、EC2の再起動は必須ではありません。
SSM AgentがIAMロールを検出するまで待機するか、SSM Agentの再起動により反映ができます。
参考:既存の IAM ロールを EC2 インスタンスに割り当てるにはどうすればよいですか?
4. SSM関連エンドポイントの作成
以下のエンドポイントを作成します。
SSM Session Managerとの通信用エンドポイント ※セキュリティグループでは、VPC内からHTTPS(443)のインバウンド通信を許可
com.amazonaws.ap-northeast-1.ssm
com.amazonaws.ap-northeast-1.ssmmessages
com.amazonaws.ap-northeast-1.ec2messages
AWS SSMユーザーズガイド ステップ 6: (オプション) AWS PrivateLink を使用して Session Manager の VPC エンドポイントを設定する
例としてエンドポイント:com.amazonaws.ap-northeast-1.ssmの作成手順を記載
対象VPCを選択、DNSを有効化をチェック、対象サブネットを選択
対象のセキュリティグループを選択
セキュリティグループでは、VPC内からHTTPS(443)のインバウンド通信を許可しておく
同様の手順で、
com.amazonaws.ap-northeast-1.ssmmessages
com.amazonaws.ap-northeast-1.ec2messages
についても作成
SSM Fleet Managerを利用したWindowsインスタンスへの接続確認
ここまでの事前準備が完了したら、Windowsインスタンスへの接続確認を行っていきます。
1. Fleet Manager上への表示確認
2. Fleet ManagerからのRDP接続確認
[ノードアクション]-[リモートデスクトップ(RDP)との接続]を選択
認証情報を入力し(ここでは認証タイプをユーザ認証情報として接続)Connectを選択
最後に
プライベートサブネット上のWindowsインスタンスへの接続に関して、
Bastionインスタンスを用意してssh転送などを行わなくても直接GUI画面接続が可能となります。Bastionインスタンスが不要となり、構築後の運用・保守の面でも便利な機能なので、積極的に活用していければと思います。