2021/05/24

AWSのインスタンスでGUIな環境で管理するための設定手順を解説

 
  

AWSのインスタンスに接続する方法


AWSのAmazon EC2で作成したLinuxのインスタンスを管理するには、通常sshコマンドで接続してCUI環境で操作します。なおsshはWindowsやmacOSのOS付属のコマンドのため、アプリを追加することなく使える、暗号化で安全に接続できるコマンドです。

しかし、慣れている方でないとCUI環境の操作は不便かもしれません。

AWSのインスタンスに接続にする方法はsshだけではなく、設定さえすればGUIな環境でも管理できます。しかし、AWSへ接続するsshの仕組みを知らないとその環境を設定できません。

まずはAWSのAmazon EC2で作成したLinuxのインスタンスにsshコマンドで接続する仕組みについて解説します。

sshとは

Amazon EC2のインスタンスへの接続に用いるsshとは、Secure Shellの略で通信を暗号化して安全にリモートでコンピュータと通信するための仕組みです。

今のインターネットは安全ではありません。通信の途中で傍受され、アカウントとパスワードを盗まれてコンピュータを乗っ取られる事件が発生しています。インターネットを利用するには通信内容を暗号化して盗まれない対策が必要です。

インターネットで通信するならsshによる暗号化が必要だと考えてください。

sshを使ったAWSへの接続手順

Amazon ECのインスタンスを操作するにはsshを利用しなければなりません。そしてAmazonマシンイメージを利用してインスタンスを作成したのなら、既にsshが設定された上記で起動されています。そのためインスタンスが起動したらすぐにsshで接続可能です。

sshでAmazon ECのインスタンスに接続するには、デフォルトのアカウントとインスタンス作成時に取得したキーペアを使用します。キーペアがデフォルトのアカウントに対応するパスワードの代わりなので、sshで接続する際は必ず指定してください。

sshの使用例


$ ssh -i キーペアを格納したファイル名 デフォルトのアカウント名@インスタンスのDNS名

sshポートフォワーディングを利用する

GUI環境をインターネットで利用する方法は幾つかありますが、それぞれ専用のポート番号で通信します。しかしAWSではそのようなポートをサポートしていないので、直接GUI環境で接続できません。

もし既にsshでAWSに接続できるパソコンがあれば、そのパソコンにsshポートフォワーディングを設定することでGUI環境が利用できます。なおsshポートフォワーディングとはsshの通信を介して別のポート番号による通信を実現する技術です。

sshを利用したGUI接続


sshを利用したGUI接続による接続として、よく利用されるのがVNCです。レンタルサーバーによってはLinuxなどのOSインストール操作のためにGUI環境を用意しており、そのサービスでもVNCが使われます。

VNCを利用したGUI環境は、AMIからインストールしたAmazon EC2のインスタンスでも利用可能です。次からVNCの設定方法と使い方について紹介します。

VNCとは

VNCとはVirtual Network Computingの略で、ネットワーク上のコンピュータをGUIな環境で遠隔操作するための仕組みです。

VNCはサーバー用のアプリとクライアント用のアプリが分かれており、それぞれのアプリがWindowsやmacOS、Linuxなど多くのプラットフォームに対応しています。またベースのシステムがオープンソースとして公開されているので、VNCのアプリの多くは無料で利用可能です。

そしてAWS専用のAmazon Linux 2を含むLinux用としてオープンソース版のVNCサーバーパッケージが提供されているのでAWSのインスタンスにもインストールできます。

サーバー用アプリをインストールする

AWSでVNCの仕組みを利用するには、GUIで操作される側にVNCサーバー用のアプリをインストールし、操作する側でVNCクライアント用アプリを実行します。

例えばAmazon EC2のインスタンスにサーバー用のアプリを設定することで、VNCにいる遠隔操作が可能です。そしてAmazon Linux 2でも動作するVNCサーバー用アプリがTigerVNCです。

AWSでVNCを利用するならTigerVNCと対応しているMATE desktopなどのGUI環境をインストールしてください。

パソコンで利用できるVNCクラウアント

WindowsでVNCサーバーに接続するにはVNCクライアント用のアプリが必要です。無料で使えるVNCクライアントアプリがあるのでそれをインストールしてください。

Windowsでよく使われるアプリがVNCクライアント用のアプリがvncviewerです。このアプリはVNCを利用した有料のソリューションを提供しているRealVNC社のダウンロードサイトから入手でき、日本語環境で使用できます。

また、フリーソフトをダウンロードできるサイトとして有名な「窓の杜」にあるUltraVNCもよく利用されるアプリです。

AWSにGUIで接続するには


AWSのインスタンスにGUIで接続するには、sshポートフォワーディングを利用して通信を暗号化し、LinuxやWindowsなど多くのコンピュータをサポートしているVNCを利用します。

次にAmazon EC2の代表的なインスタンスであるAmazon Linux 2におけるGUI接続の設定手順を紹介します。

VNCサーバーをインストールする

先ほど紹介したようにAmazon Linux 2をGUIで管理するにはVNCサーバーをインストールする必要があります。なおVNCを利用するには、対応しているGUI環境のMATE Desktopが必要です。そのめVNC用のGUI環境とVNCサーバーアプリの2つをインストールしなければなりません。

そのためAmazon Linux 2にVNCサーバーをインストールするには、VNC用のGUI環境のMATEパッケージと、VNCサーバーとしてよく利用されるTigerVNCパッケージをインストールし、TigerVNCにアカウントとパスワードを設定してください。

VNC用のGUI環境のMATEパッケージのインストール例


sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

TigerVNCパッケージのインストール例


sudo yum install tigervnc-server
sudo systemctl enable vncserver@:1
sudo systemctl start vncserver@:1

なお、UbuntuやCentOSなどのLinuxを利用する場合は、GNOME DesktopとTigerVNCをインストールし、同じように設定すればVNCによるGUI環境を利用できます。

sshポートフォワーディングを設定する

続いてsshでAWSのインスタンスに接続できるパソコンにsshポートフォワーディングを設定し、安全にVNCクライアントを利用できる環境を作ります。

なおVNCではポート番号5901を使用します。そのためAWSのインスタンスのポート番号5901をパソコンで利用できるようにsshポートフォワーディングを設定します。

ポート番号5901をsshポートフォワーディングする例


ssh -L 5901:localhost:5901 -i キーペアファイル ec2-user@インスタンスのURL

VNCクライアントを実行する

sshポートフォワーディングしたパソコンにVNCクライアントをインストールし、それを実行します。

なおVNCサーバーのアドレスとポート番号はsshポートフォワーディングしているのでAWSのインスタンスではなく、VNCクライアント実行しているパソコンのアドレスとポート番号5901です。

VNCサーバーの接続先の例


loadlhost:5901

AWSのインスタンスでGUI環境を使うならsshとVNC


今回紹介したようにAWSのAmazon EC2に設定したインスタンスでGUI環境を使うなら、sshフォワーディングで通信を暗号化し、VNCによるGUI接続の仕組みを利用します。

sshによるCUIで管理するのが不便と感じている方は、今回紹介した設定により使い易いGUIな管理ツールを活用してください。