従来、ブートディスクは VM インスタンスに永続的に接続されていました。しかしこれで、インスタンスからブートディスクを切り離せます。この機能を使用すると、元のインスタンスを削除せずにブートディスクを別のインスタンスにマウントできます。これにより、ブートディスクの修復プロセスが簡素化されます。また、インスタンス全体を再作成するのではなく、インスタンスのブートディスクを置き換えることもできます。
VM インスタンスにブートディスクがない場合、インスタンスを起動しようとするとエラーが発生します。ただし、他のインスタンスのプロパティを編集することは引き続き可能です。
始める前に
- このガイドのコマンドラインの例を使用する場合、以下を行ってください。
- gcloud コマンドライン ツールの最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合、API アクセスを設定します。
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
- インスタンスに対する
compute.instances.detachDisk
- インスタンスに対する
compute.instances.attachDisk
権限
制限事項
- ブートディスクの接続または接続解除は、停止している VM インスタンスからのみ行うことができます。
- VM インスタンスごとに接続できるブートディスクは 1 個のみです。
gcloud
ツールまたは API を使用する場合、あらかじめ存在しているブートディスクでなければインスタンスに接続できません。
ブートディスクの接続解除
インスタンスからブートディスクの接続を解除する前に、インスタンスを停止する必要があります。ディスクのマウントを解除する必要はありません。
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]
は、プロジェクトの名前です。[INSTANCE_NAME]
は、インスタンスの名前です。[ZONE]
は、インスタンスが存在するゾーンです。[DISK_NAME]
は、接続解除するディスクの名前です。通常、ディスク名はインスタンス名と同じです。
ブートディスクの再接続
ブートディスクがすでにインスタンスに接続されていない限り、任意のディスクをインスタンスのブートディスクとして再接続できます。ブートディスクは VM インスタンスと同じゾーンに存在する必要があります。ブートディスクをカスタマイズする場合は、接続後にブートディスクが適切に起動するようにする必要があります。
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]
は、接続するディスクの名前です。ディスク名は、インスタンス名と同じでもかまいません。--boot
は、オプションのフラグです。これは、接続したディスクをインスタンスのブートディスクとして使用する必要があることを示します。このフラグがない場合、ディスクはセカンダリ ディスクとして接続されます。
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]"
}
where:
"boot": true
は、オプションのパラメータです。これは、接続したディスクをインスタンスのブートディスクとして使用する必要があることを示します。このパラメータがない場合、ディスクはセカンダリ ディスクとして接続されます。[PROJECT_ID]
は、プロジェクト ID です。[ZONE]
は、インスタンスと新しいディスクが配置されるゾーンです。[INSTANCE_NAME]
は、新しい永続ディスクを追加するインスタンスの名前です。[DISK_NAME]
は新しいディスクの名前です。
ディスクをインスタンスに接続した後、インスタンスを再起動します。
インスタンスのブートディスクの更新
Cloud Console でのみ、1 つの手順で VM のブートディスクを更新できます。具体的には、既存のブートディスクの接続解除と新しいブートディスクの接続を 1 つのアクションとして実行できます。
この機能は、Console でのみご利用いただけます。gcloud
ツールや API を使用する場合は利用できません。
- [VM インスタンス] ページに移動します。
- プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
- ブートディスクを接続するインスタンスをクリックします。
- VM インスタンスがまだ停止されていない場合は、ページの上部にある [停止] をクリックします。
- 次に、ページの上部にある [編集] ボタンをクリックします。
- [ブートディスク] セクションまで下にスクロールします。
- 現在のブートディスクの横にある [X] をクリックします。
- [項目を追加] をクリックします。
- プルダウン メニューからブートディスクを選択します。
- 変更を保存します。
これで、Console によって既存のブートディスクの接続が解除され、指定した新しいブートディスクが接続されます。このプロセスが完了したら、インスタンスを再起動します。