AlloyDB クラスタを Backup Vault にバックアップする

このページでは、AlloyDB をバックアップ ボルトにバックアップする方法について説明します。バックアップを Backup Vault に送信すると、不変性と保持が強制されます。

Google Cloud コンソールでは、バックアップ プランを適用して AlloyDB for PostgreSQL クラスタを Backup Vault にバックアップできます。バックアップは次の 2 つの方法で行うことができます。どちらの方法でも、バックアップを Backup Vault に安全に保存できます。これにより、データ損失やその他の予期しないイベントが発生した場合に、AlloyDB クラスタを確実に復元できます。

  • スケジュール バックアップ。AlloyDB for PostgreSQL クラスタは、毎日、毎週、毎月、毎年などの特定の期間で自動的にバックアップできます。
  • オンデマンド バックアップ。オンデマンド バックアップは、必要なときにいつでも作成できます。オンデマンド バックアップは、データベースに大幅な変更を加える前にバックアップを作成する場合や、アドホック データ保護に役立ちます。

始める前に

  1. AlloyDB for PostgreSQL クラスタが配置されている場所で Backup and DR サービス API を有効にします。

    API を有効化

  2. Backup Vault を作成する

  3. バックアップ プランを作成

  4. バックアップ ユーザーに IAM ロールと権限を割り当てる

  5. AlloyDB プロジェクトで Backup Vault へのアクセス権を付与する

  6. Backup and DR のバックアップ ジョブをモニタリングするために、バケットに Log Analytics を設定します。

バックアップ ユーザーの IAM ロールと権限

スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限を取得するには、バックアップ ボルト プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、スケジュールされたバックアップの構成またはオンデマンド バックアップの実行に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

スケジュール バックアップを構成するか、オンデマンド バックアップを実行するには、次の権限が必要です。

  • backupdr.backupPlans.list
  • backupdr.backupPlanAssociations.createForAlloydbCluster
  • backupdr.backupPlanAssociations.fetchForAlloydbCluster
  • backupdr.backupPlanAssociations.list
  • backupdr.backupPlanAssociations.getForAlloydbCluster
  • backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster
  • backupdr.backupPlanAssociations.deleteForAlloydbCluster
  • backupdr.backupPlans.useForAlloydbCluster
  • backupdr.locations.list
  • backupdr.operations.get
  • cloudasset.assets.searchAllResources

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

次の表に、各 API 呼び出しに必要な動的権限を示します。

リソース リソースに対して実行するアクション API 呼び出しごとに必要な権限 割り当てる必要があるプロジェクト
Backup Vault BackupVault を作成する backupdr.backupVaults.create 管理者プロジェクト
BackupVault を削除する backupdr.backupVaults.delete 管理者プロジェクト
BackupVault を更新する backupdr.backupVaults.update 管理者プロジェクト
BackupVault を一覧表示する backupdr.backupVaults.list 管理者プロジェクト
BackupVault を取得する backupdr.backupVaults.get 管理者プロジェクト
バックアップ プラン BackupPlan を作成する backupdr.backupPlans.create 管理者プロジェクト
Delete BackupPlan backupdr.backupPlans.delete 管理者プロジェクト
BackupPlan を取得する backupdr.backupPlans.get 管理者プロジェクト
バックアップ プランを一覧表示する backupdr.backupPlans.list 管理者プロジェクト
バックアップ プランの関連付け バックアップ プランの関連付けを作成する backupdr.backupPlanAssociations.createForAlloydbCluster ワークロード プロジェクト
バックアップ プランの関連付けを削除する backupdr.backupPlanAssociations.deleteForAlloydbCluster ワークロード プロジェクト
バックアップ プランの関連付けでオンデマンド バックアップをトリガーする backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster ワークロード プロジェクト
バックアップ プランの関連付けを取得する backupdr.backupPlanAssociations.getForAlloydbCluster ワークロード プロジェクト
バックアップ プランの関連付けを一覧表示する backupdr.backupPlanAssociations.list ワークロード プロジェクト
バックアップ プランの関連付けを取得する backupdr.backupPlanAssociations.fetchForAlloydbCluster ワークロード プロジェクト
データソース DataSource を取得する backupdr.bvdataSources.get 管理者プロジェクト
データソースの一覧表示 backupdr.bvdataSources.list 管理者プロジェクト
PiTR 復元 backupdr.bvdataSources.useReadOnlyForAlloydbCluster 管理者プロジェクト
バックアップ バックアップを取得 backupdr.bvbackups.get 管理者プロジェクト
バックアップを一覧表示する backupdr.bvbackups.list 管理者プロジェクト
バックアップの削除 backupdr.bvbackups.delete 管理者プロジェクト
バックアップを復元 backupdr.bvbackups.useReadOnlyForAlloydbCluster 管理者プロジェクト
データソースの参照 DataSource 参照を取得する backupdr.dataSourceReferences.getForAlloydbCluster ワークロード プロジェクト
DataSource 参照を取得する backupdr.dataSourceReferences.fetchForAlloydbCluster ワークロード プロジェクト
運用 オペレーションの一覧表示 backupdr.operations.list それぞれのプロジェクト
Get オペレーション backupdr.operations.get それぞれのプロジェクト

