コンソール接続を使用して、正常に動作していないインスタンスをリモートからトラブルシューティングできます。例:
・ インポートまたはカスタマイズしたイメージが正常に起動しない
・ 以前は稼働していたインスタンスが応答しなくなった
インスタンス・コンソール接続には、シリアル・コンソール接続とVNCコンソール接続の2種類があります。
VNCコンソール接続はSSHポート転送を使用して、ローカル・システムからインスタンスのコンソールにアタッチされたVNCサーバーへのセキュアな接続を作成します。
重要
インスタンス・コンソール接続は、トラブルシューティングの目的でのみ使用します。管理および一般的な使用のために実行中のインスタンスに接続するには、かわりにセキュア・シェル(SSH)またはリモート・デスクトップ接続を使用します。インスタンスへの接続を参照してください。
ということで、Windows PCから、VNCコンソール接続をしてみてみます。
■ 事前準備
● Puttyインストール
PowerShellを使用してWindowsクライアントからインスタンス上のVNCサーバーに接続する場合は、plink.exe と puttygen.exeが必要です。
plink.exeは、PuTTYに含まれているコマンド・リンク接続ツールです。PuTTYをインストールすることで使用できるようになります。
インストール情報は、http://www.putty.org を参照してインストール
● ssh秘密鍵をPutty用.PPKファイルへ変換
コンソール接続作成時にssh鍵(秘密鍵と公開鍵)を事前に作成しておきます。
Windows接続では、puttygenコマンド実行してSSH秘密鍵をplink.exe用に.PPKファイルへ変換して使用する必要があります。
1) puttygen実行
PowerShellコンソールで、puttygenコマンド実行し、PuTTY Key Generator画面を表示
2) PuTTY Key Generator画面
[Conversions]タブから、[Import key]をクリック
3) Load private key画面
変換するSSH秘密鍵を選択し、[開く]をクリック
4) PuTTY Key Generator画面
[Save Private Key]をクリック
5) Save private key画面
ファイル名を指定して[保存]をクリック
ここでは、console.ppk としてファイル名を指定
● VNC Clientインストール
ここでは、Real VNC Viewerをインストール
https://www.realvnc.com/en/connect/download/viewer/
■ 手順
1) 接続対象OCI Windows Server画面
Oracle Cloud Infrastructureコンソールのインスタンスの詳細ページで、「リソース」の下の「コンソール接続」をクリックします。
2) コンソール接続の作成画面
ssh公開鍵をアップロードし、[コンソール接続の作成]をクリック
3) コンソール接続画面
右端の「アクション」メニューをクリックし、「WindowsのVNC接続のコピー」をクリックします。
4) コンソール接続の作成画面
ファイル・パスを秘密キー・ファイルに追加できるように、前のステップでコピーした接続文字列をテキスト・ファイルに貼り付けます。
Start-Job { Echo N | plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqc7ucck3o4pybtf7ltmj3qllzs5erpgltbovonwfhumrma -L 5905:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3biztm6kzhdsqgn5vyg7immyipy5xbrfomlcw3q:5905 instance-console.ap-tokyo-1.oci.oraclecloud.com }; sleep 5; plink.exe -i $env:homedrive$env:homepath\oci\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3biztm6kzhdsqgn5vyg7immyipy5xbrfomlcw3q
5) メモ帳画面
テキスト・ファイルで、$env:homedrive$env:homepath\oci\console.ppkをコンピュータ上の.ppkファイルへのファイル・パスに置き換えます。このファイル・パスは文字列に2回出現します。両方の場所で置き換えます。
ここでの.PPKファイルパスは次になります。
C:\Users\opc\Downloads\ssh\console.ppk
Start-Job { Echo N | plink.exe -i C:\Users\opc\Downloads\ssh\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqc7ucck3o4pybtf7ltmj3qllzs5erpgltbovonwfhumrma -L 5905:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3:5905 instance-console.ap-tokyo-1.oci.oraclecloud.com }; sleep 5; plink.exe -i C:\Users\opc\Downloads\ssh\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3
6) PowerShell画面
接続文字列をWindows Powershellに貼り付け、[Enter]を押してセキュアな接続を設定します。
PS C:\Users\opc> Start-Job { Echo N | plink.exe -i C:\Users\opc\Downloads\ssh\console.ppk -N -ssh -P 443 -l ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrssl65iqc2nblpdc62ajc5dw4futz3kiibr5khhvknbg3i7vmu7ca -L 5905:ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3:5905 instance-console.ap-tokyo-1.oci.oraclecloud.com }; sleep 5; plink.exe -i C:\Users\opc\Downloads\ssh\console.ppk -N -L 5900:localhost:5900 -P 5905 localhost -l ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Echo N | plink.exe -i...
Using username "ocid1.instance.oc1.ap-tokyo-1.anxhiljrssl65iqcx5kcq3".
Access granted. Press Return to begin session.
7) VNC Client画面
接続が確立されたら、VNCクライアントを開いて、接続先のホストとしてlocalhostを、使用するポートとして5900を指定します。
8) VNC接続完了
■ 参考
・インスタンス・コンソール接続を使用したインスタンスのトラブルシューティング
・WindowsでPowerShellを使用するインスタンス上のVNCサーバーへのセキュア・トンネルを設定するには