Persistent Disk は、仮想マシン(VM)インスタンスのブートディスクとして使用するか、VM にアタッチするデータディスクとして使用できます。このドキュメントでは、次の目的で既存の Persistent Disk ボリュームを変更する方法について説明します。
- 別のディスクタイプに切り替える。
- 接続された VM が削除されたときにディスクを自動削除する。
Persistent Disk の一般的な情報については、Persistent Disk についてをご覧ください。
Persistent Disk ボリュームのタイプを変更する
パフォーマンスや料金の要件を満たすために、特定の Persistent Disk ボリュームのタイプを変更する必要が生じる場合があります。たとえば、ワークロードのデータディスクを標準 Persistent Disk からバランス Persistent Disk に変更する場合があります。
既存の Persistent Disk ボリュームのタイプを直接変更することはできません。既存のディスクのスナップショットを作成してから、そのスナップショットを使用して新しいタイプのディスクを作成する必要があります。
たとえば、標準 Persistent Disk を SSD Persistent Disk に変更するには、次の手順を行います。
- 標準永続ディスクのスナップショットを作成します。
- スナップショットに基づく新しい永続ディスクを作成します。[タイプ] プルダウン リストから [SSD 永続ディスク] を選択します。
- 標準永続ディスクのスナップショットを作成します。
- スナップショットに基づく新しい永続ディスクを作成します。
--type
フラグを追加し、pd-ssd
を指定します。
- 標準永続ディスクのスナップショットを作成します。
- スナップショットに基づく新しい永続ディスクを作成します。
type
フィールドに"zones/ZONE/diskTypes/pd-ssd"
を指定します。ZONE
は、インスタンスと新しいディスクが配置されるゾーンに置き換えます。
新しいディスクを作成してテストしたら、スナップショットを削除し、元のディスクを削除できます。
Persistent Disk ボリュームの自動削除状態を設定する
読み取り / 書き込みの Persistent Disk ボリュームは、関連する VM インスタンスが削除されるときに自動的に削除できます。この動作は、アタッチされているディスクの VM インスタンスの autoDelete
プロパティで制御され、いつでも更新できます。同様に、autoDelete
値を false に設定すると、Persistent Disk ボリュームが削除されなくなります。
このタスクに必要な権限
このタスクを行うには、次の権限が必要です。
- インスタンスに対する
compute.instances.setDiskAutoDelete
権限 - ディスクに対する
compute.disks.update
権限
Google Cloud コンソールで [VM インスタンス] ページに移動します。
ディスクが関連付けられているインスタンスを選択します。
インスタンス名をクリックします。[VM インスタンスの詳細] ページが表示されます。
[編集] をクリックします。
[ストレージ] セクションの [追加ディスク] で鉛筆アイコン
をクリックし、ディスクの削除ルールを変更します。[保存] をクリックしてインスタンスを更新します。
gcloud compute instances set-disk-auto-delete
コマンドを使用して、Persistent Disk の自動削除状態を設定します。ディスクを保持するには、--no-auto-delete
フラグを使用します。ディスクを削除するには、--auto-delete
フラグを使用します。
gcloud compute instances set-disk-auto-deleteVM_NAME \AUTO_DELETE_SETTING \ --diskDISK_NAME
次のように置き換えます。
VM_NAME
: インスタンスの名前AUTO_DELETE_SETTING
: ディスクを自動的に削除するかどうか。VM を削除した後もディスクを保持するには--no-auto-delete
を指定します。VM と同時にディスクを削除するには--auto-delete
を指定します。DISK_NAME
: ディスクの名前
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
API を使用して自動削除状態を設定するには、instances.setDiskAutoDelete メソッドに POST
リクエストを送信します。
autoDelete
パラメータを使用して、ディスクを削除するかどうかを指定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/VM_NAME /setDiskAutoDelete?deviceName=DISK_NAME ,autoDelete=AUTO_DELETE_OPTION
次のように置き換えます。
PROJECT_ID
: プロジェクト IDZONE
: インスタンスとディスクが配置されているゾーンVM_NAME
: インスタンスの名前DISK_NAME
: インスタンスにアタッチされたディスクの名前。AUTO_DELETE_OPTION
: VM の削除時にディスクを自動的に削除するかどうかを指定します。ディスクを削除するには、true
に設定します。VM の削除後もディスクを保持するには、false
に設定します。
トラブルシューティング
完全なディスクとディスクサイズ変更に関連する問題の診断と解決方法については、完全なディスクとディスクサイズ変更のトラブルシューティングをご覧ください。
次のステップ
- 予期しないデータ損失を防ぐため、定期的にスナップショットを使用してディスクをバックアップする方法を確認する。
- 2 つのゾーン間の同期レプリケーションに、リージョン永続ディスクを使用する。
- インスタンスで RAM ディスクをマウントします。