EC2インスタンス(Windows Server)にSystems Manager ポートフォワーディングを利用したRDP接続行いクライアント端末からファイルを転送する
こんにちは、こーへいです。
今回は「クライアント端末からWindows Serverにファイルを転送したい」という要望があったので、手順を連携しようとしたところ、想定していた記事がネットになかったので紹介します。
前提
- 接続先のWindows Server 2022は用意済み
- クライアント端末上でリモートデスクトップツールは用意済み(参考)
直接RDP接続するのではなく、Systems Manager ポートフォワーディングを利用する理由は以下記事のユースケースに記載されています。
クライアント端末からAWSを操作できる様にする
以下の作業が必要です。
AWS CLIとSession Manager プラグインのインストールは手順通りに実施してください。
クライアント端末上でスイッチロールできる様にする
強い権限の与えたIAMユーザーのアクセスキーを利用してクライアント端末上でAWSの操作(API実行)を行うのは可能であれば避けましょう。
基本的には、IAMロールの一時的な認証情報を利用しセキュリティリスクを下げるべきです。
クライアント端末上で簡単にスイッチロールする方法の1つに、「AWSume」がよく使われます。私も導入していて大変便利なのでこのタイミングでの導入を推奨します。
IAMロールに付与する権限は「リモートデスクトップの IAM 許可の設定」を参照して下さい。
管理者パスワードを取得する
EC2のWindowsインスタンスにRDPで接続するにてキーペアでAdministrator(管理者)のパスワードを取得する手順が記載されています。手順通り実施しパスワードを取得して下さい。
このパスワードは後続作業で使用します。
Windows Appにて接続する
私はクライアント端末にMacを使用しているため、Windows App(Microsoft Remote Desktopの後継)を利用してRDP接続をします。
クライアント端末上でリモートデスクトップの準備が完了した後は、クライアント端末上で下記コマンドを実行して、Systems Manager Session Managerを利用したEC2インスタンスへのポートフォワーディングセッションを確立します。
aws ssm start-session --target i-xxxxxxxxxxxxxxxx --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389"
セッションが確立している状態でWindows Appから接続を実施します。
PC nameには「localhost:13389」を、「redirect folders」にチェックを付け、紐付けさせたいクライアント端末のディレクトリを選択します。
※ファイル転送するためにクライアント端末とEC2インスタンスのディレクトリを紐付け(リダイレクト)させています。
今回は「/Users/yoshikawa.kohei/Downloads/test」ディレクトリをEC2インスタンスに紐付けさせています。
そのままConnectをクリックすると、Devices画面に戻るので「•••」をクリックし、Connectを選択します。
認証情報を入力する画面が出てきますので、Administratorと先ほど取得したパスワードを入力し、Connectして下さい。
接続できました!
ファイルを転送する
Windows Serverにてエクスプローラーを開くと接続時に設定した、紐付けしたクライアント端末のディレクトリがリダイレクトされていることがわかります。
現在中身が空なので、クライアント端末(Mac)上でディレクトリを作成してみます。
Mac上でディレクトリを作成しました。
Windows Serverを確認すると反映されていることがわかります!転送したいファイルを送る準備ができました。
まとめ
意外とWindows Serverへのファイル転送の解説記事がなかったので執筆のいい機会となりました。
お役に立てば幸いです。