ichou1のブログ

主に音声認識、時々、データ分析のことを書く

AWSメモ(HTTPS 通信で AWS EC2 へのリモートデスクトップ接続)

「RDP over HTTPS」に関するメモ。

「Systems Manager」を利用することで、パブリックなIPアドレスを持たなくても接続できる。

aws.amazon.com


今回、試したAWS上の環境は下図のとおり。

f:id:ichou1:20211231121659p:plain
エンドポイントに関しては、VPCのAZ数を「2」にしたことで各AZに自動生成された


CDKを使って、CloudFormation スタックとしてAWSにデプロイした。
VPCエンドポイントして、下記を追加。

  • com.amazonaws.[region].ssm
  • com.amazonaws.[region].ssmmessages
  • com.amazonaws.[region].ec2messages
vpc.addInterfaceEndpoint("ssm-endpoint", {
    service: ec2.InterfaceVpcEndpointAwsService.SSM
});                      

vpc.addInterfaceEndpoint("ssm-messages-endpoint", {
    service: ec2.InterfaceVpcEndpointAwsService.SSM_MESSAGES
});                      

vpc.addInterfaceEndpoint("ec2-messages-endpoint", {
    service: ec2.InterfaceVpcEndpointAwsService.EC2_MESSAGES
});                      



EC2に関しては、下記のAMIを使用。

machineImage: ec2.MachineImage.latestWindows(
    ec2.WindowsVersion.WINDOWS_SERVER_2019_JAPANESE_FULL_BASE
),


SecurityGroupは下記のとおり。インバウンドルールでRDP「ポート3389」をオープンにしていない。
f:id:ichou1:20220101083332p:plain

f:id:ichou1:20220101085644p:plain

セッションマネージャ経由での接続はOK
f:id:ichou1:20220101085852p:plain


アクセス元となるクライアント端末で、セッション開始&ポート転送。

% aws ssm start-session --target  i-0355a33eb8da08120 --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389"
Starting session with SessionId: <IAM Username>-0b524196744cd5ce7
Port 13389 opened for sessionId <IAM Username>-0b524196744cd5ce7.
Waiting for connections...

RDPクライアント(ここでは、「Remmina」を使用)から「localhost:13389」
ドメインは入れなくてよい。
f:id:ichou1:20220101090950p:plain

接続できた。
f:id:ichou1:20220101091927p:plain