AlloyDB for PostgreSQL プロジェクトでバックアップ ボルトへのアクセス権を付与する

バックアップ Vault が作成されたプロジェクトとは異なるプロジェクトで AlloyDB クラスタをバックアップするには、AlloyDB プロジェクト内のバックアップ Vault サービス エージェントに Backup and DR AlloyDB オペレーター(roles/backupdr.alloydbOperator)IAM ロールを付与する必要があります。バックアップが保存されるバックアップ Vault プロジェクトが AlloyDB プロジェクトと異なる場合は、AlloyDB プロジェクト内のバックアップ Vault サービス エージェントにロールを割り当てます。

Backup Vault が作成された同じプロジェクトで AlloyDB クラスタをバックアップする場合、ロールを付与する必要はありません。

バックアップするプロジェクト内のバックアップ ボルト サービス エージェントにロールを付与する方法については、サービス エージェントにロールを付与するをご覧ください。

スケジュール バックアップを構成する

AlloyDB クラスタのスケジュールされたバックアップを構成するには、次の手順を行います。

コンソール

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

    [Vault に保存されているバックアップ] に移動

  2. [バックアップのスケジュールを設定] をクリックします。

  3. [リソースタイプ] リストから [AlloyDB] を選択します。

  4. [プロジェクト] リストから、AlloyDB クラスタが配置されているプロジェクトを選択します。

  5. [リージョン] リストから、クラスタが配置されているリージョンを選択します。

  6. [リソース] リストで [参照] をクリックします。バックアップする AlloyDB クラスタを選択して、[完了] をクリックします。

  7. [続行] をクリックします。

  8. [バックアップ プラン] リストで、[選択] をクリックします。

  9. AlloyDB クラスタの保護に使用するバックアップ プランを選択します。

  10. [完了] をクリックします。

  11. バックアップの詳細を確認し、[スケジュール] をクリックします。

gcloud

  1. スケジュール バックアップを構成します。

      gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \
          --location=ALLOYDB_REGION \
          --project=ALLOYDB_PROJECT_ID \
          --resource=projects/ALLOYDB_PROJECT_ID/clusters/ALLOYDB_CLUSTER_ID \
          --resource-type=alloydb.googleapis.com/Cluster \
          --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN
    

    次のように置き換えます。

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。
    • ALLOYDB_REGION: AlloyDB クラスタが配置されているリージョン。
    • ALLOYDB_PROJECT_ID: AlloyDB クラスタが配置されているプロジェクトの名前。
    • ALLOYDB_CLUSTER_ID: AlloyDB クラスタ ID。
    • PROJECT_ID: バックアップ プランが存在するプロジェクトの名前。
    • LOCATION: クラスタのロケーション。

バックアップがスケジュールされているクラスタを一覧表示する

