VNC またはシリアル・コンソールを使用した仮想サーバー・インスタンスへのアクセス
IBM Cloud UI、API 要求、または IBM Cloud コマンド・ライン・インターフェース (CLI) を使用して VNC またはシリアル・コンソールに接続することにより、IBM Cloud 仮想サーバー・インスタンスにアクセスできます。 コンソール・サービスは、セキュア・シェルを使用せずにインスタンスと対話するための迅速かつ簡単な方法です。
_ z/OS 仮想サーバー・インスタンスの場合のみ:_ z/OS 仮想サーバー・インスタンスを VNC コンソールに接続することはサポートされていません。
これは、特にカスタム・イメージを使用する場合に、ブート障害またはカーネル・クラッシュが発生した際に適用されます。 このような状態が発生した場合は、コンソール・サービスを使用して問題を調べることができます。
VNC コンソールはグラフィカル・ユーザー・インターフェースを備えており、マウスとキーボードの両方の入力を受け入れます。 シリアル・コンソールは、キーボード入力を受け入れるテキスト・ベースのコンソールを備えています。
コンソールを使用して、GNU GRand Unified Bootloader (GRUB) など、OS のロードおよびブートのプロシージャーにアクセスできます。
コンソールは、サポートされるブラウザーを使用して開くことができます。
開始前に
-
コンソールに接続するには、IBM Cloud Identity and Access Management (IAM) で仮想サーバー・インスタンスの
Operator
以上の役割とConsole Administrator
役割が割り当てられている必要があります。Console Administrator
の役割は自動的には適用されません。 アカウントの管理者である場合も、この機能を使用するためには、Console Administrator
の役割を自分自身に割り当てる必要があります。必要なロールが割り当てられているかどうかを確認するには、IBM Cloudコンソールの IAM Usersページに移動し、User の下でアカウントを選択し、Access policies を選択します。 対象の仮想サーバーインスタンスのリソース属性に、
Operator
またはそれ以上の)ロールとVirtualServerConsoleAdmin
ロールが割り当てられているアクセスポリシーが表示されていることを確認します。 表示されていない場合は、アカウントの管理者に連絡し、以下の手順で役割を割り当ててもらう必要があります。- IBM Cloudコンソールの IAM Usersページに移動し、対象のユーザーを選択します。
- アクセスタブをクリックし、アクセスポリシーまでスクロールします。
- 「アクセス権限の割り当て」 をクリックします。
- ポリシーの作成セクションまでスクロールします。
- サービスセクションで、_VPCインフラストラクチャサービス_を選択します。 そして、「次へ (Next)」 をクリックします。
- リソースセクションで、_すべてのリソース_を選択します。
- Roles and actions(役割とアクション)で、以下のService access(サービスアクセス)を選択する:
- コンソール管理者
- 次に、以下のプラットフォームアクセスのいずれかを選択します:
- オペレーター
- エディター
- 管理者
- 次へ をクリックします。
- オプションで「条件」を追加する。
- **「レビュー」**をクリックします。
- 追加 をクリックします。
- **「アクセス・サマリー」サイド・ペインを確認し、「割り当て」**をクリックします。
IAM の役割について詳しくは、IAM の概要を参照してください。
-
通常、IBM Cloud によって提供されるイメージにはパスワードがありません。 コンソールを使用してインスタンスに正常にアクセスするには、Linux イメージのパスワードを作成するか、前もって Windows イメージのパスワードを取得する必要がある場合があります。
-
Linux イメージの場合は、Linux インスタンスへの接続に従ってインスタンスに接続します。 インスタンスで、コマンド
sudo passwd $(whoami)
を使用してローカル・パスワードを作成します。 -
Windows イメージの場合は、Windows インスタンスへの接続に従ってパスワードを取得します。
-
z/OS イメージの場合は、 z/OS インスタンスへの接続 に従ってパスワードを取得します。
-
シリアル・コンソールの場合、-a root
フラグを使用して、パスワードなしで自動的にログインするように getty
を構成できます。
カスタム Linux イメージでシリアル・コンソール・サービスを有効にするには、カーネル・コマンド・ラインに引数 console=ttyS0
が存在することを確認します。 詳しくは、 Linux カスタム・イメージの作成 の「 ステップ 1- qcow2 または VHD 形式の単一イメージ・ファイルで開始する 」を参照してください。
IBM Cloud UI を使用したコンソールへの接続
IBM Cloud UI を使用してコンソールに接続するには、以下の手順を実行します。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン インフラストラクチャ コンピュート > 仮想サーバーインスタンス に進みます。
- **「VPC の仮想サーバー・インスタンス (Virtual server instances for VPC)」リストでアクセスする必要があるインスタンスのオーバーフロー・ボタンをクリックし、「VNC コンソールを開く」または「シリアル・コンソールを開く」をクリックします。 あるいは、インスタンスの詳細ページで右上にある「アクション」をクリックし、「VNC コンソールを開く」または「シリアル・コンソールを開く」**をクリックします。
- (シリアル・コンソールの場合のみ) シリアル・コンソールが使用されている場合は、セッションを強制的に開くかどうかを確認するプロンプトが出されます。 このアクションにより、他のユーザーのセッションが切断されます。
- 資格情報を入力し、プロンプトに従ってインスタンスにログインします。
インスタンスを停止または再始動するには、コンソールのウィンドウの右上にある**「インスタンスのシャットダウン」または「インスタンスのリブート」**をクリックします。
API を使用したコンソールへの接続
API 要求を使用して VNC またはシリアル・コンソールに接続する前に、IAM トークンを取得し、エンドポイントを変数として保管し、VPC API サービスに対するアクセス権限があることを確認する必要があります。 詳しくは、API の前提条件を参照してください。
API を使用した VNC コンソールへの接続
-
インスタンスのコンソール・アクセス・トークンを作成します。 ペイロードに
"console_type":"VNC"
を指定します。curl -X POST \ "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2021-01-26&generation=2" \ -H "Authorization: $iam_token" \ -d '{ "console_type": "vnc" }'
アクセス・トークンは 3 分後に無効になります。
-
応答に「href」の値を保存します。
-
ブラウザで noVNCポータルを開く。
-
**「設定」をクリックして、「拡張」>「WebSocket」**を展開します。
-
**「暗号化」をオンにし、ステップ 2 で保存した URL の API エンドポイントの部分を「ホスト:」に貼り付けます。「wss://」は含めないでください。「ポート」を「443」に設定し、ステップ 2 で保存した URL のパスの部分を「パス」**に貼り付けます。
- API エンドポイントの例:
us-south.iaas.cloud.ibm.com
- パスの例:
v1/instances/<instance_id>/console?access_token=<access_token>&version=2020-12-06&generation=2
- API エンドポイントの例:
-
「接続」 をクリックします。
-
インスタンスにログインします。
API を使用したシリアル・コンソールへの接続
-
インスタンスのコンソール・アクセス・トークンを作成し、ペイロードに
"console_type": "serial"
と"force": true
を指定します。curl -X POST \ "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2020-01-26&generation=2" \ -H "Authorization: $token" \ -d '{ "console_type":"serial", "force": true }'
"force"
をtrue
に指定すると、コンソールが他のユーザーによって使用されている場合でも、シリアル・コンソールに接続できます。 デフォルト値はfalse
です。これは、コンソールが使用されている場合は接続を確立できないことを意味します。 -
応答に「href」の値を保存します。
-
URL を使用してシリアル・コンソール・プログラムを開始します。
websocat を使用する場合は、コマンドに
--binary
フラグを指定します。 例:websocat --binary "wss://us-south.iaas.cloud.ibm.com/v1/instances/<instance_id>/console?access_token=<access_token>&version=2020-12-06&generation=2"
-
資格情報を入力し、プロンプトに従ってインスタンスにログインします。
CLI を使用したコンソールへの接続
CLI の前提条件に従って CLI 環境をセットアップしたことを確認します。
-
以下のコマンドを実行して、コンソールに接続します。
ibmcloud is instance-console $instance_id [-q, --quiet]
このコマンドは、デフォルトでシリアル・コンソールを開きます。 VNC コンソールを開くには、コマンドに
[--vnc]
フラグを追加して、コンソールの URL を取得します。 -
使用するコンソールに応じて、以下のいずれかの手順を実行します。
- VNC コンソールの場合は、API を使用した VNC コンソールへの接続のステップ 2 からステップ 7 に従ってください。
- シリアル・コンソールの場合は、資格情報を入力し、プロンプトに従ってインスタンスにログインします。
コンソールからの切断
コンソールでの操作が終了したら、端末またはブラウザーを閉じて、コンソールから切断することができます。
コンソール・サービスに関する注意事項
-
コンソール・セッションは、アイドル時間が 10 分経過すると有効期限が切れます。 アクティビティーに関係なく、60 分後にクローズします。
一部のオペレーティング・システム (Ubuntu 18.04 など) では、コンソール上に点滅するカーソルがあります。 VNC コンソールを使用して、このようなオペレーティング・システムを使用するインスタンスにアクセスすると、点滅するカーソルによって、コンソール・セッションはアイドル状態が 10 分間続いた後もアクティブのままになります。 ただし、コンソール・セッションは、アクティビティーに関係なく 60 分後にクローズされます。
-
インスタンスの電源がオフになると、コンソールは切断されます。 インスタンスが再始動されるまで、接続を再確立することはできません。
-
再始動、リセット、またはインスタンスのスケジュール変更を行わないその他の操作では、コンソール接続が維持されます。
-
インスタンスごとのアクティブ VNC コンソールの数は 2 つに制限されています。 インスタンスごとのアクティブなシリアル・コンソールの数は 1 つに制限されています。
-
シリアル・コンソールを使用した仮想サーバーLinuxインスタンスのトラブルシューティングについては、シリアル・コンソールから仮想サーバーLinuxインスタンスのトラブルシューティングを行うには、どのようにLinux SysRqキーを使用すればよいですか? を参照してください。