次のタイプのディスクの標準スナップショットを作成してデータを定期的にバックアップします。
ディスクが実行中のインスタンスにアタッチされている場合でも、ディスクからスナップショットを作成できます。スナップショットはグローバル リソースであるため、スナップショットを使用して同じプロジェクト内の新しいディスクまたは 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
- デフォルトのリージョンとゾーンを設定します。
Terraform
このページの Terraform サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
Go
このページの Go サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
Java
このページの Java サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
Node.js
このページの Node.js サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
Python
このページの Python サンプルをローカル開発環境から使用するには、gcloud CLI をインストールして初期化し、自身のユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定してください。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
詳細については、 ローカル開発環境の認証の設定 をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
必要なロールと権限
標準スナップショットの作成に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与するよう管理者に依頼してください。
- Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) - サービス アカウントとして実行できる VM に接続するには: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
)
ロールの付与の詳細については、アクセス権の管理に関する記事をご覧ください。
これらの事前定義ロールには、標準スナップショットの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
標準スナップショットを作成するには、次の権限が必要です。
-
ゾーンディスクのスナップショットを作成する:
- プロジェクトに対する
compute.snapshots.create
- ディスクに対する
compute.disks.createSnapshot
- プロジェクトに対する
-
ディスク上のデータを使用してリージョン ディスクのスナップショットを作成する:
- プロジェクトに対する
compute.snapshots.create
- ソース VM に対する
compute.instances.useReadOnly
- ディスクに対する
compute.disks.createSnapshot
- プロジェクトに対する
-
レプリカ復元チェックポイントからリージョン ディスクのスナップショットを作成する:
- プロジェクトに対する
compute.snapshots.create
- ディスクに対する
compute.disks.createSnapshot
- プロジェクトに対する
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
スナップショット作成の準備をする
Persistent Disk または Hyperdisk スナップショットの作成を準備するには、次の操作を行います。
スナップショット用にディスクを準備するには、Compute Engine のディスク スナップショットに関するベスト プラクティスを確認してください。
すべての新しいスナップショットのデフォルトの保存場所をカスタマイズする場合は、プロジェクトのスナップショット設定を更新します。Google Cloud では、スナップショットの設定を初めて更新するまでは、事前定義されたデフォルトの保存場所の値が保持されます。この事前定義のロケーションは、ソースディスクに最も近いマルチリージョンです。
スナップショット スケジュールの作成とディスクへのアタッチについては、ディスク スナップショットのスケジュールを作成するをご覧ください。スケジュールされたスナップショットを使用してディスクを定期的にバックアップすると、予期しないデータ損失のリスクを軽減できます。
Persistent Disk ボリュームのスナップショットを作成する
Persistent Disk ボリュームのスナップショットの作成手順は、ゾーン Persistent Disk とリージョン Persistent Disk のどちらのスナップショットを作成するかによって異なります。
ゾーン Persistent Disk ボリュームのスナップショットを作成する
コンソール
-
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM インスタンスに移動
残りの手順は、Google Cloud コンソールに自動的に表示されます。 - VM インスタンスが含まれているプロジェクトを選択します。
- [名前] 列で、永続ディスクをバックアップする VM の名前をクリックします。
-
[
ストレージ ] で次の操作を行います。- ブートディスクをバックアップするには、[ブートディスク] セクションでブートディスクの名前をクリックします。
- アタッチされた永続ディスクをバックアップするには、[追加ディスク] で、アタッチされた永続ディスクの名前をクリックします。
-
[
スナップショットを作成 ] をクリックします。 -
[名前] に、スナップショットの目的をすぐに識別できる名前を入力します。次に例を示します。
boot-disk-snapshot
attached-persistent-disk-snapshot
-
種類 では、定期的なスナップショットがデフォルトになります。これは、長期のバックアップや障害復旧に適しています。
データの保持にかかる費用対効果を高めるには、[アーカイブ スナップショット] を選択します。
-
[ロケーション] セクションで、スナップショットの保存場所を選択します。スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトのロケーションが自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタマイズされた保存場所にスナップショットを保存できます。
-
スナップショットを保存する保存場所の種類を選択します。
-
より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- より低いコストでデータの物理的な位置をより細かく制御するには、[リージョン スナップショット] を選択します。
-
より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
-
[ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
-
- 手動スナップショットを作成するには、[作成] をクリックします。
gcloud
スナップショットは、スナップショット設定で定義された保存場所ポリシー内に作成することも、別のお好きな保存場所を使用して作成することもできます。詳細については、スナップショットの保存場所を選択するをご覧ください。
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
gcloud compute snapshots create
コマンドを使用します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
また、スナップショット設定をオーバーライドしてスナップショットをカスタマイズされた保存場所に作成するには、
--storage-location
フラグを含めて、スナップショットの保存先を指定します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
次のように置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する Persistent Disk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
--storage-location
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
Terraform
ゾーン Persistent Disk ボリュームのスナップショットを作成するには、google_compute_snapshot
リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
スナップショットは、スナップショット設定で定義された保存場所ポリシー内に作成することも、別のお好きな保存場所を使用して作成することもできます。詳細については、スナップショットの保存場所を選択するをご覧ください。
-
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを発行します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
-
または、スナップショット設定をオーバーライドしてカスタマイズされた保存場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストをstorageLocations
プロパティを含めて送信します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
次のように置き換えます。
- DESTINATION_PROJECT_ID: スナップショットを作成するプロジェクトの ID。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_PROJECT_ID: ソースディスク プロジェクトの ID。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する Persistent Disk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
storageLocations
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
リージョン Persistent Disk ボリュームのスナップショットを作成する
リージョン Persistent Disk ボリュームのスナップショットは、次のいずれかの方法で作成できます。
- ソースディスクのデータを使用します。このスナップショット作成方法を使用するには、使用可能な同期済みのゾーンレプリカが必要です。
- 劣化したディスクのレプリカ復元チェックポイントを使用します。チェックポイントからスナップショットを作成するには、Google Cloud CLI または REST を使用する必要があります。
ディスクを準備したら、スナップショットを作成できます。リージョン Persistent Disk のスナップショットを作成する場合は、ソースディスクが配置されているリージョンを指定する必要があります。
コンソール
Google Cloud コンソールで [スナップショットの作成] ページに移動します。
[スナップショットの作成] ページに移動- スナップショットの名前を入力します。
-
スナップショットの種類を選択します。デフォルトは
STANDARD
(標準)スナップショットです。これは、長期のバックアップや障害復旧に適しています。データの保持にかかる費用対効果を高めるには、[アーカイブ スナップショット] を選択します。
- 省略可: スナップショットの説明を入力します。
- [ソースディスク] で、スナップショットを作成する既存のディスクを選択します。
[ロケーション] セクションで、スナップショットの保存場所を選択します。
スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトのロケーションが自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタマイズされた保存場所にスナップショットを保存できます。
スナップショットを保存する保存場所の種類を選択します。
- より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- より低いコストでデータの物理的ロケーションをより細かく制御するには、[リージョン スナップショット] を選択します。
- [ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
- [作成] をクリックしてスナップショットを作成します。
gcloud
スナップショットは、ソースディスクのデータまたはそのレプリカ復元チェックポイントを使用して作成できます。
ディスクデータから
スナップショットは、ディスクのデータから、スナップショット設定で定義された保存場所ポリシーを使用するか、別のお好きな保存場所を使用して作成できます。詳細については、スナップショットの保存場所を選択するをご覧ください。
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
gcloud compute snapshots create
コマンドを使用します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-region=SOURCE_REGION \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
また、スナップショット設定をオーバーライドしてスナップショットをカスタマイズされた保存場所に作成するには、
--storage-location
フラグを含めて、スナップショットの保存先を指定します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-region=SOURCE_REGION \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
次のように置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_REGION: ソースディスクのリージョン。
- SOURCE_DISK_NAME: スナップショットを作成する リージョン Persistent Disk または Hyperdisk Balanced HA ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
--storage-location
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
チェックポイントから
劣化したディスクのレプリカ復元チェックポイント(プレビュー)を使用してスナップショットを作成できます。不完全なレプリカが使用可能である限り、スナップショットが作成されます。
レプリカ復元チェックポイントを使用してスナップショットを作成するには、gcloud compute snapshots create
コマンドを使用します。レプリカ復元チェックポイントを使用してスナップショットを作成することを指定するには、--source-disk-for-recovery-checkpoint
フラグを含めます。--source-disk
パラメータと --source-disk-region
パラメータを除外します。
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-for-recovery-checkpoint=SOURCE_DISK \ --source-disk-for-recovery-checkpoint-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
以下を置き換えます。
DESTINATION_PROJECT_ID
: スナップショットを作成するプロジェクトの ID。SNAPSHOT_NAME
: スナップショットの名前。SOURCE_PROJECT_ID
: スナップショットの作成に使用するチェックポイントがあるソースディスクのプロジェクト ID。SOURCE_REGION
: スナップショットの作成に使用するチェックポイントがあるソースディスクのリージョン。SOURCE_DISK_NAME
: スナップショットの作成に使用するチェックポイントがあるソースディスクの名前。STORAGE_LOCATION
: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
は、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。SNAPSHOT_TYPE
: スナップショットの種類(標準 または アーカイブ)。スナップショットの種類が指定されていない場合は、標準スナップショットが作成されます。
レプリカ復元チェックポイントを使用して、劣化したディスクにのみスナップショットを作成できます。デバイスが完全にレプリケートされているときにレプリカ復元チェックポイントからスナップショットを作成しようとすると、次のエラー メッセージが表示されます。
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Google Cloud CLI は、オペレーションが READY
または FAILED
のステータスを返すか、最長タイムアウトに達してスナップショットの最新の既知情報が返されるまで待機します。
Terraform
Google Cloud の Terraform プロバイダでは、リージョン Persistent Disk ボリュームのスナップショットの作成はサポートされていません。この制限を追跡するには、GitHub での問題をご覧ください。
Go
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
Java
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
Node.js
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST
スナップショットは、ソースディスクのデータまたはそのレプリカ復元チェックポイントを使用して作成できます。
ディスクデータから
スナップショットは、ディスクのデータから、スナップショット設定で定義された保存場所ポリシーを使用するか、別のお好きな保存場所を使用して作成できます。詳細については、スナップショットの保存場所を選択するをご覧ください。
-
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを発行します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
-
または、スナップショット設定をオーバーライドしてカスタマイズされた保存場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストをstorageLocations
プロパティを含めて送信します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
次のように置き換えます。
- DESTINATION_PROJECT_ID: スナップショットを作成するプロジェクトの ID。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_PROJECT_ID: ソースディスク プロジェクトの ID。
- SOURCE_REGION: ソースディスクのリージョン。
- SOURCE_DISK_NAME: スナップショットを作成する リージョン Persistent Disk または Hyperdisk Balanced HA ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
storageLocations
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
チェックポイントから
あるいは、劣化したディスクのレプリカ復元チェックポイントを使用して、スナップショットを作成することもできます。不完全なレプリカが使用可能である限り、スナップショットが作成されます。
レプリカ復元チェックポイントを使用してスナップショットを作成するには、
snapshots.insert
メソッドに POST
リクエストを送信します。チェックポイントを使用してスナップショットを作成することを指定するには、sourceDisk
パラメータを除外し、代わりに sourceDiskForRecoveryCheckpoint
パラメータを含めます。
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDiskForRecoveryCheckpoint": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "storageLocations": "STORAGE_LOCATION", "snapshotType": "SNAPSHOT_TYPE" }
以下を置き換えます。
DESTINATION_PROJECT_ID
: スナップショットを作成するプロジェクトの ID。SNAPSHOT_NAME
: スナップショットの名前。SOURCE_PROJECT_ID
: スナップショットの作成に使用するチェックポイントがあるソースディスクのプロジェクト ID。SOURCE_REGION
: スナップショットの作成に使用するチェックポイントがあるソースディスクのリージョン。SOURCE_DISK_NAME
: スナップショットの作成に使用するチェックポイントがあるソースディスクの名前。STORAGE_LOCATION
: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
storageLocations
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。SNAPSHOT_TYPE
: スナップショットの種類(標準 または アーカイブ)。スナップショットの種類が指定されていない場合は、標準スナップショットが作成されます。
レプリカ復元チェックポイントを使用して、劣化したディスクにのみスナップショットを作成できます。デバイスが完全にレプリケートされているときにレプリカ復元チェックポイントからスナップショットを作成しようとすると、次のエラー メッセージが表示されます。
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Hyperdisk のスナップショットを作成する
コンソール
Google Cloud コンソールで [VM インスタンス] ページに移動します。
VM インスタンスが含まれているプロジェクトを選択します。
[名前] 列で、Hyperdisk がバックアップされている VM の名前をクリックします。
[ストレージ] の [追加ディスク] で、アタッチされた Hyperdisk の名前をクリックします。
[スナップショットを作成] をクリックします。
[名前] に、スナップショットの目的をすぐに識別できる名前を入力します。(
hyperdisk-data-snapshot
など)[種類] では、定期的なスナップショットがデフォルトになります。これは、長期のバックアップや障害復旧に適しています。
[ロケーション] セクションで、スナップショットの保存場所を選択します。
スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトの場所が自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタマイズされた保存場所にスナップショットを保存できます。
スナップショットを保存する保存場所の種類を選択します。
- より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- [リージョン スナップショット] を選択すると、低コストでデータの物理的な場所をより詳細に制御できます。
[ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
[作成] をクリックします。
gcloud
スナップショットは、スナップショット設定で定義された保存場所ポリシー内に作成することも、別のお好きな保存場所を使用して作成することもできます。詳細については、スナップショットの保存場所を選択するをご覧ください。
スナップショット名を指定する必要があります。名前は 1~63 文字で、RFC 1035 に準拠している必要があります。
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
gcloud compute snapshots create
コマンドを使用します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
また、スナップショット設定をオーバーライドしてスナップショットをカスタマイズされた保存場所に作成するには、
--storage-location
フラグを含めて、スナップショットの保存先を指定します。gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
次のように置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する Hyperdisk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
--storage-location
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
gcloud CLI は、このオペレーションに対して
READY
またはFAILED
のステータスが返されるか、最長タイムアウトに達してスナップショットの最新の既知情報が返されるまで待機します。
REST
スナップショットは、スナップショット設定で定義された保存場所ポリシー内に作成することも、別のお好きな保存場所を使用して作成することもできます。詳細については、スナップショットの保存場所を選択するをご覧ください。
スナップショット名を指定する必要があります。名前は 1~63 文字で、RFC 1035 に準拠している必要があります。
-
スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを発行します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
-
または、スナップショット設定をオーバーライドしてカスタマイズされた保存場所にスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストをstorageLocations
プロパティを含めて送信します。POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
次のように置き換えます。
- DESTINATION_PROJECT_ID: スナップショットを作成するプロジェクトの ID。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_PROJECT_ID: ソースディスク プロジェクトの ID。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する Hyperdisk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(オプション)。保存場所は 1 つだけ指定できます。
storageLocations
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。
次のステップ
- ディスクのスケジュール設定されたスナップショットを作成する方法を学習する。
- ディスク スナップショットを表示、削除、共有する方法を学習する。
- スナップショットからディスク イメージを作成する方法を学習する。