今回は、AWSの仮想サーバーEC2に、CentOS7のAMIを使ってデスクトップ環境を構築します。

AWSマネジメントコンソールの操作

まずはAWSマネジメントコンソールから、インスタンスを起動するための設定をします。

コンソールにログイン後、「インスタンスの」→「インスタンスの作成」→「AWS Marketplace」の順で選択します。
aws-ec2-centos7-desktop

「centos7」で検索して「CentOS 7 (x86_64) - with Updates HVM」を選択します。
aws-ec2-centos7-desktop2

次にインスタンスタイプを選択します。今回は「t2.large」を選択しました。
aws-ec2-centos7-desktop6

インスタンスを起動後、セキュリティグループの設定をします。ポート5901を解放します。
aws-ec2-centos7-desktop4

ここまで完了したら、AWSマネジメントコンソール上の操作は終わりです。

コマンド操作

先ほど作成したインスタンスにssh接続をして、端末上でコマンドを実行します。今回は、centosユーザーで対応しました。

yumをアップデートします。

$ sudo yum -y update

デスクトップ環境のパッケージをインストールします。

$ sudo yum -y groupinstall 'Server with GUI'

VNCサーバをインストールします。

$ sudo yum -y install tigervnc-server

VNCサーバーにログインする時のユーザーのパスワードを設定します。

$ vncpasswd

シンボリックリンクを作成します。

$ cd /etc/systemd/system
$ sudo ln -s /lib/systemd/system/vncserver@.service vncserver@:1.service

vncserver@:1.serviceファイルを編集し、<user>をcentosに書き換えます。

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

VNCサーバのサービスを再起動します。

$ sudo systemctl daemon-reload

ファイアーウォールの設定

$ sudo systemctl start firewalld.service
$ sudo firewall-cmd --permanent --zone=public --add-service=vnc-server
$ sudo systemctl enable firewalld.service
$ sudo firewall-cmd --reload

vncserverを起動します。

$ vncserver :1

Macなどからvnc viewerのアプリをインストールして、起動すると以下の画面が表示されます。
aws-ec2-centos7-desktop5

先ほどの「初めて使う方へ」の画面を閉じると、Centos7のデスクトップ画面が表示されます。
GNOME

以上です。