VM インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。この機能を使用すると、元のインスタンスを削除せずにブートディスクを別の VM インスタンスにマウントできるので、ブートディスクの修復プロセスが簡素化されます。また、VM インスタンス全体を再作成するのではなく、インスタンスのブートディスクを置き換えることもできます。
VM インスタンスにブートディスクがない場合、インスタンスを起動しようとするとエラーが発生します。ただし、他のインスタンスのプロパティを編集することは引き続き可能です。
始める前に
- このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合、API アクセスを設定します。
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
- インスタンスに対する
compute.instances.detachDisk
- インスタンスに対する
compute.instances.attachDisk
権限
制限事項
- ブートディスクのアタッチまたは切断は、停止している VM インスタンスからのみ行うことができます。
- 1 つの VM インスタンスにアタッチできるブートディスクは 1 つのみです。
- gcloud CLI または Compute Engine API を使用する場合、既存のブートディスクのみ VM インスタンスにアタッチできます。
ブートディスクの切断
VM インスタンスからブートディスクを切断する前に、インスタンスを停止する必要があります。ディスクのマウントを解除する必要はありません。
Console
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクを切断するインスタンスをクリックします。
- ページの上部にある [停止] をクリックします。
- ページ上部にある [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールして、切断するブートディスクの横にある [X] をクリックします。
- [保存] をクリックします。
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
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクをアタッチするインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- ページ上部の [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- [保存] をクリックします。
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 インスタンスにアタッチしたら、インスタンスを再起動します。
インスタンスのブートディスクの更新
Google Cloud コンソール を使用する場合のみ、1 つの手順で VM のブートディスクを更新できます。具体的には、既存のブートディスクの切断と新しいブートディスクのアタッチを 1 つのアクションとして実行できます。
この機能は、gcloud CLI または Compute Engine API では使用できません。
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクをアタッチするインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- ページ上部の [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- 現在のブートディスクの横にある [X] をクリックします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- [保存] をクリックします。
Google Cloud コンソール は、既存のブートディスクを切断して、指定した新しいブートディスクをアタッチします。このプロセスが完了したら、VM インスタンスを再起動します。