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 デスクトップ環境の Web サイト」を参照してください。
- 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. ディスプレイ番号 1 で VNC サーバーを起動し、常にブート時に起動するようにします。
新しい 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 は Windows、Linux、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. ローカルコンピューターで SSH を使用してインスタンスに接続し、トンネルを作成して、ローカルポート 5901/TCP (VNC) のすべてのトラフィックをインスタンスの VNC サーバーに転送します。
Linux と macOS
SSH を使用してインスタンスに接続する場合、-L パラメータを追加してポート転送を有効にします。必要に応じて、PEM_FILE をプライベートキーに、INSTANCE_IP をインスタンスのパブリック IP またはプライベート IP に置き換えます。
ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP
Windows
PuTTY で接続を開くときは、ポート転送を設定してから接続を開きます。
- [接続] メニューから [SSH] を選択し、**[トンネル]**を選択します。
- [送信元ポート] フィールドに 5901 と入力します。
- **[宛先]**フィールドに [localhost:5901] と入力します。
- **[追加]**を選択します。
3. ローカルコンピューターで TigerVNC ビューアーを開きます。VNC サーバーの ホスト名の入力を求められたら、localhost:1 と入力して接続します。
4. 「TigerVNC のインストール」セクションのステップ 2 で設定した VNC パスワードを入力します。接続が安全でないことを示す警告が表示されたら、無視してください。暗号化された SSH トンネルを使用して VNC サーバーにアクセスしています。
MATE デスクトップ環境が表示されます。
(オプション) VNC のパスワード認証を無効にする
VNC パスワード認証を無効にすることはベストプラクティスではありません。SSH を使用してインスタンスに接続できるすべてのユーザーは、トンネルを作成して VNC デスクトップにアクセスできます。これがシングルユーザーインスタンス (つまり、他のユーザーがログインできない) で、それでも VNC のパスワード認証をオフにしたい場合は、以下の手順に従ってください。
1. VNC サーバーのセキュリティタイプ設定を None に変更します。
echo SecurityTypes=None >> ~/.vnc/config
2. VNC サーバーを再起動します。
sudo systemctl restart vncserver@:1
(オプション) Web ブラウザーのインストール (X86 のみ)
AWS は Amazon Linux 2 リポジトリに Chromium や Firefox などのウェブブラウザを提供していません。これらのブラウザのいずれかをインストールするには、次の手順に従います。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 は MATE の [アプリケーション]、[インターネット]、**[Chromium ウェブブラウザ]**にインストールされます。
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. アプリケーションランチャーが信頼済みとしてマークされていないことを示すプロンプトが表示されたら、「信頼済みとしてマークする」を選択し、Firefox をダブルクリックして開きます。
関連するコンテンツ
- 質問済み 2ヶ月前lg...
- 承認された回答質問済み 7ヶ月前lg...
- 質問済み 1年前lg...
- AWS公式更新しました 1年前
- AWS公式更新しました 10ヶ月前