VM インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。この機能を使用すると、元のインスタンスを削除せずにブートディスクを別の VM インスタンスにマウントできるので、ブートディスクの修復プロセスが簡素化されます。また、VM インスタンス全体を再作成するのではなく、インスタンスのブートディスクを置き換えることもできます。
VM インスタンスにブートディスクがない場合、インスタンスを起動しようとするとエラーが発生します。ただし、他のインスタンスのプロパティを編集することは引き続き可能です。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
- インスタンスに対する
compute.instances.detachDisk
- インスタンスに対する
compute.instances.attachDisk
権限
制限事項
- ブートディスクのアタッチまたは切断は、停止している VM インスタンスからのみ行うことができます。
- 1 つの VM インスタンスにアタッチできるブートディスクは 1 つのみです。
- gcloud CLI または REST を使用する場合、VM インスタンスにアタッチできるのは既存のブートディスクのみです。
ブートディスクの切断
VM インスタンスからブートディスクを切断する前に、インスタンスを停止する必要があります。ディスクのマウントを解除する必要はありません。
コンソール
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクを切断するインスタンスをクリックします。
- ページの上部にある [停止] をクリックします。
- ページ上部にある [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールして、切断するブートディスクの横にある [X] をクリックします。
- [保存] をクリックします。
gcloud
gcloud compute instances detach-disk
コマンドを使用して、インスタンスからブートディスクを切断します。
gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DISK_NAME
次のように置き換えます。
INSTANCE_NAME
: インスタンスの名前。DISK_NAME
: 切断するディスクの名前。通常、ディスク名はインスタンス名と同じです。
REST
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
コマンドを使用します。
コンソール
- [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
: アタッチするディスクの名前。ディスク名は、インスタンス名と同じでもかまいません。
REST
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
: 新しい Persistent Disk をアタッチするインスタンスの名前。ZONE
: インスタンスと新しいディスクが配置されるゾーン。DISK_NAME
: 新しいディスクの名前。
ディスクを VM インスタンスにアタッチしたら、インスタンスを再起動します。
インスタンスのブートディスクの更新
Google Cloud コンソールを使用する場合のみ、1 つの手順で VM のブートディスクを更新できます。具体的には、既存のブートディスクの切断と新しいブートディスクのアタッチを 1 つのアクションとして実行できます。
この機能は、gcloud CLI または REST では使用できません。
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクをアタッチするインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- ページ上部の [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- 現在のブートディスクの横にある [X] をクリックします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- [保存] をクリックします。
Google Cloud コンソールは、既存のブートディスクを切断して、指定した新しいブートディスクをアタッチします。このプロセスが完了したら、VM インスタンスを再起動します。