適当なWindowsが動いているEC2インスタンスがあり、それにリモートデスクトップしてもらいたいということが皆さんにもあるかと思います。そういう時、冒頭の画像にあるように、AWSコンソールからEC2インスタンスを作成し、「接続」からの「リモートデスクトップファイルのダウンロード」からダウンロードしたファイルを開くことで、ユーザーのパスワードを入力すればもう接続できる、というお手軽便利機能があります。
しかし、ざっとaws-sdkを眺めてみましたが、このファイルをAPI経由で取得する方法が見当りませんでした。
では、リモートデスクトップで作業してもらう人にAWSのコンソールには入ってほしくない、というときにはどうすればよいでしょう。
ところで、ダウンロードしたRDPファイルを見てみると、中身はテキストになっていました。
auto connect:i:1
full address:s:ec2-192-0-2-1.ap-northeast-1.compute.amazonaws.com
username:s:Administrator
なんとなく自動で生成できそうに見えます。そして、それぞれがどのような値なのかがここに記載されていました。
サポートされるリモート デスクトップ RDP ファイルの設定 | Microsoft Docs
auto connect:i:1
についてはこのドキュメントに記載がないので触らないようにして、full address:s:
には いわゆるPublic DNS (IPv4)
を設定してやればよさそうです。
また接続するユーザーも、 username:s:
で自由に設定できそうですね。
パスワードだけは別で伝えないといけないのは仕方ありませんが、作業のおまかせが手軽にできそうでよかったです。