バックアップがスケジュールされている AlloyDB クラスタを一覧表示するには、次の手順を行います。

コンソール

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

    [Vault に保存されているバックアップ] に移動

  2. 表の上部で、[表をフィルタリング] > [リソースの種類] を選択します。[AlloyDB] を選択します。これにより、バックアップ プランが適用され、バックアップがプロジェクト内の Backup Vault に保存されている AlloyDB クラスタのみが表示されるようにフィルタされます。

gcloud

バックアップがスケジュールされている AlloyDB クラスタを一覧表示します。

  gcloud backup-dr backup-plan-associations fetch-for-resource-type alloydb.googleapis.com/Cluster \
  --location=LOCATION \
  --project=PROJECT_ID

次のように置き換えます。

  • LOCATION: スケジュール バックアップのロケーション。
  • PROJECT_ID: AlloyDB クラスタが配置されているプロジェクトの名前。

オンデマンド バックアップの作成

バックアップ プランを使用して AlloyDB クラスタのオンデマンド バックアップを開始するには、選択したバックアップ ルールをトリガーしてすぐに実行します。オンデマンド バックアップでは通常、前回のバックアップ以降に変更されたデータのみがキャプチャされます(増分)。

オンデマンド バックアップを作成するときに、AlloyDB クラスタに関連付けられているバックアップ プランからルールを選択できます。このルールは、オンデマンド バックアップが削除されるタイミングを決定します。バックアップ ジョブのステータスは、[ジョブ] ページで確認できます。詳細については、 Google Cloud コンソールでバックアップ ジョブと復元ジョブをモニタリングするをご覧ください。

オンデマンド バックアップを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

    [Vault に保存されているバックアップ] に移動

    [Vaulted backups] ページには、バックアップ プランが適用されており、バックアップがプロジェクト内の Backup Vault に保存されているデータリソースのみが表示されます。

  2. バックアップするリソースを選択します。 メニューまたはリソースの詳細ページから、[オンデマンド バックアップを作成] を選択します。

  3. [オンデマンド バックアップの作成] ウィンドウで、使用するバックアップ ルールを選択し、[作成] をクリックします。

  4. オンデマンド バックアップ ジョブのステータスを表示するには、[通知] をクリックします。

gcloud

  1. オンデマンド バックアップを作成します。既存のバックアップ プランの関連付けを使用して、オンデマンド バックアップを開始します。この単一のオンデマンド バックアップの有効期限を決定するルール ID を指定します。

    gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \
    --backup-rule-id=RULE_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    [--no-async]
    

    次のように置き換えます。

    • BACKUP_PLAN_ASSOCIATION_NAME: バックアップ プランの関連付けの名前。

    • RULE_ID: オンデマンド バックアップの実行に関連付けるバックアップ ルール名。

    • PROJECT_ID: プロジェクトの名前。

    • LOCATION: スケジュール バックアップのロケーション。

AlloyDB クラスタの保護を解除する

クラスタに適用されたバックアップ プランを削除することで、AlloyDB クラスタの保護を解除できます。AlloyDB クラスタからバックアップ プランを削除しても、バックアップ プランの使用中に作成されたバックアップは削除されません。既存のバックアップは、期限切れになるまで引き続きアクセスして管理できます。

AlloyDB クラスタの保護を解除するには、次の手順を行います。

コンソール

  1. Google Cloud コンソールで、[Vaulted backups] ページに移動します。

    [Vault に保存されているバックアップ] に移動

  2. バックアップ プランを削除するデータベースの名前をクリックします。

  3. [バックアップ プランを削除] を選択します。

gcloud

AlloyDB クラスタの保護を解除します。

  gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
  --project=PROJECT_ID \
  --location=LOCATION

次のように置き換えます。

  • BACKUP_PLAN_ASSOCIATION_NAME: 削除するバックアップ プランの関連付けの名前。
  • PROJECT_ID: プロジェクトの名前。
  • LOCATION: スケジュール バックアップのロケーション。