【まとめ】EC2にWindows環境を作りリモートデスクトップ接続する手順

# 背景
一時的にWindows環境が入ったPCを使いたいが、PCリースやレンタルまでコストはかけたくない。とはいえある程度のスペックを担保した環境を準備したい。
ということで、AWSのEC2上でWindows環境を作り、リモートデスクトップで接続するまでの手順をまとめました。
さらにそのままだと英語のため、日本語化する手順も加えています。

# 構成
VPCを作成し、その中にEC2を作成します。
![Qiita.drawio (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/6d0aa166-48ec-59b0-359d-7e8f2497494f.png)

# 手順
## 1.VPC環境を準備する
### 1-1.VPCにアクセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/57d1a9a3-eb92-5743-9ebe-8b6fd0b184e9.png)

### 1-2.VPCを作成をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/61814cfd-20a9-4ca7-8669-6283de58e9b0.png)

### 1-3.VPCの設定を行う
・作成するリソース：VPCなど
・名前タグの自動生成：自動生成にして「WindowsServer」と入力。
※自動生成をOFFにするとVPC・サブネット等の名前を個別に入力することができますが、自動生成でもわかりやすい名前にしてくれるようです
・IPv4 CIDR ブロック：10.0.0.0/16
・IPv6 CIDR ブロック：IPv6 CIDR ブロックなし
・テナンシー：デフォルト
・アベイラビリティゾーン (AZ) の数：1

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/cf8d5e66-639b-7f14-248e-6c40a9966a69.png)

・パブリックサブネットの数：1
・プライベートサブネットの数：0
・ap-northeast-1aのパブリックサブネット CIDR ブロック：10.0.0.0/24
・NAT ゲートウェイ：なし
・VPC エンドポイント：なし
・DNS オプション：どちらもデフォルトでON

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/e7710be7-2541-66b1-b37a-d87069012757.png)

ここまで完了したら「VPCの作成」をクリックしてください。

### 1-4.VPCワークフローが正しく作成されたか確認する
正しく作成されたら、左上に「成功」と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/ef89d561-444b-6aec-0036-34cfd67e02c6.png)

「VPCの表示」をクリックしリソースマップを見ると、VPCにサブネット・ルートテーブル・インターネットゲートウェイがそれぞれ関連付けされていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/23c860d2-6eb6-c2e2-d267-99202e463250.png)

## 2.EC2環境を準備する
### 2-1.EC2にアクセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/65be6f54-031c-c2ac-fd85-7495c1378e39.png)

### 2-2.インスタンスを起動をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/9d67b504-e106-c313-b77d-24a7985a0176.png)

### 2-3.インスタンスの設定を行う
・Name and tags：適切な名前をつける（WindowsServer_test）
・Amazon マシンイメージ (AMI)：Microsoft Windows Server 2022 Base
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/0f4a9ed4-3e24-667d-b42b-948b1f4fd0e2.png)

#### インスタンスタイプ
t2.micro
※テストで作っているので無料利用枠の対象インスタンスで作りました。実運用する際はインスタンスタイプをこれより強いものにして運用していきます。インスタンスタイプは作成後でも変更可能なので一旦小さいインスタンスで作成しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/07c9f638-31e4-59cc-a9a1-03cbcad2c096.png)

#### キーペア
「新しいキーペアの作成」をクリック
→キーペア名を入力して「キーペアを作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/02ce216d-349a-29b0-88e6-cf73b78aa407.png)

作成後に「〇〇.pem」というキーファイルがダウンロードされます。
このキーペアはインスタンスにアクセスするために必要なものですので、流出しないように注意しましょう。紛失するとインスタンスにアクセスできなくなったり、流出すると不正アクセス・不正利用に繋がる恐れがあります。

#### ネットワーク設定
編集ボタンを押して、さきほど作成したVPC内に配置されるよう設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/1acefcd9-830c-2ece-ce4d-590b1297953b.png)

・VPC：さきほど作成したVPCを選択
・サブネット：上記VPCを選択したら自動選択される
・パブリック IP の自動割り当て
IPアドレスが毎回変わってもいいのでコストをかけたくない→有効化
IPアドレスを固定にしたい→無効化
※有効化にするとEC2起動時に毎回IPアドレスが変更するためリモートデスクトップ接続設定を都度変更する必要があります。一方で無効化するとパブリックIPがない状態のため、ElasticIPでIPアドレスを割り当てする必要があります。またその場合ElasticIPのコストがかかります。今回は「無効化」して後でElasticIPを使って割り当てを行います。
・ファイアウォール (セキュリティグループ) 
「セキュリティグループを作成する」を選択し、以下のような設定をします。
タイプ：rdp
ソースタイプ：自分のIP
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/25aed986-47a9-1a26-4e37-bb72c51bc0c6.png)

#### ストレージ
右上の「アドバンスト」をクリックし、以下を変更します。
ボリュームタイプ：gp3
終了時に削除：はい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/a51bf35a-6ff1-3497-5501-fa47771a8c08.png)

### 2-4.インスタンスを起動する
インスタンス起動ボタンを押します。
成功すると以下のような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/ed2cfe02-3e41-aa10-1533-170ff0f1c554.png)

### 2-5.IPアドレスを付与する※パブリック IP の自動割り当てを【無効化】した場合のみ
#### 2-5-1.Elastic IPにアクセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/2d38e9a7-f8c5-4657-5541-9accb747c895.png)

