このページでは、 Google Cloud コンソールのバックアップ ボルトから Compute Engine インスタンスを復元する方法について説明します。
始める前に
復元が実行されているターゲット プロジェクトの Vault のバックアップ Vault サービス エージェントに、Backup and DR Compute Engine オペレーター(
roles/backupdr.computeEngineOperator)IAM ロールを付与します。共有 VPC を使用している場合は、VPC ホスト プロジェクト内の Vault のバックアップ Vault サービス エージェントに Compute ネットワーク ユーザー(
roles/compute.networkUser)IAM ロールを付与します。バックアップ ボルト プロジェクトで復元を行うユーザーに、次の IAM ロールを付与します。
- バックアップ Vault とターゲット プロジェクトの両方の Backup and DR 復元ユーザー(
roles/backupdr.restoreUser)。 - ターゲットのみの Compute 閲覧者(
roles/compute.viewer)。
これらの事前定義ロールには、Compute Engine プロジェクトのバックアップ ボルトにアクセスするために必要な権限が含まれています。具体的な権限については、次のリストをご覧ください。
backupdr.bvbackups.restorebackupdr.compute.restoreFromBackupVaultbackupdr.backupVaults.getbackupdr.backupVaults.listbackupdr.bvbackups.listbackupdr.bvdataSources.getbackupdr.bvdataSources.listbackupdr.bvbackups.get
Google Cloud CLI CLI または API を使用してインスタンスを復元するには、ユーザーに次の権限が必要です。
- バックアップ リソースに対する
backupdr.bvbackups.restore。 - インスタンスが復元されるターゲット プロジェクトに対する
backupdr.compute.restoreFromBackupVault。
- バックアップ Vault とターゲット プロジェクトの両方の Backup and DR 復元ユーザー(
Google Cloud コンソールの追加権限
Google Cloud コンソールを使用してインスタンスを復元する場合、ユーザーには CLI 権限に加えて次の権限が必要です。コンソールで、ユーザー インターフェースで選択に必要な Compute Engine リソースを一覧表示して表示するには、これらの追加の権限が必要です。
compute.acceleratorTypes.listcompute.disks.listcompute.machineTypes.listcompute.projects.getcompute.regions.listcompute.zones.list
ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
Compute Engine インスタンスを復元する
次の手順で Compute Engine インスタンスを復元します。
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
ここに、バックアップが Vault に保存されているすべての Compute Engine インスタンスが一覧表示されます。
アクション アイコンをクリックして、[復元] アクションを選択します。[復元ページ] が表示されます。ここで、次の復元オプションを選択します。
- リソース名を選択します。
- [バックアップの作成日時] を選択します。
- VM を復元するプロジェクト名を選択します。
[続行] をクリックします。
- 次のページ [バックアップから新しい VM インスタンスを作成する] が表示されます。このページでは、ソース VM のプロパティに基づいて VM のプロパティが事前入力されています。プロパティを変更して新しい VM を作成できます。たとえば、[リージョン] または [マシンタイプ] の選択を変更します。
[作成] をクリックして、選択したバックアップから新しい VM を作成します。
gcloud
まだ付与されていない場合は、VM が復元される復元プロジェクトのバックアップ ボルト サービス エージェントに、Backup and DR Compute Engine オペレーター(
roles/backupdr.computeEngineOperator)IAM ロールを付与します。バックアップ ボルトのサービス アカウントを取得するには、次のコマンドを使用します。
gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME --location=LOCATION次のように置き換えます。
- BACKUPVAULT_NAME: データの復元元となる Backup Vault の名前。
- LOCATION: Backup Vault のロケーション。
Compute Engine インスタンスを復元するには、次のコマンドを使用します。
バックアップ ID を使用して、ワークロード プロジェクトと同じプロジェクト内の VM を復元します。
gcloud backup-dr backups restore compute test-backup-id \ --project=PROJECT --location=LOCATION \ --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECTバックアップの完全なリソース URL を使用して、ワークロード プロジェクトと同じプロジェクト内の VM を復元します。
gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECTカスタム サービス アカウントとネットワーク構成を使用して Compute Engine インスタンスを復元します。
gcloud backup-dr backups restore compute test-backup-id \ --project=PROJECT --location=LOCATION \ --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\ --name=NAME --target-zone=TARGET_ZONE \ --target-project=TARGET_PROJECT \ --network-interface=network=NETWORK,subnet=SUBNET \ --service-account=SERVICE_ACCOUNT \ --scopes=SCOPE次のように置き換えます。
- PROJECT: Backup Vault プロジェクトの名前。
- LOCATION: Backup Vault のロケーション。
- BACKUPVAULT_NAME: データの復元元となる Backup Vault の名前。
- DATA_SOURCE: データの復元元のデータソース名。
- NAME: 復元された VM の名前。
- TARGET_ZONE: VM が復元されるリージョン。
- TARGET_PROJECT: VM が復元されるプロジェクト。
- NETWORK: VM のネットワーク URI。
- SUBNET: VM のサブネット URI。
- SERVICE_ACCOUNT: 復元された VM のサービス アカウント。
- SCOPE: サービス アカウントの認可スコープ。
他の VM プロパティをオーバーライドするには、Backup and DR Service Google Cloud CLI コマンドの概要をご覧ください。
CMEK 対応の Backup Vault から復元する
CMEK 対応のバックアップ ボルトからバックアップを復元する場合、復元されたリソースの暗号化はソースの暗号化によって異なります。
- ソースリソースが CMEK で保護されていた場合: 復元されたリソースは、デフォルトでソースと同じ CMEK 鍵を使用します。たとえば、次のような情報が得られます。
- 鍵
K1で暗号化された Compute Engine 永続ディスクが、K1で暗号化されたディスクに復元されます。 - VM に複数のディスクがある場合、復元された VM の各ディスクは、対応する移行元ディスクの暗号化を継承します(CMEK で暗号化されたディスクは元の鍵で暗号化されたままになり、Google マネージド暗号化ディスクは Google マネージドのままになります)。
- 鍵
- ソースリソースで Google 管理の暗号化が使用されていた場合: 復元されたリソースは、デフォルトで Google 管理の暗号化を使用します。
API または Google Cloud CLI を使用して Compute Engine 永続ディスクまたは Compute Engine インスタンスを復元するときに、このデフォルトの動作をオーバーライドできます。たとえば、CMEK で保護されたリソースのバックアップを、Google 管理の暗号化を使用する新しいリソースや、別の CMEK 鍵で保護された新しいリソースに復元できます。新しい CMEK 鍵で保護されたリソースに復元するには、関連するサービス エージェント(宛先プロジェクトの Compute Engine サービス エージェント)に、新しい宛先キーに対する roles/cloudkms.cryptoKeyEncrypterDecrypter 権限が付与されている。
復元オペレーション中にソース ワークロードを保護する Cloud Key Management Service 鍵が使用できない場合、デフォルトでは復元は失敗します。この場合は、API または Google Cloud CLI を使用して、新しい CMEK 鍵を指定するか、復元されたリソースの暗号化タイプを Google 管理の暗号化に変更して、暗号化設定をオーバーライドする必要があります。
バックアップ Vault のデータの暗号化に使用される Cloud Key Management Service 鍵バージョンが無効になっているか、破棄されている場合、そのバックアップから復元することはできません。
Backup and DR Compute Engine ガイド
- Vaulted バックアップのバックアップ プランを作成して管理する
- クラウド認証情報を確認する
- Compute Engine インスタンスを検出して保護する
- Compute Engine Persistent Disk のバックアップ イメージをマウントする
- Compute Engine インスタンスを復元する
- Persistent Disk スナップショット イメージをインポートする