インタラクティブ シリアル コンソールを構成する
Bare Metal Solution は、Bare Metal Solution サーバーにアクセスするためのインタラクティブ シリアル コンソールを提供します。シリアル コンソールでは、直接コマンドを実行し、プロンプトに応答できます。シリアル コンソールを使用して、構成とトラブルシューティングを行うことができます。Bare Metal Solution サーバーは、最初のシリアルポート(ポート 1)をシリアル コンソールとして使用します。
インタラクティブ シリアル コンソールは、次のサーバーでのみサポートされます。
TS54
(43.45.00.002
)以降のファームウェア バージョンを搭載した汎用サーバー。- ファームウェア バージョンが
3.50.58
以降のメモリ最適化サーバー。
開始する前に、サーバーを最新のファームウェアにアップグレードしてください。始める前にをご覧ください。
インタラクティブ シリアル コンソール接続が 30 日以上経過している場合、この接続は強制的に切断される可能性があります。
このドキュメントでは、サーバーでインタラクティブ シリアル コンソール アクセスを有効または無効にする方法について説明します。
始める前に
Bare Metal Solution API を有効にします。Google Cloud プロジェクトを設定して Bare Metal Solution API を使用するをご覧ください。
適切な Identity and Access Management(IAM)ロールをユーザーに付与します。このドキュメントのすべてのタスクを実行するには、次のいずれかのロールが必要です。
roles/baremetalsolution.admin
roles/baremetalsolution.editor
必要なファームウェア バージョンがあることを確認します。
- 汎用サーバーの場合、
TS54
(43.45.00.002
)以降。 - メモリ最適化サーバーの場合、
3.50.58
以降。
以下の手順に沿って登録してください。
Bare Metal Solution サーバーで、次のコマンドを実行します。
sudo dmidecode -s bios-version
成功すると、必要な BIOS のバージョン以降が出力に表示されます。たとえば、汎用サーバーの場合には、出力に
43.45.00.002
以降の BIOS バージョンが表示されます。Version: BIOS_PUR043.45.00.002
BIOS のバージョンが必要なファームウェアより古い場合は、サーバーのファームウェアをアップグレードします。アップグレードについてサポートが必要な場合は、カスタマーケアにお問い合わせください。
- 汎用サーバーの場合、
Bare Metal Solution サーバーが 2022 年 6 月より前にプロビジョニングされている場合、カーネル ブート パラメータにインタラクティブ シリアル コンソールに必要な構成が不足している可能性があります。逆に、2022 年 6 月以降にプロビジョニングされた場合は、必要な構成が OS イメージにすでに統合されている可能性があります。ただし、OS のパッチ適用やエンタープライズ固有のポリシーの適用によって、デフォルトのカーネル ブート パラメータが変更されている可能性があります。いずれの場合も、インタラクティブ シリアル コンソールに必要な OS 構成の可用性を確認することをおすすめします。
インタラクティブ シリアル コンソールに必要な構成が OS に設定されていることを確認する手順は次のとおりです。
/etc/default
ディレクトリで GRand Unified Bootloader(GRUB)構成ファイルを見つけます。GRUB 構成ファイルに次の設定が含まれていることを確認します。
GRUB_CMDLINE_LINUX="(append to the existing value) console=tty0 console=ttyS0,115200" GRUB_TERMINAL_OUTPUT="console serial" GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
これらの設定がファイルに含まれている場合は、残りの手順をスキップしてください。GRUB 構成ファイルを使用してシリアル コンソールにアクセスできます。
GRUB 構成ファイルにこれらの設定がない場合は、手動で追加してください。
grub-mkconfig
コマンドを実行して変更を処理します。詳細については、GRUB ドキュメントをご覧ください。サーバーを再起動します。
インタラクティブ シリアル コンソール アクセスを有効にする
インタラクティブ シリアル コンソールを有効にしてアクセスする手順は次のとおりです。
インタラクティブ シリアル コンソールへのアクセスを有効にする
インタラクティブ シリアル コンソールを使用する前に、サーバー上でインタラクティブ アクセスを有効にする必要があります。
gcloud
インタラクティブ シリアル コンソールへのアクセスを有効にするには、gcloud bms instances enable-serial-console
コマンドを実行します。
gcloud bms instances enable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
以下を置き換えます。
- SERVER_NAME: サーバーの名前
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
API
インタラクティブ シリアル コンソールへのアクセスを有効にするには、プロジェクト ID、リージョン、サーバー名を入力して、次の curl コマンドを実行します。
curl -v \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:enableInteractiveSerialConsole"
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
- SERVER_NAME: サーバーの名前
SSH 認証鍵ペアを生成する
シリアル コンソールへのアクセスを認証するための SSH 認証鍵ペアを生成します。これはプロジェクトごとに 1 回実施する必要があります。
ジャンプホストの VM インスタンスまたはインターネットに接続している他のターミナルから ssh-keygen
コマンドを実行して、新しい SSH 認証鍵ペアを作成します。
ssh-keygen -b 4096 -f SSH_KEY_ID -N 'PASSPHRASE' -t rsa
以下を置き換えます。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
- PASSPHRASE: シリアル コンソールからサーバーにアクセスする際に使用するパスフレーズ。
ssh-keygen
コマンドは、秘密鍵を SSH_KEY_ID というファイルに保存し、公開鍵をホーム ディレクトリの SSH_KEY_ID.pub というファイルに保存します。
SSH 認証鍵を登録する
シリアル コンソールへのアクセスを認証するには、プロジェクトに SSH 認証鍵を登録します。この操作は、鍵ペアごとに 1 回だけ行う必要があります。
gcloud
SSH 認証鍵を登録するには、gcloud bms ssh-keys add
コマンドを実行します。
gcloud bms ssh-keys add SSH_KEY_ID --project=PROJECT_ID --key-file=SSH_KEY_ID.pub
以下を置き換えます。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
- SERVER_NAME: サーバーの名前
API
SSH 認証鍵を登録するには、プロジェクト ID、SSH 認証鍵 ID、公開鍵ファイル名を入力し、次の curl コマンドを実行します。
curl -v \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys?ssh_key_id=SSH_KEY_ID" \ --data "{\"public_key\": \"$(cat SSH_KEY_ID.pub)\"}"
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
プロジェクトの SSH 認証鍵を管理するには、SSH 認証鍵を管理するをご覧ください。
サーバーに接続する
SSH を使用してインタラクティブ シリアル コンソールにアクセスします。次のコマンドを実行します。
ssh -i SSH_KEY_ID -p 9600 PROJECT_ID.REGION.SERVER_NAME.USERNAME.bms=true@ssh-serialport.googleapis.com
以下を置き換えます。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
- SERVER_NAME: サーバーの名前
- USERNAME: シリアル コンソールから Bare Metal Solution サーバーへのアクセスに使用するユーザー名。
プロンプトが表示されたら、前の手順で構成した SSH 認証鍵のパスフレーズを入力します。必要に応じて、Enter
または Return
キーを押して、インタラクティブ シリアル コンソールへのアクセス権を取得します。
インタラクティブ シリアル コンソールとの接続を解除する
シリアル コンソールとの接続を解除する手順は次のとおりです。
ENTER
またはRETURN
キーを押します。- 「
~.
」(チルダとピリオド)を入力します。
Bare Metal Solution 上の SAP HANA の場合は、CTRL + ] q
を使用してインタラクティブ シリアル コンソールから切断します。
SSH 認証鍵を管理する
SSH 認証鍵はプロジェクトごとに保存されます。SSH 認証鍵は次の方法で管理できます。
SSH 認証鍵を一覧表示する
プロジェクトに登録されている公開 SSH 認証鍵を一覧表示できます。
gcloud
公開 SSH 認証鍵を一覧表示するには、gcloud bms ssh-keys list
コマンドを実行します。
gcloud bms ssh-keys list --project=PROJECT_ID
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
API
公開 SSH 認証鍵を一覧表示するには、プロジェクト ID を入力し、次の curl コマンドを実行します。
curl -v \ -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys"
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
SSH 認証鍵を削除する
プロジェクトで承認された鍵のリストから SSH 認証鍵を削除できます。
gcloud
公開 SSH 認証鍵を削除するには、gcloud bms ssh-keys remove
コマンドを実行します。
gcloud bms ssh-keys remove SSH_KEY_ID --project=PROJECT_ID
以下を置き換えます。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
- PROJECT_ID: プロジェクト ID。
API
公開 SSH 認証鍵を削除するには、プロジェクト ID と SSH 認証鍵 ID を入力し、次の curl コマンドを実行します。
curl -v \ -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/global/sshKeys/SSH_KEY_ID"
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
- SSH_KEY_ID: 公開鍵と秘密鍵の生成に使用される SSH 認証鍵ファイルのルート名。
インタラクティブ シリアル コンソール アクセスを無効にする
サーバーでインタラクティブ シリアル コンソール アクセスを無効にするには、以下の手順を実行します。
gcloud
インタラクティブ シリアル コンソールを無効にするには、gcloud bms instances disable-serial-console
コマンドを実行します。
gcloud bms instances disable-serial-console SERVER_NAME --project=PROJECT_ID --region=REGION
以下を置き換えます。
- SERVER_NAME: サーバーの名前
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
API
インタラクティブ シリアル コンソールを無効にするには、プロジェクト ID、リージョン、サーバー名を入力して、次の curl コマンドを実行します。
curl -v \ -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "Content-Type: application/json" \ "https://baremetalsolution.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/SERVER_NAME:disableInteractiveSerialConsole"
以下を置き換えます。
- PROJECT_ID: プロジェクト ID。
- REGION: サーバーのリージョン。
- SERVER_NAME: サーバーの名前