【AWS】EC2（Amazon Linux2）でRDP環境を構築する

# はじめに

以前、VNCでアクセスできる環境を`MATEデスクトップ`と`TigerVNC`で構築した[記事](https://qiita.com/s_Pure/items/3aa0a48483cac47c7237)を公開しましたが、やはりRDPで接続できた方がいいので、`MATEデスクトップ`と`TigerVNC`と`xrdp`でGUIを表示できる環境を構築していきたいと思います。

# 設定方法

## EC2の準備
[以前の記事](https://qiita.com/s_Pure/items/3aa0a48483cac47c7237)と同様、パブリックIPでSSHアクセスできるEC2インスタンスを準備してください。

## MATEデスクトップのインストール
まずは、パッケージ類のアップデートを行います。
`Is this ok [y/d/N]: `と表示されたら、`y`を入力してアップデートを続行します。

```bash:パッケージのアップデート
sudo yum update
```

その後に、MATEパッケージをインストールします。
`Is this ok [y/d/N]: `と表示されたら、`y`を入力してインストールを続行します。

```bash:MATEパッケージのインストール
sudo amazon-linux-extras install mate-desktop1.x
```

MATE をデフォルトのデスクトップとして定義します。
下記のコマンドでどのユーザーでもMATEを利用できるように定義します。

```bash:MATEの定義
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
```

## TigerVNCのインストール

下記のコマンドでTigerVNCをインストールします。

```bash:TigerVNCのインストール
sudo yum install tigervnc-server
```
[](
ここは不要だった。\
VNC固有のパスワードを設定します。\
\
```bash:パスワード設定コマンド\
vncpasswd\
```\
\
`Password:`と表示されたら設定したいパスワードを入力してください。\
`Verify:`と表示されたら、パスワードを再度入力してください。\
`Would you like to enter a view-only password (y/n)? `と表示されたら、`n`と入力してEnterキーを押してください。
)

## xrdpをインストール

まずはじめに、xrdpをインストールするために、EPELリポジトリを利用できるようにします。
`amazon-linux-extras`コマンドでEPELを指定します。

```bash:EPELを利用できるようにするコマンド
sudo amazon-linux-extras install epel
```

EPELリポジトリが利用できるようになったら、下記のコマンドでxrdpをインストールします。

```bash:xrdpインストールコマンド
sudo yum install xrdp
```

xrdpサービスを起動します。また、自動設定も有効にしておきます。

```bash:xrdp管理コマンド
sudo systemctl start xrdp
sudo systemctl enable xrdp
```

念のため、xrdpサービスが正常に起動しているか確認してみましょう。

```bash:xrdp状態確認コマンド
sudo systemctl status xrdp
```

正常に動作していた場合は、`Active: active (running) `と表示されます。

```bash:確認結果
● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-01-21 09:50:28 UTC; 1min 33s ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
 Main PID: 5527 (xrdp)
   CGroup: /system.slice/xrdp.service
           └─5527 /usr/sbin/xrdp --nodaemon
```

## ユーザーのパスワード設定

下記のコマンドで、ec2-userのパスワードを設定します。

```bash:ec2-userのパスワード設定
sudo passwd ec2-user
```

`New password: `と表示されたら設定したいパスワードを入力します。
`Retype new password: `パスワードを再度入力します。


## RDPの接続確認

Microsoft Remote Desktopを起動し、設定を追加します。

`Add PC`ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/bda095ee-8fdf-3977-d431-b4f6ecaefc55.png)

EC2のIPアドレスを入力して、`Add`を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/d595fc40-05d1-24ce-1006-9c77a9c32028.png)

追加されたリモート設定をダブルクリックして、接続を開始します。

ユーザー名と先ほど設定したパスワードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/d3d44ff3-49f7-3034-0b12-b6755348f7c8.png)

下記のような警告が表示されますが、今回は`Continue`を選択していただいて問題ありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/a2b2e8ab-9831-fea5-9923-63ab9c2d29c1.png)

下記のような画面が表示されれば問題なく、RDP接続できています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/401878/79d7c7f1-fad7-bb34-3c3f-94db0fb8bb06.png)


# 最後に
意外と簡単にRDPの環境を構築する事ができました。
既に環境構築済みのAMIが存在するそうのでそちらも今後試してみようと思います。
[](環境構築済みのAMIについての参考記事 
 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-ami-mate.html)

また、今回は、`Amazon Linux2` & `MATE`を利用しましたが別のGUIの環境構築も試してみたいです。
`CentOS` & `GNOME Desktop`とか・・・
[](参考になりそうなURL https://qiita.com/rokusyou/items/2f7f58682124a8008779)