VM インスタンスからブートディスクを切断し、新しいブートディスクをアタッチできます。この機能を使用すると、元のインスタンスを削除せずにブートディスクを別の VM インスタンスにマウントできるので、ブートディスクの修復プロセスが簡素化されます。また、VM インスタンス全体を再作成するのではなく、インスタンスのブートディスクを置き換えることもできます。
VM インスタンスにブートディスクがない場合、インスタンスを起動しようとするとエラーが発生します。ただし、他のインスタンスのプロパティを編集することは引き続き可能です。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- インスタンスに対する
compute.instances.detachDisk
- インスタンスに対する
compute.instances.attachDisk
権限 - ブートディスクのアタッチまたは切断は、停止している VM インスタンスからのみ行うことができます。
- 1 つの VM インスタンスにアタッチできるブートディスクは 1 つのみです。
- gcloud CLI または REST を使用する場合、VM インスタンスにアタッチできるのは既存のブートディスクのみです。
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクを切断するインスタンスをクリックします。
- ページの上部にある [停止] をクリックします。
- ページ上部にある [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールして、切断するブートディスクの横にある [X] をクリックします。
- [保存] をクリックします。
INSTANCE_NAME
: インスタンスの名前。DISK_NAME
: 切断するディスクの名前。通常、ディスク名はインスタンス名と同じです。PROJECT_ID
: オブジェクトの ID。INSTANCE_NAME
: インスタンスの名前。ZONE
: インスタンスが存在するゾーン。DISK_NAME
: 切断するディスクの名前。通常、ディスク名はインスタンス名と同じです。- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクをアタッチするインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- ページ上部の [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- [保存] をクリックします。
INSTANCE_NAME
: インスタンスの名前。DISK_NAME
: アタッチするディスクの名前。ディスク名は、インスタンス名と同じでもかまいません。PROJECT_ID
: オブジェクトの ID。INSTANCE_NAME
: 新しい Persistent Disk をアタッチするインスタンスの名前。ZONE
: インスタンスと新しいディスクが配置されるゾーン。DISK_NAME
: 新しいディスクの名前。- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクをアタッチするインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- ページ上部の [編集] をクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- 現在のブートディスクの横にある [X] をクリックします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- [保存] をクリックします。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
制限事項
ブートディスクの切断
VM インスタンスからブートディスクを切断する前に、インスタンスを停止する必要があります。ディスクのマウントを解除する必要はありません。
コンソール
gcloud
gcloud compute instances detach-disk
コマンドを使用して、インスタンスからブートディスクを切断します。gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DISK_NAME
次のように置き換えます。
REST
POST
リクエストを作成してディスクを切断します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME
次のように置き換えます。
ブートディスクの再接続
ブートディスクがすでにインスタンスにアタッチされていない限り、任意のディスクをインスタンスのブートディスクとして再接続できます。ブートディスクは VM インスタンスと同じゾーンに存在する必要があります。ブートディスクをカスタマイズする場合は、アタッチ後にブートディスクが適切に起動するようにする必要があります。
既存のディスクと新しいディスクは、両方とも UEFI 対応である必要があります。UEFI 対応ディスクを作成するには、
--guest-os-features
フラグをUEFI_COMPATIBLE
に設定してgcloud compute disk create
コマンドを使用します。Console
gcloud
VM インスタンスにブートディスクをアタッチまたは再接続するには、
gcloud compute instances attach-disk
を使用します。ディスクがインスタンスのブートディスクとして使用されることを示すために、 フラグを追加します。このフラグがない場合、ディスクは非ブートのデータディスクとしてアタッチされます。--boot
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DISK_NAME \ --boot
次のように置き換えます。
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" }
次のように置き換えます。
ディスクを VM インスタンスにアタッチしたら、インスタンスを再起動します。
インスタンスのブートディスクの更新
Google Cloud コンソール を使用する場合のみ、1 つの手順で VM のブートディスクを更新できます。具体的には、既存のブートディスクの切断と新しいブートディスクのアタッチを 1 つのアクションとして実行できます。
この機能は、gcloud CLI または REST では使用できません。
Google Cloud コンソール は、既存のブートディスクを切断して、指定した新しいブートディスクをアタッチします。このプロセスが完了したら、VM インスタンスを再起動します。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-