ブートディスクの切断と再接続

VM インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。この機能を使用すると、元のインスタンスを削除せずにブートディスクを別の VM インスタンスにマウントできるので、ブートディスクの修復プロセスが簡素化されます。また、VM インスタンス全体を再作成するのではなく、インスタンスのブートディスクを置き換えることもできます。

VM インスタンスにブートディスクがない場合、インスタンスを起動しようとするとエラーが発生します。ただし、他のインスタンスのプロパティを編集することは引き続き可能です。

始める前に

このタスクに必要な権限

このタスクを行うには、次の権限が必要です。

  • インスタンスに対する compute.instances.detachDisk
  • インスタンスに対する compute.instances.attachDisk 権限

制限事項

  • ブートディスクのアタッチまたは切断は、停止している VM インスタンスからのみ行うことができます。
  • 1 つの VM インスタンスにアタッチできるブートディスクは 1 つのみです。
  • gcloud ツールまたは Compute Engine API を使用する場合、既存のブートディスクのみ VM インスタンスにアタッチできます。

ブートディスクの切断

VM インスタンスからブートディスクを切断する前に、インスタンスを停止する必要があります。ディスクのマウントを解除する必要はありません。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. ブートディスクを切断するインスタンスをクリックします。
  4. ページの上部にある [停止] をクリックします。
  5. ページ上部にある [編集] をクリックします。
  6. [ブートディスク] セクションまで下にスクロールして、切断するブートディスクの横にある [X] をクリックします。
  7. [保存] をクリックします。

gcloud

gcloud compute instances detach-disk コマンドを使用して、インスタンスからブートディスクを切断します。

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

次のように置き換えます。

  • INSTANCE_NAME: インスタンスの名前。
  • DISK_NAME: 切断するディスクの名前。通常、ディスク名はインスタンス名と同じです。

API

API で、POST リクエストを作成してディスクを切断します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

次のように置き換えます。

  • PROJECT_ID: オブジェクトの ID。
  • INSTANCE_NAME: インスタンスの名前。
  • ZONE: インスタンスが存在するゾーン。
  • DISK_NAME: 切断するディスクの名前。通常、ディスク名はインスタンス名と同じです。

ブートディスクの再接続

ブートディスクがすでにインスタンスにアタッチされていない限り、任意のディスクをインスタンスのブートディスクとして再接続できます。ブートディスクは VM インスタンスと同じゾーンに存在する必要があります。ブートディスクをカスタマイズする場合は、アタッチ後にブートディスクが適切に起動するようにする必要があります。

既存のディスクと新しいディスクは、両方とも UEFI 対応である必要があります。UEFI 対応ディスクを作成するには、--guest-os-features フラグを UEFI_COMPATIBLE に設定して gcloud compute disk create コマンドを使用します。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. ブートディスクをアタッチするインスタンスをクリックします。
  4. VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
  5. ページ上部の [編集] をクリックします。
  6. [ブートディスク] セクションまで下にスクロールします。
  7. [項目を追加] をクリックします。
  8. プルダウン メニューからブートディスクを選択します。
  9. [保存] をクリックします。

gcloud

VM インスタンスにブートディスクをアタッチまたは再接続するには、gcloud compute instances attach-disk を使用します。ディスクがインスタンスのブートディスクとして使用されることを示すために、--boot フラグを追加します。このフラグがない場合、ディスクは非ブートのデータディスクとしてアタッチされます。

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

次のように置き換えます。

  • INSTANCE_NAME: インスタンスの名前。
  • DISK_NAME: アタッチするディスクの名前。ディスク名は、インスタンス名と同じでもかまいません。

API

API で、POST リクエストを作成してディスクをアタッチします。このディスクがブートディスクであることを示すために、"boot": true パラメータを追加します。このパラメータがない場合、ディスクは非ブートのデータディスクとしてアタッチされます。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

次のように置き換えます。

  • PROJECT_ID: オブジェクトの ID。
  • INSTANCE_NAME: 新しい永続ディスクをアタッチするインスタンスの名前。
  • ZONE: インスタンスと新しいディスクが配置されるゾーン。
  • DISK_NAME: 新しいディスクの名前。

ディスクを VM インスタンスにアタッチしたら、インスタンスを再起動します

インスタンスのブートディスクの更新

Cloud Console を使用する場合のみ、1 つの手順で VM のブートディスクを更新できます。具体的には、既存のブートディスクの切断と新しいブートディスクのアタッチを 1 つのアクションとして実行できます。

この機能は、gcloud ツールまたは Compute Engine API では使用できません。

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. ブートディスクをアタッチするインスタンスをクリックします。
  4. VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
  5. ページ上部の [編集] をクリックします。
  6. [ブートディスク] セクションまで下にスクロールします。
  7. 現在のブートディスクの横にある [X] をクリックします。
  8. [項目を追加] をクリックします。
  9. プルダウン メニューからブートディスクを選択します。
  10. [保存] をクリックします。

Cloud Console は、既存のブートディスクを切断して、指定した新しいブートディスクをアタッチします。このプロセスが完了したら、VM インスタンスを再起動します。

次のステップ