標準スナップショットを作成して、ゾーンとリージョンの Persistent Disk ボリュームと Google Cloud Hyperdisk ボリュームからデータを定期的にバックアップします。
ディスクが実行中のインスタンスにアタッチされている場合でも、ディスクからスナップショットを作成できます。デフォルトでは、スナップショットはグローバル リソースであるため、スナップショットを使用して同じプロジェクト内の新しいディスクまたは 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
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
Terraform
ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロールと権限
標準スナップショットの作成に必要な権限を取得するには、プロジェクトに関する次の IAM ロールを付与するよう管理者に依頼してください。
-
Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
) - サービス アカウントとして実行できる VM に接続する: サービス アカウント ユーザー(v1)(
roles/iam.serviceAccountUser
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、標準スナップショットの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
標準スナップショットを作成するには、次の権限が必要です。
-
ゾーンディスクのスナップショットを作成する:
-
compute.snapshots.create
-
compute.disks.createSnapshot
-
-
ディスク上のデータを使用してリージョン ディスクのスナップショットを作成する:
-
compute.snapshots.create
-
compute.instances.useReadOnly
-
compute.disks.createSnapshot
-
-
レプリカ復元チェックポイントからリージョン ディスクのスナップショットを作成する:
-
compute.snapshots.create
-
compute.disks.createSnapshot
-
- リージョン スコープのスナップショットを作成する(//cloud.google.com/products/#product-launch-stages">プレビュー)
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
スナップショット作成の準備をする
Persistent Disk ボリュームまたは Hyperdisk ボリュームのスナップショットの作成を準備するには、次の操作を行います。
スナップショット用にディスクを準備するには、Compute Engine のディスク スナップショットに関するベスト プラクティスを確認してください。
すべての新しいグローバル スコープのスナップショットのデフォルトの保存場所をカスタマイズする場合は、プロジェクトのスナップショット設定を更新します。スナップショット設定を初めて更新するまでは、Google Cloud で事前定義されたデフォルトの保存場所の値が保持されます。この事前定義のロケーションは、ソースディスクに最も近いマルチリージョンです。
スナップショット スケジュールの作成とディスクへのアタッチについては、ディスク スナップショットのスケジュールを作成するをご覧ください。スケジュールされたスナップショットを使用してディスクを定期的にバックアップすると、予期しないデータ損失のリスクを軽減できます。
Persistent Disk ボリュームまたは Hyperdisk ボリュームのスナップショットを作成する
ディスクのスナップショットを作成する手順は、ゾーンディスクとリージョン ディスクのどちらのスナップショットを作成するかによって異なります。
ゾーンディスクのスナップショットを作成する
コンソール
Google Cloud コンソールで [スナップショットの作成] ページに移動します。
[スナップショットの作成] ページに移動- スナップショットの名前を入力します。
-
スナップショットの種類を選択します。デフォルトは
STANDARD
(標準)スナップショットです。これは、長期のバックアップや障害復旧に適しています。データの保持にかかる費用対効果を高めるには、[アーカイブ スナップショット] を選択します。
- 省略可: スナップショットの説明を入力します。
- [ソースディスク] で、スナップショットを作成する既存のディスクを選択します。
[ロケーション] セクションで、スナップショットの保存場所を選択します。
スナップショット設定で定義されている事前定義またはカスタマイズされたデフォルトのロケーションが自動的に選択されます。必要に応じて、スナップショット設定をオーバーライドして、次の方法でカスタマイズされた保存場所にスナップショットを保存できます。
スナップショットを保存する保存場所の種類を選択します。
- より高いコストで高い可用性を実現するには、[マルチリージョン] を選択します。
- より低いコストでデータの物理的ロケーションをより細かく制御するには、[リージョン スナップショット] を選択します。
- [ロケーションを選択] フィールドで、使用する特定のリージョンまたはマルチリージョンを選択します。ソースディスクに最も近いリージョンまたはマルチリージョンを使用するには、[ディスクの場所に基づく] を選択します。
- [作成] をクリックしてスナップショットを作成します。
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
-
(プレビュー)許可されたリージョンにリージョン スコープのスナップショットを作成するには、
--region
フラグを含めて、スナップショットの作成場所を指定します。gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
次のように置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_ZONE: ソースディスクのゾーン。
- SOURCE_DISK_NAME: スナップショットを作成する Persistent Disk ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: グローバル スコープのスナップショットの場合は、スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(省略可)。保存場所は 1 つだけ指定できます。
--storage-location
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。 -
SNAPSHOT_SCOPE_REGION: 省略可。リージョン スコープのスナップショットの場合、スナップショットのスコープが設定されているリージョン。このパラメータを使用した場合、
--storage-location
パラメータは使用できません。STORAGE_LOCATION は自動的に SNAPSHOT_SCOPE_REGION に設定されます。
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" ], }
-
(プレビュー)許可されたリージョンにリージョン スコープのスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを送信して、作成リージョンを定義します。POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
次のように置き換えます。
- 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
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。 SNAPSHOT_SCOPE_REGION: 省略可。リージョン スコープのスナップショットの場合、スナップショットのスコープが設定されているリージョン。このパラメータを使用した場合、
storageLocations
パラメータは使用できません。STORAGE_LOCATION は自動的に SNAPSHOT_SCOPE_REGION に設定されます。
リージョン ディスクのスナップショットを作成する
リージョン ディスクのスナップショットは、次のいずれかの方法で作成できます。
- ソースディスクのデータを使用します。このスナップショット作成方法を使用するには、使用可能な同期済みのゾーンレプリカが必要です。
- 劣化したディスクのレプリカ復元チェックポイントを使用します。チェックポイントからスナップショットを作成するには、Google Cloud CLI または REST を使用する必要があります。
ディスクを準備したら、スナップショットを作成できます。リージョン ディスクのスナップショットを作成する場合は、ソースディスクが配置されているリージョンを指定する必要があります。
コンソール
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
-
(プレビュー)許可されたリージョンにリージョン スコープのスナップショットを作成するには、
--region
フラグを含めて、スナップショットの作成場所を指定します。gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION \ --source-disk=SOURCE_DISK_NAME \ --source-disk-region=SOURCE_REGION \ --snapshot-type=SNAPSHOT_TYPE
次のように置き換えます。
- SNAPSHOT_NAME: スナップショットの名前。
- SOURCE_REGION: ソースディスクのリージョン。
- SOURCE_DISK_NAME: スナップショットを作成する リージョン Persistent Disk または Hyperdisk Balanced HA ボリュームの名前。
- SNAPSHOT_TYPE: スナップショットの種類(標準またはアーカイブ)。スナップショットの種類が指定されていない場合は、
STANDARD
(標準)スナップショットが作成されます。 -
STORAGE_LOCATION: グローバル スコープのスナップショットの場合は、スナップショットを保存する Cloud Storage マルチリージョンまたは Cloud Storage リージョン(省略可)。保存場所は 1 つだけ指定できます。
--storage-location
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。 -
SNAPSHOT_SCOPE_REGION: 省略可。リージョン スコープのスナップショットの場合、スナップショットのスコープが設定されているリージョン。このパラメータを使用した場合、
--storage-location
パラメータは使用できません。STORAGE_LOCATION は自動的に SNAPSHOT_SCOPE_REGION に設定されます。
チェックポイントから
劣化したディスクのレプリカ復元チェックポイントを使用してスナップショットを作成できます。不完全なレプリカが使用可能である限り、スナップショットが作成されます。
レプリカ復元チェックポイントを使用してスナップショットを作成するには、
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 プロバイダでは、リージョン ディスクのスナップショットの作成はサポートされていません。この制限を追跡するには、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" ], }
-
(プレビュー)許可されたリージョンにリージョン スコープのスナップショットを作成するには、
snapshots.insert
メソッドにPOST
リクエストを送信して、作成リージョンを定義します。POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", }
次のように置き換えます。
- 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
パラメータは、スナップショット設定で構成した事前定義またはカスタマイズされたデフォルトの保存場所をオーバーライドする場合にのみ使用します。 SNAPSHOT_SCOPE_REGION: 省略可。リージョン スコープのスナップショットの場合、スナップショットのスコープが設定されているリージョン。このパラメータを使用した場合、
storageLocations
パラメータは使用できません。STORAGE_LOCATION は自動的に SNAPSHOT_SCOPE_REGION に設定されます。
チェックポイントから
あるいは、劣化したディスクのレプリカ復元チェックポイントを使用して、スナップショットを作成することもできます。不完全なレプリカが使用可能である限り、スナップショットが作成されます。
レプリカ復元チェックポイントを使用してスナップショットを作成するには、
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.
次のステップ
- ディスクのスケジュール設定されたスナップショットを作成する方法を学習する。
- ディスク スナップショットを表示、削除、共有する方法を学習する。
- スナップショットからディスク イメージを作成する方法を学習する。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。
-