このドキュメントでは、 Google Cloud コンソールまたは gcloud CLI を使用して、Backup Vault から AlloyDB クラスタを復元する方法について説明します。このドキュメントでは、Vaulted バックアップから復元する方法と、ポイントインタイム リカバリ(PITR)を実行する方法について説明します。
Backup and DR のコンセプト機能の詳細については、Backup and DR の概要をご覧ください。最初にデータベースをバックアップする場合は、AlloyDB クラスタを Backup Vault にバックアップするをご覧ください。
AlloyDB クラスタの障害復旧オプション。
Backup Vault に保存されたバックアップは、ソースクラスタのライフサイクルとプロジェクトに依存しません。
ソース AlloyDB クラスタを含む元のワークロード プロジェクトが削除されても、バックアップを復元できます。これは、CMEK で暗号化されたバックアップに必要な復号権限が、ワークロード プロジェクトではなく、バックアップ ボルトのプロジェクトの Backup and DR サービス エージェントに固定されているためです。これにより、Backup Vault と Cloud Key Management Service Vault 鍵がそのまま残り、サービス エージェントに権限がある限り、バックアップにアクセスして復元できます。
始める前に
Vault に保存されたバックアップから AlloyDB クラスタを復元する前に、必要なロールと権限があることを確認してください。
ボールトされたバックアップから AlloyDB クラスタを復元するために必要な権限を取得するには、次の IAM ロールの付与を管理者に依頼してください。
-
復元ターゲットを作成する: ターゲット クラスタが配置されているプロジェクトに対する AlloyDB 管理者 (
roles/alloydb.admin) -
Vault からバックアップを読み取る場合: ソース バックアップが存在するプロジェクトに対する Backup and DR 復元ユーザー (
roles/backupdr.restoreUser)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、Vaulted バックアップから AlloyDB クラスタを復元するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Vaulted バックアップから AlloyDB クラスタを復元するには、次の権限が必要です。
-
復元ターゲットを作成するには:
alloydb.clusters.restore -
Vault からバックアップを読み取るには:
-
backupdr.bvbackups.useReadOnlyForAlloydbCluster -
backupdr.bvdataSources.useReadOnlyForAlloydbCluster
-
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
サービス エージェントのロールと鍵バージョンの要件
バックアップは増分バックアップであるため、鍵がローテーションされた場合、単一のバックアップを複数の Cloud Key Management Service 鍵バージョンの Vault 鍵で暗号化できます。復元オペレーションを成功させるには、次の前提条件が満たされていることを確認してください。
増分バックアップに使用される Vault 鍵のすべての Cloud Key Management Service 鍵バージョンが存在する必要があります。
バックアップ ボルト プロジェクトの Backup and DR サービス エージェントには、バックアップに使用される Backup Vault 鍵に対する Cloud KMS CryptoKey Encrypter/Decrypter(
roles/cloudkms.cryptoKeyEncrypterDecrypter)ロールが必要です。
復元されたクラスタの KMS 鍵の動作
復元プロセス中に特定の CMEK が指定されていない場合、復元されたクラスタはデフォルトで Google-managed encryption keyによって暗号化されます。Vault 鍵または元のソース クラスタ鍵で自動的に暗号化されることはありません。
復元構成で CMEK が指定されている場合、復元されたクラスタは新しく指定された鍵で暗号化されます。
Vaulted バックアップから AlloyDB クラスタを復元する
AlloyDB for PostgreSQL クラスタを Vaulted バックアップから復元するには、次のセクションのタスクを完了します。
バックアップを新しいクラスタに復元する
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
復元するバックアップを選択します。バックアップの [バックアップの詳細] ページまたは メニューから、[復元] を選択します。
[バックアップを復元] ページが表示されます。[リソースタイプ] に
AlloyDBが事前入力されます。[リソース名] で、復元する AlloyDB クラスタを選択します。
[バックアップ] をクリックします。使用可能なすべてのバックアップが表示されたペインが表示されます。
復元する特定のバックアップを選択します。
[復元先を選択] で、AlloyDB クラスタを復元するプロジェクトを選択します。
[続行] をクリックします。
次のページには、これまでの復元の詳細が表示され、新しいクラスタを構成するように求められます。バックアップに保存されている構成に基づいて、新しい AlloyDB クラスタが作成されます。復元が完了したら、クラスタをカスタマイズできます。
英小文字、数字、ハイフンを使用し、先頭を英字とする新しいクラスタ ID を指定します。
プライベート接続の方法を選択します。 Google Cloud またはサードパーティがホストする VPC ネットワークで、外部 IP アドレスを割り当てずにサービスを接続するには、次の 2 つの方法があります。
プライベート サービス アクセス: ピアリング接続を使用して、クラスタを単一の VPC ネットワークに割り当てます。AlloyDB クラスタと同じ VPC ネットワーク内の特定の Google Cloud サービスとサードパーティ サービスに接続する場合に使用します。これには追加の API が必要です。
Private Service Connect: 許可リストと Private Service Connect エンドポイントを使用して、1 つ以上の VPC ネットワークからクラスタにアクセスできるようにします。
gcloud
gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \
--project=WORKLOAD_PROJECT_ID \
--region=REGION \
--backupdr-backup=BACKUP_NAME
次のように置き換えます。
RESTORED_CLUSTER_ID: 復元する新しい AlloyDB クラスタの ID。WORKLOAD_PROJECT_ID: AlloyDB クラスタを復元するプロジェクトの ID。REGION: AlloyDB クラスタを復元する Google Cloud リージョン。BACKUP_NAME: 復元するバックアップの名前。
プライマリ インスタンスを作成する
Backup and DR がクラスタの作成を完了したら、クラスタのプライマリ インスタンスを作成します。
新しいプライマリ インスタンスを作成するときに、サイズやフラグなどの構成を指定する必要があります。Backup and DR は、インスタンス構成をバックアップの一部として保存しません。構成は、元のプライマリ インスタンスの構成と完全に一致している必要はありません。
Backup and DR でインスタンスの作成が完了すると、そのインスタンスを使用して復元されたデータにアクセスできます。
読み取りプール インスタンスを設定する
必要に応じて、読み取りプール インスタンスを設定して、新しいクラスタの構成を完了します。
AlloyDB クラスタを特定の時点に復元する
AlloyDB for PostgreSQL クラスタを特定の時点に復元するには、以降のセクションで説明するタスクを完了します。
要件
CMEK で暗号化されたソースクラスタのポイントインタイム リカバリ(PITR)を成功させるには、ソースクラスタ鍵と Vault 鍵の両方が存在し、アクセス可能である必要があります。
ワークロード プロジェクトの AlloyDB for PostgreSQL サービス エージェントには、ソース クラスタ鍵に対する Cloud KMS CryptoKeyEncrypter/Decrypter(
roles/cloudkms.cryptoKeyEncrypterDecrypter)ロールが必要です。また、バックアップ ボルト プロジェクトの Backup and DR サービス エージェントには、ボルト鍵に対する Cloud KMS CryptoKey Encrypter/Decrypter(roles/cloudkms.cryptoKeyEncrypterDecrypter)ロールが必要です。
バックアップを新しいクラスタに復元する
コンソール
Google Cloud コンソールで、[Vaulted backups] ページに移動します。
[Vaulted backups] ページには、バックアップ プランが適用され、バックアップがそのプロジェクト内の Backup Vault に保存されているデータリソースのみが表示されます。
バックアップのリストの上部で、[特定の時点から復元] を選択します。
[Restore from a point in time to a new cluster] ペインが表示されます。ここで、復元する時点と、作成する新しいクラスタの詳細を選択します。
クラスタデータを復元する、このクラスタのリカバリ ウィンドウ内のターゲット時刻を入力します。
新しいクラスタを構成します。バックアップに保存されている構成に基づいて、新しい AlloyDB クラスタが作成されます。復元の完了後にクラスタをカスタマイズできます。
英小文字、数字、ハイフンを使用し、先頭を英字とする新しいクラスタ ID を指定します。
プライベート接続の方法を選択します。 Google Cloud またはサードパーティがホストする VPC ネットワークで、外部 IP アドレスを割り当てずにサービスを接続するには、次の 2 つの方法があります。
プライベート サービス アクセス: ピアリング接続を使用して、クラスタを単一の VPC ネットワークに割り当てます。AlloyDB クラスタと同じ VPC ネットワーク内の特定の Google Cloud サービスとサードパーティ サービスに接続する場合に使用します。これには追加の API が必要です。
Private Service Connect: 許可リストと Private Service Connect エンドポイントを使用して、1 つ以上の VPC ネットワークからクラスタにアクセスできるようにします。
gcloud
次のコマンドを使用してデータソース ID を確認します。
gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \ --location=REGION \ --project=WORKLOAD_PROJECT_ID \ --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME'前の手順で特定したデータソース ID を使用して、クラスタを復元します。
gcloud beta alloydb clusters restore RESTORED_CLUSTER_ID \ --project=WORKLOAD_PROJECT_ID \ --region=REGION \ --backupdr-data-source=projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID \ --point-in-time=POINT_IN_TIME次のように置き換えます。
WORKLOAD_PROJECT_ID: AlloyDB クラスタを復元するプロジェクトの ID。REGION: AlloyDB クラスタを復元する Google Cloud リージョン。RESTORED_CLUSTER_ID: 復元する新しい AlloyDB クラスタの ID。VAULT_PROJECT_ID: Backup Vault を含むプロジェクトの ID。BV_ID: Backup Vault の ID。DS_ID: データソースの ID。POINT_IN_TIME: クラスタを復元する特定の時点。値の例は2025-10-10T10:16:10Zです。
プライマリ インスタンスを作成する
Backup and DR がクラスタの作成を完了したら、クラスタのプライマリ インスタンスを作成します。
新しいプライマリ インスタンスを作成するときに、サイズやフラグなどの構成を指定する必要があります。Backup and DR は、インスタンス構成をバックアップの一部として保存しません。構成は、元のプライマリ インスタンスの構成と完全に一致している必要はありません。
Backup and DR でインスタンスの作成が完了すると、そのインスタンスを使用して復元されたデータにアクセスできます。
読み取りプール インスタンスを設定する
必要に応じて、読み取りプール インスタンスを設定して、新しいクラスタの構成を完了します。
Backup Vault 内のバックアップを一覧表示する
gcloud CLI を使用してバックアップを一覧表示し、復元するバックアップを選択します。
次のコマンドを使用してデータソース ID を確認します。
gcloud backup-dr data-source-references fetch-for-resource-type alloydb.googleapis.com/Cluster \ --location=REGION \ --project=WORKLOAD_PROJECT_ID \ --filter='dataSourceGcpResourceInfo.gcp_resourcename="projects/WORKLOAD_PROJECT_NUMBER/locations/REGION/clusters/CLUSTER_NAME "' ```次のコマンドを使用してバックアップを一覧表示します。
gcloud backup-dr backups list \ --project=VAULT_PROJECT_ID \ --location=REGION \ --backup-vault=BV_ID \ --data-source='projects/VAULT_PROJECT_ID/locations/REGION/backupVaults/BV_ID/dataSources/DS_ID'
次のように置き換えます。
REGION: Google Cloud のリージョン。WORKLOAD_PROJECT_ID: AlloyDB クラスタが配置されているプロジェクトの ID。WORKLOAD_PROJECT_NUMBER: AlloyDB クラスタが配置されているプロジェクトの番号。CLUSTER_NAME: AlloyDB クラスタの名前。VAULT_PROJECT_ID: Backup Vault が含まれているプロジェクトの ID。BV_ID: Backup Vault の ID。DS_ID: データソースの ID。