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 ユーザー」 ページに移動し、 「ユーザー」 でアカウントを選択してから、 「アクセス・ポリシー」 を選択します。 ターゲット仮想サーバー・インスタンスの 「リソース属性」 に対する
Operator
(またはそれ以上) 役割とVirtualServerConsoleAdmin
役割を割り当てるアクセス・ポリシーが表示されていることを確認します。 表示されていない場合は、アカウントの管理者に連絡し、以下の手順で役割を割り当ててもらう必要があります。-
IBM Cloud コンソールの 「IAM ユーザー」 ページに移動し、ターゲット・ユーザーを選択します。
-
**「アクセス・ポリシー」で、「アクセス権限の割り当て」**をクリックします。
-
**「ユーザーへの追加のアクセス権限の割り当て」セクションで、「IAM サービス」**を選択し、以下のタスクを実行します。
- **「どのタイプのアクセス権限を割り当てますか?」のリストから、「 VPC インフラストラクチャー・サービス」**を選択します。
- **「アクセス権限の範囲の指定」で、「すべてのリソース」または「選択された属性に基づくリソース」**を選択します。 管理者は属性を追加してアクセス権限の範囲を細かく設定することができます。
- 「プラットフォーム・アクセス」領域で、「オペレーター」、「エディター」、または**「管理者」**を選択します。
- **「サービス・アクセス」領域で、「コンソール管理者」**を選択します。
- ページの最後までスクロールし、**「追加」**をクリックします。
- **「アクセス・サマリー」サイド・ペインを確認し、「割り当て」**をクリックします。
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 インフラストラクチャー >「コンピュート」>「仮想サーバー・インスタンス」 に移動します。
- **「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 つに制限されています。