0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Linux2023のGUI化

0
Last updated at Posted at 2026-04-02

AWSでLinuxのちょっとしたサーバが必要なときAmazon Linux2023のインスタンスを立てていますが意外とCLIだけだと不便で、GUI環境がほしいなぁーと思っていたらいつの間にかGUIアクセスできるようになっていました。今回はAmazon Linux2023のGUI環境設定を記事にします。

Gemini_Generated_Image_tnruidtnruidtnru.png

前提条件

  • 設定は自己責任でお願いします。本番運用する場合はセキュリティ設定はしっかりしましょう。
  • EC2側へインストールするGUI機能はAmazonDCVを利用します。
  • 設定するインスタンスはAmazonLinux2023で、インスタンスタイプはt3a.largeです。

Amazon DCVはEC2での利用は無料ですが、オンプレサーバにインストールするにはライセンス費用がいります

  • GUIアクセスはクライアントPCのWebブラウザーアクセス(HTTPS)です。VNCビュアーアプリなどのクライアントPCへのインストールはしません。

Amazon DCVについて
https://aws.amazon.com/jp/hpc/dcv/

Amazon DCV は、高性能なリモート ディスプレイ プロトコルであり、さまざまなネットワーク コンディション下でも、あらゆるクラウドまたはデータ センターからあらゆるデバイスにリモート デスクトップやアプリケーション ストリーミングを安全に配信できます。Amazon DCV と Amazon EC2 を使用することで、グラフィックを多用するアプリケーションを EC2 インスタンス上でリモートで実行し、ユーザー インターフェイスをよりシンプルなクライアント マシンにストリーミングできるため、高価な専用ワークステーションは不要になります。

設定の流れ

①EC2のデプロイ

クライアントPCからアクセスできるVPCにEC2(AmazonLinux2023)をデプロイしましょう。セキュリティーグループで、ポート番号8443を透過できるように設定しましょう。その他は一般的な手順でOKです。他に丁寧な解説記事があるので本記事では割愛します。

②EC2環境設定(任意)

SSHでEC2へ接続後に環境設定していきます。この作業は必須ではないので実施するかはお好みで。

#OSの最新版へのバージョンアップ
dnf -y update

#日本語に設定変更
localectl set-locale LANG=ja_JP.UTF-8

#タイムゾーンを日本時間に変更
timedatectl set-timezone Asia/Tokyo

#ホスト名の変更
hostnamectl set-hostname "任意のホスト名"

#設定反映のため再起動
reboot

③IAMロールの作成とアタッチ

Amazon DCVを利用するためのライセンス認証をする必要があり、そのための情報がS3バケットにあります。S3バケット内容を読み込みできるようにIMAロールを作成し、EC2にアタッチする必要があります。

https://docs.aws.amazon.com/dcv/latest/adminguide/setting-up-license.html#setting-up-license-ec2
上記サイトに以下文言あり(日本語訳)

Amazon DCVサーバーをEC2インスタンス(AWS OutpostsおよびAWSローカルゾーンで実行されているインスタンスを含む)にインストールして使用する場合、ライセンスサーバーは必要ありません。Amazon DCVサーバーは、Amazon EC2インスタンス上で実行されていることを自動的に検出し、定期的にS3バケットに接続して有効なライセンスが利用可能かどうかを確認します。

まずは許可ポリシーに「S3ReadOnlyAccess」を入れたIAMロールを作成します。
image.png

その後、該当EC2を選択した上で「アクション」-「セキュリティ」-「IAMロールを変更」で先ほど作成したIAMロールをアタッチしましょう。
image.png

④EC2の設定

SSHでEC2に接続し、Amazon DCVのインストールと設定を行います。

#GNOMEデスクトップ環境など、GUI表示に必要な一連のパッケージ群をまとめてインストールします
sudo dnf groupinstall "Desktop" -y

#DCVが現在の仕様でX11ベースのデスクトップ共有を最適にサポートしているため、画面表示プロトコルである「Wayland」を無効にし、従来の「X11」を使用するように設定します
sudo sed -i '/^\[daemon\]/a WaylandEnable=false' /etc/gdm/custom.conf

#OS起動時のモードを「グラフィカルモード」に変更します
sudo systemctl set-default graphical.target


cd /tmp

#NDCVのパッケージを公式サイトから取得
sudo rpm --import https://d1uj6qtbmh3dt5.cloudfront.net/NICE-GPG-KEY

#Amazon Linux 2023専用のインストーラ(tar.gz形式)をダウンロードし、解凍します。$(arch) を使うことで、x86_64 か ARM64 かを自動判別します。
curl -L -O https://d1uj6qtbmh3dt5.cloudfront.net/nice-dcv-amzn2023-$(arch).tgz
tar -xvzf nice-dcv-amzn2023-$(arch).tgz && cd nice-dcv-*-amzn2023-$(arch)

#中核機能。画面の転送やセッション管理を行うDCVのメインサーバーソフトのインストール
sudo dnf install -y ./nice-dcv-server-*.rpm 

#Webブラウザ接続用。専用アプリを使わず、ChromeやFirefoxから接続するための機能の
インストール
sudo dnf install -y ./nice-dcv-web-viewer-*.rpm

#仮想セッション用。物理ディスプレイがないクラウド環境で、仮想のデスクトップ画面を作成するために必要
sudo dnf install -y ./nice-xdcv-*.rpm

#サービスの自動起動設定
sudo systemctl enable dcvserver

#コンソールセッション XDummyドライバの設定
sudo dnf install -y xorg-x11-drv-dummy
sudo tee /etc/X11/xorg.conf > /dev/null << EOF
Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    Option "UseEDID" "false"
    VideoRam 512000
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync   5.0 - 1000.0
    VertRefresh 5.0 - 200.0
    Option "ReducedBlanking"
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Viewport 0 0
        Depth 24
        Virtual 4096 2160
    EndSubSection
EndSection
EOF

if [ -f /usr/bin/nvidia-xconfig ]; then
  sudo /usr/bin/nvidia-xconfig --preserve-busid --enable-all-gpus
  sudo dnf install -y vulkan-tools glx-utils
fi

#DCVサーバーの設定
sudo sed -i "/^\[session-management\/automatic-console-session/a owner=\"ec2-user\"\nstorage-root=\"%home%\"" /etc/dcv/dcv.conf
sudo sed -i "s/^#create-session/create-session/g" /etc/dcv/dcv.conf

sudo dnf install -y cups
sudo usermod -a -G sys dcv
sudo systemctl enable --now cups


ここまで設定したらあとはサーバを再起動します。
再起動完了後に証明書認証方式のままだとec2-userでGUIログインできないのでアカウント:ec2-userにログインするためのパスワードを設定します。

sudo passwd ec2-user

⑤実際にGUIアクセス

それでは実施にGUIアクセスできるか確認してみましょう。
https://{EC2のグローバルIP}:8443にクライアントPCからアクセスします。

image.png

こんな感じでログイン情報を入力する画面が表示されますので、Usernameにec2-user、Passwordに先ほど設定したec2-userのパスワードを入力します。

以下のように再度入力を求められる場合がありますが同じようにパスワード入力を行います。
image.png

ログインできるとこんな感じでデスクトップが表示されます。
image.png

参考にしたサイト

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?