OCI Compute に VNC Server をインストールして VNC Client から踏み台経由で接続してみる。(Oracle Cloud Infrastructure)
- 1. ネットワーク構成
- 2. VNC Server をインストール
- 3. VNC Server を起動
- 4. ターミナルソフトのポートフォワード設定
- 5. 踏み台(Bastion Compute)でポートフォワードしつつ SSH接続
- 6. VNC Client から Private Compute の VNC Server に接続
- 7. まとめ
- 参考記事
以前に下記記事で X Window転送 を取り扱っているのですが、
遠い Region で X窓転送すると激遅で使い物にならないケースが多々有ります。
OCI(Oracle Cloud Infrastructure)のComputeインスタンスで
端末(PC等)へのX Window ssh転送が出来るように設定する。
https://qiita.com/ora_gonsuke777/items/765189e9e301415e7ba5
そのようなケースでは VNC を使用すると、だいぶマシな性能を得られる事が多いです。
という訳で、本記事では踏み台経由の VNC Server/Client接続 を取り扱ってみますやで彡(゚)(゚)
1. ネットワーク構成
ネットワーク構成は下記の通りです。Compute は現時点の Oracle Linux で最新の 7.9 を使います。
下記記事と同様の構成となります。
検証によく使う Oracle Cloud Infrastructure(OCI)環境を Terraform で作成してみる。
https://qiita.com/ora_gonsuke777/items/8651c4075ec6bf436c4f
2. VNC Server をインストール
Private Compute で VNC Server をインストールします。
sudo su - yum groupinstall graphical-server-environment yum install tigervnc-server mesa-libEGL
下記はインストールログの抜粋、ちょっと時間が掛かるかも?
: Dependency Updated: firewalld.noarch 0:0.6.3-12.0.1.el7 firewalld-filesystem.noarch 0:0.6.3-12.0.1.el7 kpartx.x86_64 0:0.4.9-134.0.1.el7_9 python-firewall.noarch 0:0.6.3-12.0.1.el7 Complete! : Running transaction Installing : tigervnc-server-1.8.0-22.el7.x86_64 1/1 Verifying : tigervnc-server-1.8.0-22.el7.x86_64 1/1 Installed: tigervnc-server.x86_64 0:1.8.0-22.el7 Complete!
3. VNC Server を起動
VNC Server を opcユーザー で起動します。初回のみパスワード設定を聞かれるので入力します。
# opcユーザーで実行 vncserver -geometry 1280x1024 You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n A view-only password is not used xauth: file /home/opc/.Xauthority does not exist New 'ays-compute1:1 (opc)' desktop is ays-compute1:1 Creating default startup script /home/opc/.vnc/xstartup Creating default config /home/opc/.vnc/config Starting applications specified in /home/opc/.vnc/xstartup Log file is /home/opc/.vnc/ays-compute1:1.log
psコマンド で vncserverプロセス の起動を確認してみます。※見易くするために改行入れてます
[opc@ays-compute1 ~]$ ps -ef | grep -i vnc opc 17807 1 0 06:41 pts/0 00:00:00 /usr/bin/Xvnc :1 -auth /home/opc/.Xauthority -desktop ays-compute1:1 (opc) -fp catalogue:/etc/X11/fontpath.d -geometry 1280x1024 -pn -rfbauth /home/opc/.vnc/passwd -rfbport 5901 -rfbwait 30000 opc 17816 1 0 06:41 pts/0 00:00:00 /bin/sh /home/opc/.vnc/xstartup opc 19384 21859 0 06:43 pts/0 00:00:00 grep --color=auto -i vnc
プロセスが起動してますやね彡(^)(^) リッスンポート:5901 で起動している様子が確認できます。
4. ターミナルソフトのポートフォワード設定
ターミナルソフトのポートフォワードを設定します。
ターミナルソフトは何でもエエんですが、今回は Teraterm を使用します。
5. 踏み台(Bastion Compute)でポートフォワードしつつ SSH接続
Teraterm で踏み台(Bastion Compute)に SSH接続 して、さらに下記コマンドでポートフォワードしつつ Private Compute に SSH接続 します。
ssh -L <Teraterm で設定したリモートホストのポート番号>:<Private Compute のホスト名 or IP>:<VNC のポート番号> -4 <Private Compute のホスト名 or IP>
下記はサンプルのコマンドになります。
ssh -L 5901:ays-compute1.prvsubnexxxxxx.vcnxxxxxx.oraclevcn.com:5901 -4 opc@ays-compute1.prvsubnexxxxxx.vcnxxxxxx.oraclevcn.com
6. VNC Client から Private Compute の VNC Server に接続
VNC Client から VNC Server に接続します。VNC Client は何でもエエんですが、今回は UltraVNC Viewer を使用。
上記 5. で SSHポートフォワードした localhost:5901 に目掛けて接続します。
Private Compute の VNC Server に上手く接続できたで!彡(^)(^)
7. まとめ
Terminal の コマンドライン が Linux/UNIX の醍醐味ですが、GUI を要求されるケースも
しばしば有るので、本記事を参考にして GUI もご活用下さいね彡(^)(^)
参考記事
yamada-hakase さんの下記記事を参考にしました。
いつもお世話になっています!彡(^)(^)
クラウドでVNCサーバ&クライアントを構成する Part 1
https://qiita.com/yamada-hakase/items/66c25e9439a0a4b6a909