#### 2-5-2.「Elastic IP アドレスを割り当てる」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/3accb27a-df90-0fa7-1451-dc174a945724.png)

#### 2-5-3.「割り当て」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/81bb3720-3c94-6582-f860-6f6078d5569e.png)

#### 2-5-4.作成したIPアドレスを選択し「ElasticIPアドレスの関連付け」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/64668916-da88-ac22-995d-f4af7b25ca85.png)

#### 2-5-5.関連付け設定を編集
・リソースタイプ：インスタンス
・インスタンス：作成したEC2インスタンスを選択
・プライベートIPアドレス：インスタンスを選択すると自動で表示されるためそれを選択
設定後、「関連付ける」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/2af31868-42b6-8373-cb6c-b1fd2721fd1b.png)

## 3.リモートデスクトップ接続をする
### 3-1.立ち上げ済みのEC2インスタンスIDを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/e135b61e-3f93-a7f3-0cb2-ab2a00612f3c.png)

### 3-2.接続を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/115de191-1196-9e14-7aca-af0bdcb46194.png)

### 3-3.RDPクライアントを選択し、パスワードを取得ボタンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/fa05acd5-786f-c40a-693b-a3fa5a5a2043.png)

### 3-4.プライベートキーファイルのアップロードから、先ほどダウンロードした「〇〇.pem」をアップロードし、パスワードを復号化をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/df41f94f-d455-dcdc-796a-1159f5be6fb6.png)

### 3-5.パスワードが表示されるため、記録しておく（後ほどリモートデスクトップ接続時に使用します）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/5ae866c9-e76a-700f-84ff-c067b01b801d.png)

### 3-6.リモートデスクトップファイルのダウンロードをクリックし、.rdpファイルを取得します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/c73df11b-34b2-7e84-efe5-5c337a327eda.png)

### 3-7.ダウンロードリモートデスクトップファイルのダウンロードをクリックし、.rdpファイルを取得します

### 3-8. .rdpファイルを開き、先程取得したパスワードを入力して接続します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/3f95eab1-6273-8c14-33bc-3ca6629260fe.png)

## 4.リモートデスクトップ接続をする
### 4-1.Settingを開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/888b2cb8-b5d9-d17c-fea0-c34633e77d20.png)

### 4-2.Time&Languageを開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/97b41e11-7f6c-c5af-fe27-5fb79a07367d.png)

### 4-3.Languageを開く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/527ca3cd-cddc-8fd1-a4b7-e11b7755d7cb.png)

### 4-4.Add a languageをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/22f47fc3-1130-a098-4802-b3b08d081261.png)

### 4-5.検索ボックスで「日本語」を検索し選択、その後Nextをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/4772810c-a929-6b7f-1217-607de41cdd47.png)

### 4-6.すべてのチェックボックスにのONにした上で、Installをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/36e62f64-40a8-7b83-9d06-0438156f6ebc.png)

インストール中となるので、少し待機します。

### 4-7.インストールが完了したので、「Yes,sign out now」をクリック（リモートデスクトップ接続が切れます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/c7dbe56b-1254-ccf2-ca76-48d0d61bb6a6.png)

### 4-8.再度リモートデスクトップ接続をする

### 4-9.設定＞時刻と言語＞地域をクリックし、「国または地域」から「日本」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/4423c9c6-bbfe-07fd-2a03-07fbdaec92e2.png)

### 4-10.言語をクリックし、「管理用の言語の設定」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/21b6f67c-f4b1-18d2-4081-601822608deb.png)

### 4-11.管理タブをクリックし、「設定のコピー」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/4aff2638-ab75-add8-5fb9-781da9133ec4.png)

### 4-12.「現在の設定のコピー先」にある2つのボックスにチェックを入れ、OKをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/beecccdf-e6a7-c6f2-a50e-0f73cbfdbbb1.png)

### 4-13.再起動の指示が出るため、再起動する

### 4-14.設定＞時刻と言語＞日付と時刻をクリックし、「タイムゾーン」から「(UTC+09:00)大阪、札幌、東京」を選択。その後、今すぐ同期をクリック。時刻が正しいことを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/d2a17bfe-5e72-41f4-5d00-4cc45e3d2c96.png)


# まとめ
EC2上でWindows環境を作ってみました。なれたら15分程度で作れてしまいますし、次に使うときはEC2を起動するだけなので、ローカルPCで

ちなみにSpeedTestをしてみたところ
・ダウンロード：268.84Mbps
・アップロード：575.73Mbps
と、t2.microインスタンスでしたがなかなかよい速度を記録しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/a5b977cf-faed-7744-f206-503fee1e4da7.png)

とはいえ、CPUが貧弱でメモリも1GBしかないため、PCの動作自体カクカクしていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/414468/e18d71d1-2cc1-b909-09e8-271fd65a16d7.png)
※ブラウザを立ち上げただけでCPUもメモリも90%超え

なので、実運用していくためには適切なインスタンスタイプに切り替えた上でお使い頂くのがベストだと思います。

https://aws.amazon.com/jp/ec2/instance-types/

# 参考サイト
https://zenn.dev/taroman_zenn/articles/52d9d5204eba61

https://blog.denet.co.jp/win2022-on-ec2-fw/

https://tenshoku-careerchange.jp/column/3776/