2021年5月5日水曜日

AWS の EC2 の Amazon Linux のインスタンスに NICE-DCV で接続する

こんにちは

今年の連休もどこにも行かなかったな。。。先日 AWS の Amazon Linux のインスタンスにVNCで接続すると言う話を書きましたが、その続きと言うか、似たような話ですが、今度はNICE-DCVで接続します。

では。いざ。初めの方のXwindowを使えるようにするあたりまでは、前回と同じ話です。もう設定が終わっている方は、最初のあたりを読み飛ばしてください。

1.Xwindowの環境をインストールします。


まず、以下のコマンドを実行してXWindowの環境をインストールします。

sudo amazon-linux-extras install mate-desktop1.x

全てのユーザに利用できるようにします。

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

もし、ec2-userにだけ許可を与えたい場合は、

echo "/usr/bin/mate-session" > ~/.Xclients && chmod +x ~/.Xclients

設定します。新規ユーザを作るたびに設定してもいいかもしれません。


2.Xwindowで日本語表示ができるようにします。


以下のコマンドで日本語入力機能と日本語フォントをインストールします。

sudo yum install ibus-kkc
sudo yum install google-noto-sans-japanese-fonts


3.次回起動はGUIモードで起動するようにします。


以下のコマンドを実行して、マルチユーザ+GUIで起動するようにします。昔で言うところのRunLevel 5 でしょうか?

sudo systemctl isolate multi-user.target
sudo systemctl isolate graphical.target

ここまで実施したら一度サーバを再起動しました。


4.NICE-DCVをダウンロードします。


以下のURLへ接続して、サーバ用、クライアント用モジュールをダウンロードします。

https://www.nice-dcv.com

上記URLに接続するとダウンロードできるモジュールの一覧が表示されるので、自分の環境に合わせてダウンロードしてください。私は以下のモジュールをダウンロードしました。

サーバ:「Amazon Linux 2 / RedHat Enterprise Linux 7 / CentOS 7」
クライアント:「MacOS (M1 arm64)」

M1用のモジュールがあるのと、みんな64Bitとなっていることに少し時代の流れを感じました。そういえば、昨日子供に「32ビットと64ビットってあるけどなに?」と聞かれました。今やそんなことを気にする人はいないということです。

5.ダウンロードしたサーバ用のモジュールをサーバにコピーします。

以下のように実行してサーバ用のファイルをコピーします。
カレントディレクトリにある[filename]が[instance-ip]のインスタンスの/home/ec2-user ディレクトリにコピーされます。[private-key]はプライベートキーです。

scp -i ~/.ssh/[private-key] ./[filename] ec2-user@[instance-ip]:/home/ec2-user


6.コピーしたファイルを展開します。


まず、インストーラをコピーしたサーバに接続します。

ssh -i ~/.ssh/[private-key] ec2-user@[instance-ip]

次にファイルを展開します。

gzip -dc  nice-dcv-2021.0-10242-el7-x86_64.tgz | tar xvf -

すると、nice-dcv-2021.0-10242-el7-x86_64 というディレクトリができますので、そのディレクトリに移動します。


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


以下のようにコマンドを実行して、サーバをインストールします。

sudo yum install nice-dcv-server-2021.0.10242-1.el7.x86_64.rpm

sudo yum install nice-xdcv-2021.0.380-1.el7.x86_64.rpm


8.NICE-DCVサーバを起動します。


以下のコマンドを実行して、NICE-DCVサーバを起動します。
再起動時にも起動するように設定します。

sudo systemctl enable dcvserver.service
sudo systemctl start dcvserver.service

9.インスタンスに対してTCP:8443 への接続を許可します。

少し話がややこしいかもしれませんが、インスタンスにセキュリティグループを設定して、TCP:8443に対する接続の許可を与えます。私は、自分のPC のアドレスから接続を許可しています。ssh と NICE-DVCの接続を許可している場合は以下のような設定になると思います。


前回も話しましたが、自分のアドレスはどうやって調べるか。。。うーん。


10.NICE-DCVで接続するユーザを作成する


以下のコマンドで新しくユーザを作成します。ec2-user でも接続できますが、別のユーザをさくせ雨することにします。

sudo adduser dcv-user
sudo passwd dcv-user


11.NICE-DCVの仮想セッションを作成する


以下のようにコマンドを実行して、先ほど作成した dcv-user 用の仮想セッションを作成します。

sudo dcv create-session --owner dcv-user --user dcv-user dcv-user-session

ローカルコンソールに接続しようとして頑張っていたのですが、なんか自分の力ではできなそうな気がしてきたので仮想セッションにしました。xdm とか、gdm とかが必要な感じがしますが、ちょっとわかりません。また後で考えます。


12.クライアントから接続する


DCVのクライアントを起動して、以下のアドレスへ接続します。クライアントのインストールはそれほど難しく無いのでまあ特に書かないです。

NICE-DCVのクライアントを起動すると接続先を聞かれますので、[instance-ip]:[port-number]#[session-name] のようにして接続します。今回の場合は XX.XX.XX.XX:8443#dcv-user-session のようにします。



サーバに接続が成功すると、今度はセッション起動時にしたユーザとパスワードを聞かれますので、入力します。



接続が成功すると、こんな画面が開きます。



なんとか表示されるようになりました。ただ、表示が英語のままですね。こちらはまたいずれ考えます。「いずれ考えます」ばかりじゃねーかと言われてしまいそうですが。。。



0 件のコメント:

結局 Kindle にケースを買いました。

 こんばんわ 私、最近ほとんど外出しなくなったのですが、妻の買い物に一緒に行って、ぼけーっと待っていたり、病院に行ってぼけーっと待っていたりする機会が多くなり、なんなら家でもボケーっとしていることが非常に多くなったためか、Kindleの出番が結構ありそうです。 前回、タブレットで...