Amazon Linux 2 を実行している Amazon EC2 インスタンスに GUI をインストールする方法を教えてください。
Amazon Linux 2 を実行している Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにグラフィカルユーザーインターフェイス (GUI) をインストールしたいと考えています。どうすればよいですか?
簡単な説明
先に進む前に、GUI を手動でインストールする代わりに、まず次のいずれかの方法を検討してください。
- MATE がプリインストールされている Amazon Linux 2 AMI から起動します。詳細については、「Amazon Linux 2 MATE デスクトップ接続を設定する」を参照してください。
- 永続的なフルマネージドデスクトップ仮想化サービスである Amazon WorkSpaces の使用を開始してください。詳細については、Amazon WorkSpaces を参照してください。
- あらゆるクラウドやデータセンターからあらゆるデバイスに安全にリモートデスクトップやアプリケーションストリーミングを提供するリモートディスプレイプロトコル、NICE DCV を是非ご利用ください。詳細については、NICE DCV を参照してください。
GUI の手動インストールを続行する場合は、次の操作を行います。
- GNOME 2 をベースにした軽量 GUI である MATE デスクトップ環境をインストールします。これは Amazon Linux 2 のエクストラとして利用できます。MATE の詳細については、MATE デスクトップ環境のウェブサイトを参照してください。
- TigerVNC などの仮想ネットワークコンピューティング (VNC) サービスをインストールします。TigerVNC の詳細については、tigervnc.org のウェブサイトを参照してください。
- VNC を使用して GUI に接続します。
- (オプション) VNC のパスワード認証をオフにします。
- (オプション) Chromium や Firefox などのウェブブラウザをインストールします。Chromium の詳細については、chromium.org のウェブサイトを参照してください。Firefox の詳細については、mozilla.org のウェブサイトを参照してください。Chromium と Firefox はどちらも、X86 バリアントでのみ利用可能であることに注意してください。
注: これらの手順は、Amazon Linux 2 にのみ適用されます。実行中のバージョンを確認するには、次のコマンドを実行します。
$ grep PRETTY_NAME /etc/os-release PRETTY_NAME="Amazon Linux 2"
GUI を使用して EC2 macOS インスタンスにアクセスする手順については、「GUI を使用して Amazon EC2 Mac インスタンスにアクセスするにはどうすればよいですか?」を参照してください。
解決方法
開始する前に
1. SSH を使用して EC2-User としてインスタンスに接続します。
インスタンスはパブリックサブネットに存在し、かつパブリック IP アドレスまたは Elastic IP アドレス経由でアクセス可能である必要があります。または、AWS VPN または AWS Direct Connect を使用して、プライベート IP を介してインスタンスにアクセスできる接続を確立できます。これらの手順は、踏み台ホストを使用する環境には適用されません。セキュリティ上の理由から、VNC サーバーへのトラフィックは SSH を使用してトンネリングされます。ベストプラクティスとして、セキュリティグループで VNC ポートを開かないようにします。
2. sudo yum update を実行してインスタンスを更新し、インスタンスを再起動します。更新して再起動しないと、以下のステップに従うときに予期しない結果が発生する可能性があります。
MATE デスクトップ環境をインストール
1. MATE パッケージをインストールします。
sudo amazon-linux-extras install mate-desktop1.x
2. MATE をすべてのユーザのデフォルトデスクトップとして定義します。
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
TigerVNC をインストール
1. TigerVNC サーバーをインストールします。
sudo yum install tigervnc-server
2. このユーザーに対して、6~8 文字を含む VNC 固有のパスワードを設定します。表示専用のパスワードを入力するかどうかを確認するメッセージが表示されたら、「n」を押します。
vncpasswd
3. VNC ネットワークアクセスをローカルホストに制限し、安全な SSH トンネルの使用でのみ VNC にアクセスできるようにします。
tigervnc 設定ディレクトリを作成します。
sudo mkdir /etc/tigervnc
localhost オプションを含む必須の設定ファイルを作成します。
sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'
4. VNC サーバーをディスプレイ番号 1 で起動し、起動時に常に起動するようにします。
新しい systemd ユニットを作成します。
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
sed コマンドを使用して、新しいユニットのすべての USER を ec2-user で置き換えます。
sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service
systemd マネージャー設定を再ロードします。
sudo systemctl daemon-reload
サービスをオンにします。
sudo systemctl enable vncserver@:1
サービスを起動します。
sudo systemctl start vncserver@:1
VNC を使用して GUI に接続します。
1. ローカルコンピュータに TigerVNC ソフトウェアをインストールします (まだインストールされていない場合)。TigerVNC は Linux、Windows、macOS で利用できます。ダウンロードにアクセスするには、TigerVNC のウェブサイトを参照してください。
Linux: tigervnc パッケージは多くのディストリビューションのリポジトリで利用可能で、それぞれのパッケージマネージャーを使ってインストールできます。 macOS: TigerVNC-x.y.z.dmg をダウンロードしてインストールします。x.y.z は最新バージョンを表します。 Windows: tigervnc64-x.y.z.exe (64 ビット) または tigervnc-x.y.z.exe (32 ビット) をダウンロードしてインストールします。x.y.z は最新バージョンを表します。
2. ローカルコンピュータで、ローカルポート 5901/TCP (VNC) 上のすべてのトラフィックをインスタンスの VNC サーバーに転送するトンネルを作成しながら、SSH を使用してインスタンスに接続します。
Linux および macOS
SSH を使用してインスタンスに接続する場合は、-L パラメータを追加してポート転送を有効にします。必要に応じて、PEM_FILE をプライベートキーに置き換え、INSTANCE_IP をインスタンスのパブリック IP またはプライベート IP に置き換えます。
ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP
Windows
PuTTY で接続を開く場合は、ポートフォワーディングを設定してから接続を開きます。
- [Connection] メニューで [SSH] を選択してから、[Tunnels] を選択します。
- [発信元ポート] フィールドに「5901」と入力します。
- [送信先] フィールドに「localhost:5901」と入力します。
- [追加] を選択します。
3. ローカルコンピューターで TigerVNC ビューアーを開きます。VNC サーバーのホスト名の入力を求められたら、localhost:1 と入力して接続します。
4. 「TigerVNC のインストール」セクションのステップ 2 で設定した VNC パスワードを入力します。接続が安全でないことを示すアラートが表示された場合は、無視してください。暗号化された SSH トンネルを使用して VNC サーバーにアクセスしている。
MATE デスクトップ環境が表示されます。
(オプション) VNC のパスワード認証をオフにする
VNC パスワード認証をオフにすることはベストプラクティスではありません。SSH を使用してインスタンスに接続できるユーザーは、トンネルを作成して VNC デスクトップにアクセスできます。これがシングルユーザーインスタンス (つまり、他のユーザーがログインできない) で、VNC のパスワード認証をオフにする場合は、次のステップに従います。
1. VNC サーバの [セキュリティタイプ] 設定を [なし] に変更します。
echo SecurityTypes=None >> ~/.vnc/config
2. VNC サーバーを再起動します。
sudo systemctl restart vncserver@:1
(オプション) ウェブブラウザをインストールする (X86 のみ)
AWS は、Amazon Linux 2 リポジトリに Chromium や Firefox などのウェブブラウザを提供していません。こうしたブラウザの 1 つをインストールするには、以下のステップに従います。AWS は、サードパーティーソースからインストールされたソフトウェアをサポートしていないことに注意してください。
以下の手順は、64 ビットの Intel および AMD プロセッサ (x86_64) をベースとする EC2 インスタンスに適用できます。これらのサードパーティソースでは、Graviton プロセッサ (aarch64) ベースのインスタンス用のウェブブラウザを提供していません。インスタンスのアーキテクチャを確認するには、次のコマンドを実行します。
$ uname -m x86_64
Chromium (Google Chrome のオープンソース版) をインストールするには、次のステップを実行します。
1. EPEL リポジトリを有効にします。詳細については、Fedoraproject.org ウェブサイトの EPEL ドキュメントを参照してください。
sudo amazon-linux-extras install epel
2. Chromium パッケージをインストールします。
sudo yum install chromium
Chromium は、アプリケーション、インターネット、Chromium ウェブブラウザの MATE にインストールされます。
Mozilla Firefox をインストールするには (現在のユーザーのみ)、次の操作を行います。
1. Linux 64 ビット版の最新バージョンの Firefox をローカルコンピュータにダウンロードします。ダウンロードにアクセスするには、mozilla.org のウェブサイトを参照してください。
2. Firefox をダウンロードしたら、ファイルをインスタンスにコピーします。手順については、Linux および Windows のそれぞれのウェブサイトを参照してください。
3. SSH を使用して EC2 インスタンスに接続します。
4. ファイルの内容を抽出します。この例のコマンドは、ファイルが ec2-user のホームディレクトリにあることを示しています。必要に応じて、パスと Firefox のバージョンを変更します。
tar jxf ~/firefox-xx.y.tar.bz2 -C ~/
5. vim または好みのエディターを使用して、デスクトップアイコンを作成します。次の例に示す内容で ~/Desktop/Firefox.desktop ファイルを作成します。
[Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png Icon[en_US]=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png Name[en_US]=Firefox Exec=/home/ec2-user/firefox/firefox Comment[en_US]=Firefox web browser Name=Firefox Comment=Firefox web browser GenericName[en_US.UTF-8]=Firefox web browser Categories=Network;WebBrowser;
6. ステップ 5 で作成したデスクトップアイコンを使用して Firefox を起動します。
7. アプリケーションランチャーが信頼済みとしてマークされていないというプロンプトが表示された場合は、[Mark as Trusted] (信頼済みとしてマークする) を選択し、ダブルクリックして Firefox を開きます。
関連するコンテンツ
- 質問済み 8ヶ月前lg...
- 質問済み 4ヶ月前lg...
- 承認された回答質問済み 3ヶ月前lg...
- AWS公式更新しました 7ヶ月前
- AWS公式更新しました 10ヶ月前