AWS CLI 構築から Session Manager 経由の安全なRDP接続、Windows Server 初期設定まで(個人開発環境の構築記録)

クラウド上に安全な Windows 開発環境を作りたくて、AWS EC2・Session Manager(SSM)・RDP を組み合わせた構成を作りました。

ローカルPCに負荷をかけず、いつでも起動・停止できる快適な開発環境です。

この記事では次の内容をまとめています:

AWS CLI のセットアップ Session Manager を使った “外部公開ゼロ” のRDP環境構築 Windows Server 2022 の初期設定(日本語化・時刻・安全設定) IAMユーザーとWindowsアカウントの整理(最小権限化)

1. AWS CLI のセットアップ

AWS上のEC2に安全にアクセスするため、CLI専用のIAMユーザーを作成しました。

1-1. IAM ユーザー「cli-user」を作成

今回は CLI専用アカウント として完全に分離。

作成内容

ユーザー名:cli-user アクセス方法:Access key(プログラムアクセス)

付与ポリシー:

AmazonSSMFullAccess

AmazonEC2ReadOnlyAccess

AdministratorAccess は不要(セキュリティ的にも排除)

セキュリティ:

後からグループを調整し、最低限の権限だけ付与する構成に変更。

1-2. AWS CLI インストール

ローカルPC(Windows)側でインストール:

公式:

https://aws.amazon.com/cli/

インストール後

aws –version

1-3. 設定(aws configure)

CLIにキーを登録:

aws configure

登録例:

AWS Access Key ID: xxxxxxxxxxxxx
AWS Secret Access Key: xxxxxxxxxxxxx
Default region: ap-northeast-1
Default output: json

動作確認

aws sts get-caller-identity

出力に cli-user が表示されれば成功。

2. Session Manager(SSM)経由でRDPする安全構成

RDP の 3389ポートを完全に閉じたまま

AWS Systems Manager (SSM) でトンネルを張り、

安全にRDP接続する仕組みを構築しました。

これで外部攻撃リスクはゼロになります。

2-1. Windows Server 側:SSM Agent の更新

EC2 上の Windows Server にログインし、PowerShellで実行。

最新版のSSM Agentを取得

Invoke-WebRequest https://github.com/aws/amazon-ssm-agent/releases/latest/download/AmazonSSMAgentSetup.exe
-OutFile SSMSetup.exe

インストール

Start-Process .\SSMSetup.exe -ArgumentList “/S” -Wait

サービス再起動

Restart-Service AmazonSSMAgent

2-2. ローカルPC→EC2 へポートフォワード(RDPトンネル作成)

CLI で Session Manager のポートフォワードを開始。

aws ssm start-session --target i-xxxxxxxxxxxxxxx
–document-name AWS-StartPortForwardingSession `
–parameters “localPortNumber=13389,portNumber=3389”

これでローカルPCの:

localhost:13389 → EC2の3389(RDP)

という安全トンネルが確立します。

※ この PowerShell ウィンドウは閉じないこと

(閉じたい場合は Ctrl + C)

2-3. RDP接続(外部公開ゼロで接続)

Windows の RDP クライアント(mstsc)で:

localhost:13389

ユーザー名:Administrator

パスワード:EC2初回ログイン時に取得したもの

2-4. セキュリティグループから RDP を完全削除

トンネルRDPが動くのを確認した後、

セキュリティグループのインバウンドルールから TCP 3389(RDP)を削除。

結果:

外部からの RDP → 完全遮断 Session Manager 経由だけ → 許可

AWSが推奨する“最も安全なWindows運用”になります。

3. Windows Server 2022 の初期設定

Session Manager RDPで接続後、サーバの初期設定を実施。

3-1. 日本語化(表示言語)

Settings → Time & Language → Language & Region

→ Japanese を追加

→ Windows display language に設定

→ 再起動

システムロケールも日本語へ

Control Panel → Region → Administrative → Change system locale → 日本語

3-2. タイムゾーン(日本時間)

Set-TimeZone -Name “Tokyo Standard Time”

3-3. Windows Update の適用

最新の更新プログラムをすべて適用。

IME のバージョン確認は不要。

Windows Update が最新ならIMEも最新に更新される。

3-4. Windows Firewall

デフォルト設定のままでOK(推奨) 不要なルールを無効にするとSSMや内部通信が壊れる可能性があるためそのままにする

ポイントは:

外部からの攻撃は SecurityGroup で完全に遮断済み

Windows Firewall はデフォルトでよい

4. IAM と Windows アカウントの整理(セキュリティ強化)

最後に、AWS/Windows のアカウントを最適化。

4-1. cli-user の権限を必要最小限に変更

最終構成:

AmazonSSMFullAccess AmazonEC2ReadOnlyAccess

→ AdministratorAccess は削除

→ IAMグループも安全な状態に調整済み

4-2. Windows Server側も“個人管理者アカウント”を作成

セキュリティ向上のため:

Administrator(デフォルト)

自分専用の管理者アカウント

この2つに変更。

→ Administratorを使い続けるより安全でログも明確。

まとめ:今回構築した環境の特徴

AWS CLI で SSM を安全に実行できる Session Manager のポートフォワードで RDP 接続 外部から3389を完全に閉じた“最強の安全構成” Windows Server を日本語化・最新化 IAM権限とWindowsアカウントを分離 低コスト(停止中は EBS のみ課金)

ローカルPCに依存せず、

必要な時だけEC2を起動して安全に作業できる開発環境が完成しました。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA