このドキュメントでは、Google Distributed Cloud(GDC)エアギャップで仮想マシン(VM)のブートディスクを交換する方法について説明します。交換前にブートディスクを作成するには、ブートディスクを作成するをご覧ください。
VM インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。ブートディスクを修復するには、元の VM インスタンスを削除せずに、別の VM インスタンスにマウントします。また、まったく新しい VM インスタンスを再作成せずに、VM ブートディスクを置き換えることもできます。
このドキュメントは、VM のブートディスクを作成して構成するプラットフォーム管理者またはアプリケーション オペレーター グループのデベロッパーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
gdcloud コマンドライン インターフェース(CLI)コマンドを使用するには、gdcloud CLI をダウンロード、インストール、構成していることを確認してください。Distributed Cloud のすべてのコマンドは gdcloud または kubectl CLI を使用し、オペレーティング システム(OS)環境を必要とします。
kubeconfig ファイルのパスを取得する
Management API サーバーに対してコマンドを実行するには、次のリソースが必要です。
Management API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
これらの手順では、
MANAGEMENT_API_SERVERを Management API サーバーの kubeconfig ファイルのパスに置き換えます。
IAM ロールをリクエストする
IAM プロジェクト管理者に連絡して、プロジェクトに対する次のロールをリクエストしてください。
- 仮想マシン プロジェクト管理者(
project-vm-admin): プロジェクトの名前空間で標準 VM と高パフォーマンス VM を作成、変更、一覧表示、削除します。
すべての VM ロールは、VM が存在するプロジェクトの Namespace にバインドする必要があります。手順に沿ってアクセス権を確認します。
制限事項
ブートディスクを交換する際には、次の制限があります。
- ブートディスクのアタッチまたは切断は、停止した VM インスタンスからのみ行います。
- 各 VM インスタンスにアタッチするブートディスクは 1 つのみにします。
- 既存のブートディスクのみを VM インスタンスにアタッチします。
- ブートディスクのみを新しい起動可能なディスクに置き換えます。
ブートディスクを交換する
GDC コンソールまたは kubectl CLI を使用してブートディスクを交換します。
コンソール
ナビゲーション メニューで、[仮想マシン] > [インスタンス] をクリックします。
VM のリストで、VM 名をクリックして詳細を表示します。
[ブートディスクを置換] をクリックします。
確認ダイアログで [停止] をクリックして VM を停止します。
VM が停止するまで数分待ちます。
[更新] をクリックします。
VM が停止状態になったら、[ブートディスクを置換] をもう一度クリックします。
[ブートディスクを置換] ダイアログで、新しいブートディスクまたは既存のブートディスクを選択します。
新しいブートディスクをプロビジョニングするには、[新しいブートディスク] タブをクリックします。
- [ディスク名] フィールドに、プロジェクトに固有の新しいディスク名を入力します。
- [サイズ] フィールドに、12 ~ 65, 536 GiB のディスクサイズを入力します。
- [イメージ名] リストで、イメージを選択します。
- [削除ルール] セクションで、[ディスクを維持] または [ディスクを削除] をクリックします。
- [ストレージ プロファイル] セクションで、プロファイルを選択します。デフォルトのプロファイルは Standard です。
既存のブートディスクを選択するには、[既存のブートディスク] タブをクリックします。
- [ディスク] リストで、ディスクを選択します。
- [削除ルール] セクションで、[ディスクを維持] または [ディスクを削除] をクリックします。
[保存] をクリックします。
kubectl
VM インスタンスを停止します。
現在の
spec.disks値を開き、新しい仮想マシンディスク用に変更します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME次の値を置き換えます。
MANAGEMENT_API_SERVERは、Management API サーバーの kubeconfig ファイルのパスに置き換えます。PROJECTは、ブートディスクを置き換える Distributed Cloud プロジェクトに置き換えます。VM_NAMEは、仮想マシンの名前に置き換えます。
VM_BOOT_DISK_NAMEを新しい VM ブートディスク名に置き換えて、構成ファイルのブートディスクを変更します。disks: - virtualMachineDiskRef: name: VM_BOOT_DISK_NAME boot: true結果は次の例のようになります。
disks: - virtualMachineDiskRef: name: NEW_VM_BOOT_DISK_NAME boot: true