Backup Vault を作成して管理する

概要

このページでは、Google Cloud コンソールでバックアップ ボルトを作成して管理する方法について説明します。

始める前に

バックアップ ボルトの作成と管理に必要な権限を取得するには、バックアップ ボルトを作成するプロジェクトに対する Backup and DR バックアップ ボルト管理者 roles/backupdr.backupvaultAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、バックアップ ボルトの作成と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

バックアップ ボルトを作成、管理するには、次の権限が必要です。

  • backupdr.backupVaults.create
  • backupdr.backupVaults.list
  • backupdr.backupVaults.get
  • backupdr.backupVaults.update
  • backupdr.backupVaults.delete

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

Backup Vault の作成

バックアップ ボルトを作成する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

  2. [バックアップ Vault を作成] をクリックします。

  3. [バックアップ Vault の作成] ページで、バックアップ Vault の情報を入力します。

    1. [バックアップ ボルトに名前を付ける] フィールドに、バックアップ ボルト名の要件を満たす名前を入力します。
    2. [続行] をクリックします。
    3. [データの保存場所の選択] リストから、バックアップ データが永続的に保存されるロケーションを選択します。
    4. [続行] をクリックします。
    5. [バックアップの削除を防止] フィールドに、バックアップが削除から保護される期間を定義する適用される最短保持期間を入力します。最小値は 1 日、最大値は 99 年です。

      適用される最小保持期間の値をロックする場合は、[適用される保持期間をロックする] を選択し、 アイコンをクリックして、カレンダーから日付を選択します。

      • バックアップ ルールで指定された期間、削除を禁止する: バックアップ プランで設定された [バックアップを削除するまでの期間] の値を Vault に継承するように設定できます。バックアップは手動で削除できません。関連付けられているバックアップ プランの値に従って削除されます。

      • 強制保持をロックする: 最小強制保持期間の値をロックする場合は、このチェックボックスをオンにして、 アイコンをクリックし、カレンダーから日付を選択します。

    6. 独自の暗号鍵を使用する場合は、[暗号化] で [Cloud KMS 鍵] を選択し、プルダウンから使用する鍵を選択します。Backup Vault と同じロケーションの鍵のみが表示されます。

    Persistent Disk 用 CMEK へのアクセスは招待制です。 Google Cloudプロジェクトで Persistent Disk の CMEK へのアクセス権をリクエストする場合は、営業担当者にお問い合わせください。
    1. [Backup Vault へのアクセスを定義する] セクションで、Backup Vault のアクセス制限を定義するオプションを選択します。オプションを選択しない場合、バックアップ Vault は [現在の組織へのアクセスを制限する] という制限付きで作成されます。
  4. [作成] をクリックします。

gcloud

  1. 次のいずれかの開発環境で、gcloud CLI を設定します。
  2. Cloud Shell: gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。このページの下部で Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。セッションが初期化されるまで数秒かかることがあります。
  3. ローカルシェル: ローカル開発環境を使用するには、gcloud CLI をインストールして初期化します。

  4. Backup Vault を作成します。

      gcloud backup-dr backup-vaults create BACKUPVAULT_NAME \
      --project=PROJECT_ID \
      --location=LOCATION \
      --backup-retention-inheritance=RETENTION_PERIOD_INHERITANCE
      --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS
       --kms-key=KMS_KEY
      --access-restriction=ACCESS_RESTRICTION
    

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

    • BACKUPVAULT_NAME: Backup Vault の名前。
    • PROJECT_ID: Backup Vault を作成するプロジェクトの名前。
    • LOCATION: Backup Vault を作成するロケーション。
    • RETENTION_PERIOD_INHERITANCE: この Backup Vault 内のバックアップの強制保持終了時刻の継承モード。一度設定した継承モードは変更できません。デフォルト値は inherit-vault-retention です。

      • inherit-vault-retention に設定すると、バックアップ保持期間は Backup Vault から継承されます。
      • match-backup-expire-time に設定すると、バックアップの保持期間はバックアップの有効期限と同じになります。
    • RETENTION_PERIOD_IN_DAYS: Backup Vault 内の各バックアップを削除できない期間。最小値は 1 日、最大値は 99 年です。たとえば、2w1d は 2 週間と 1 日です。詳細については、Backup Vault に適用する最短保持期間をご覧ください。

    • KMS_KEY: Cloud Key Management Service で定義されている鍵の名前

    • ACCESS_RESTRICTION: Backup Vault のアクセス制限を指定します。指定できる値は within-projectwithin-orgunrestrictedwithin-org-but-unrestricted-for-ba です。値を指定しない場合、バックアップ ボルトは within-org 制限付きで作成されます。

    Persistent Disk 用 CMEK へのアクセスは招待制です。 Google Cloudプロジェクトで Persistent Disk の CMEK へのアクセス権をリクエストする場合は、営業担当者にお問い合わせください。
  5. オペレーションのステータスを確認します。

      gcloud backup-dr operations describe FULL_OPERATION_ID
    

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

    • FULL_OPERATION_ID バックアップ Vault に表示されるオペレーション ID。形式は次のとおりです。projects/test-project/locations/us-central1/operations/operationID

    出力は次のように表示されます。

    
        Create in progress for backup vault [projects/test-project/locations/us-central1/operations/operation-1721893921568-41e0dab8938a1-f1dc6ad2-3051b3ce]. Run the [gcloud backup-dr operations describe] command to check the status of this operation.
    

Terraform

バックアップ ボルトの作成には Terraform リソースを使用します。


resource "google_backup_dr_backup_vault" "default" {
  provider                                   = google-beta
  location                                   = "us-central1"
  backup_vault_id                            = "my-vault"
  description                                = "This vault is created usingTerraform."
  backup_minimum_enforced_retention_duration = "100000s"
  force_update                               = "true"
  ignore_inactive_datasources                = "true"
  allow_missing                              = "true"
}

プロジェクト内の Backup Vault を一覧表示する

プロジェクト内のバックアップ ボルトを一覧表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

    選択したプロジェクトの一部であるバックアップ ボルトがリストに表示されます。

gcloud

  1. バックアップ Vault を一覧表示します。

      gcloud backup-dr backup-vaults list \
      --project=PROJECT_ID \
      --location=LOCATION
    

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

    • PROJECT_ID: バックアップ Vault が作成されるプロジェクトの名前。
    • LOCATION: Backup Vault が作成されるロケーション。

Backup Vault の詳細を表示

バックアップ ボルトの詳細ページには構成情報が表示され、編集可能な項目を更新できます。

バックアップ ボルトの詳細ページの [ロック ステータス] フィールドには、次のいずれかの値を指定できます。

  • ロック解除: バックアップ Vault にロックが適用されておらず、保留中のロックもありません。
  • ロックは datetime に有効になります: 指定された日付に Backup Vault でロックが有効になるように設定されています。
  • ロック済み: バックアップ ボルトの最小強制保持期間の値が、削減または削除に対してロックされています。

バックアップ ボルトの詳細を表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

    このページには、選択したプロジェクトの一部である Backup Vault が一覧表示されます。

  2. 表示するバックアップ ボルトをクリックします。

    バックアップ Vault の詳細ページには、適用される最小保持期間の値やロック ステータスなどの構成情報が表示されます。

gcloud

  1. Backup Vault の詳細を表示します。

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

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

    • BACKUPVAULT_NAME: Backup Vault の名前。
    • LOCATION: Backup Vault のロケーション。
    • PROJECT_ID: Backup Vault が作成されるプロジェクトの名前。

既存のバックアップ ボルトの適用する最短保持期間を更新する

ロックのステータスに基づいて、適用する最短保持期間を更新できます。

  • ロック解除: 適用する最小保持期間を延長または短縮できます。
  • ロック済み: 適用される最短保持期間の延長のみ可能です。

発効日を過ぎている場合、ロックは削除できません。ただし、発効日に達していない場合は、ロックを解除して、最初に指定した発効日をクリアできます。

最小適用保持期間の値の変更は、更新後に作成されたバックアップにのみ適用されます。最短保持期間の値を変更しても、Backup Vault にすでに存在するバックアップの残りの適用済み保持期間には影響しません。

Backup Vault の適用される保持期間を延長する場合、Backup Vault の適用される保持期間は、Backup Vault に保存するバックアップのバックアップ プランの保持期間を超えないようにする必要があります。変更後の値がバックアップの保持期間よりも長い場合、Backup and DR Service はバックアップ プランのタイプに基づいてこれらの変更を異なる方法で処理します。

  • Google Cloud コンソールベースのプラン: バックアップ ボルトの値の変更は禁止されます。

  • 管理コンソール ベースのプラン: バックアップ ボルトの値を変更できますが、関連するバックアップ プランを直ちに更新して、更新されたバックアップ ボルトの最小強制保持期間以上の保持期間を指定する必要があります。

    プランの保持期間が Backup Vault の最短保持期間よりも短い場合に生成されたバックアップは、Backup Vault の最短保持期間に設定された保持期間で作成されます。また、バックアップの有効期限は、適用されている保持期間が満了した後に設定されます。

既存のバックアップ ボルトで適用する最短保持期間を更新する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

  2. バックアップ ボルトのリストで、更新するバックアップ ボルトの名前をクリックします。

  3. アイコンをクリックします。

  4. [適用する最短保持期間の編集] ダイアログで、[新たに適用する最短保持期間] の値を入力します。これは、バックアップ Vault 内の各バックアップを削除できない期間です。最小値は 1 日、最大値は 99 年です。

  5. 適用する最短保持期間をロックする場合は、[適用する保持期間をロックする] チェックボックスをオンにして、カレンダーからロックの有効日を選択します。

  6. [保存] をクリックします。

gcloud

  1. 既存の Backup Vault の適用する最短保持期間を更新します。

      gcloud backup-dr backup-vaults update BACKUPVAULT_NAME\
      --project=PROJECT_ID \
      --location=LOCATION \
      --backup-min-enforced-retention=RETENTION_PERIOD_IN_DAYS
    

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

    • BACKUPVAULT_NAME: Backup Vault の名前。
    • PROJECT_ID: Backup Vault が作成されるプロジェクトの名前。
    • LOCATION: Backup Vault のロケーション。
    • RETENTION_PERIOD_IN_DAYS: Backup Vault 内の各バックアップを削除できない期間。最小値は 1 日、最大値は 99 年です。

適用される保持期間のリソース制限

一部のリソースタイプを Backup Vault にバックアップする場合、Backup Vault の最小保持期間の設定との互換性に関する制限があります。

リソースの種類 適用される最短保持期間(バックアップ) 適用される最短保持期間(ログ) 手動での削除を防止する
AlloyDB for PostgreSQL 1 ~ 365 日 1 ~ 35 日 必須
Cloud SQL 1 日~ 99 年 該当なし 省略可
Compute Engine インスタンス 1 日~ 99 年 該当なし 省略可
Compute Engine ディスク 1 日~ 99 年 該当なし 省略可
Filestore 1 日~ 99 年 該当なし 省略可

AlloyDB for PostgreSQL と Cloud SQL のログは、Backup Vault の外部に保存されます。

バックアップ Vault を削除する

バックアップ ボルトは、バックアップが含まれていない場合にのみ削除できます。バックアップ ボルトを削除するには、まず、削除対象となるボルト内のすべてのバックアップを削除します。

バックアップ ボルトを削除する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

  2. 削除するバックアップ ボルトをクリックします。

  3. [削除] をクリックします。

  4. 表示されたオーバーレイ ウィンドウで、バックアップ ボルトとそのコンテンツを削除することを確認します。

  5. [削除] をクリックします。

gcloud

  1. バックアップ Vault を削除します。

      gcloud backup-dr backup-vaults delete BACKUPVAULT_NAME \
      --project=PROJECT_ID \
      --location=LOCATION
    

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

    • BACKUPVAULT_NAME: Backup Vault の名前。
    • PROJECT_ID: Backup Vault が作成されるプロジェクトの名前。
    • LOCATION: Backup Vault のロケーション。

バックアップ Vault サービス エージェントとバックアップ/リカバリ アプライアンスへのアクセス権を付与する

作成されたバックアップ ボールトには、それぞれ一意のサービス エージェントがリンクされています。一部のリソースタイプでは、サービス エージェントが Backup and DR Service の代わりに行動するため、バックアップ Vault サービス エージェントがアクセスする必要があるプロジェクトに対する適切な権限を付与する必要があります。サービス エージェントは Google マネージド サービス アカウントです。詳細については、サービス エージェントをご覧ください。

Google Cloud VMware Engine、Oracle データベース、SQL Server データベースなど、一部のリソース タイプでは、Backup and DR バックアップ/リカバリ アプライアンスがバックアップ Vault でアクションを実行する必要があります。このような場合、バックアップ/リカバリ アプライアンスには、バックアップ Vault に対する適切な権限が必要です。また、ターゲット バックアップ ボルトには、UNRESTRICTED または WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA のアクセス制限を設定する必要があります。

サービス アカウントにロールを付与する

サービス エージェントのメールアドレスを確認したら、他のプリンシパルにロールを付与する場合と同様に、バックアップ ボルトのサービス エージェントにロールを付与できます。

バックアップ Vault が作成されたプロジェクトとは異なるプロジェクトにある Compute Engine VM インスタンスをバックアップするには、Compute Engine プロジェクト内のバックアップ Vault サービス エージェントに Backup and DR Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを付与する必要があります。ただし、バックアップ Vault が作成されたプロジェクトと同じプロジェクト内の Compute Engine VM インスタンスをバックアップする場合は、ロールの付与は必要ありません。

Compute Engine インスタンスを復元するには、復元プロジェクトの Backup and DR Compute Engine オペレータ(roles/backupdr.computeEngineOperator)IAM ロールを Backup Vault サービス エージェントに付与する必要があります。

サービス エージェントにロールを付与する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで、[バックアップ ボルト] ページに移動します。

    [バックアップ ボルト] に移動

  2. バックアップ Vault の名前をクリックして、サービス エージェントのメールアドレスをコピーします。

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

    IAM に移動

  4. [新しいプリンシパル] フィールドに、サービス エージェントのメールアドレスを入力します。

  5. [ロールを選択] リストから、リソースタイプに基づいて適切なロールを選択します。たとえば、バックアップ Vault が作成されたプロジェクトとは異なるプロジェクトにある Compute Engine インスタンスをバックアップするには、Backup and DR Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを選択します。

  6. [保存] をクリックします。

gcloud

  1. サービス エージェントにロールを付与します。

      gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:SERVICE_ACCOUNT \
      --role=ROLE
    

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

    • PROJECT_ID: プロジェクトの名前。
    • SERVICE_ACCOUNT: Backup Vault サービス エージェントのメールアドレス。例: my-service-account@my-project.iam.gserviceaccount.com
    • ROLE: リソース プロジェクトで付与する必要があるロール。たとえば、バックアップ Vault が作成されたプロジェクトとは異なるプロジェクトにある Compute Engine インスタンスをバックアップするには、Backup and DR Compute Engine オペレーター(roles/backupdr.computeEngineOperator)IAM ロールを選択します。

バックアップ/復元アプライアンスのサービス アカウントにロールを付与する

バックアップ/リカバリ アプライアンス プロジェクトから Backup Vault にアクセスできるのは、アプライアンス サービス アカウントに Backup Vault プロジェクトの Backup and DR Backup Vault アクセサー(roles/backupdr.backupvaultAccessor)IAM ロールが付与された後のみです。このロールがないと、バックアップ Vault にアクセスして、バックアップ作成を有効にする設定を完了できません。

バックアップ/リカバリ アプライアンスのサービス アカウントにロールを付与すると、管理コンソールを使用して、Google Cloud VMware Engine、Oracle データベース、SQL Server データベースをバックアップ ボルトにバックアップして復元できます。

バックアップ/復元アプライアンスのサービス アカウントにロールを付与する手順は次のとおりです。

  1. Google Cloud コンソールで、アプライアンスが作成された [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. サービス アカウントを取得する Compute Engine インスタンスをクリックします。

  3. [API と ID の管理] セクションで、[サービス アカウント] フィールドからサービス アカウントのメールアドレスをコピーします。

  4. Google Cloud コンソールで、バックアップ ボルト プロジェクトの IAM ロールに移動します。

    IAM に移動

  5. [アクセス権を付与] をクリックします。

  6. [新しいプリンシパル] フィールドに、アプライアンスのサービス アカウントのメールアドレスを入力します。

  7. [ロールを選択] リストから、[Backup and DR バックアップ ボルト アクセサー] ロールを選択します。

  8. 省略可: バックアップ/リカバリ アプライアンスが特定のバックアップ ボルトにのみアクセスできるように制限するには、[Backup and DR Backup Vault アクセサー] ロールの横にある IAM の条件を追加] をクリックします。

    1. [タイトル] フィールドに、条件の名前を入力します。
    2. [条件エディタ] タブをクリックします。

      • [式 CEL エディタ] フィールドに、次の式を入力します。

        resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults
        /{name}/") == ("BACKUPVAULT_NAME") || resource.name.extract("projects/PROJECT_ID/locations/LOCATION/backupVaults
        /{name}") == ("BACKUPVAULT_NAME") || resource.name.extract("operations/{op}") != ""
        

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

      • BACKUPVAULT_NAME: Backup Vault の名前。
      • PROJECT_ID: Backup Vault が作成されるプロジェクトの名前。
      • LOCATION: Backup Vault のロケーション。

        追加のバックアップ ボルトのアクセス権を追加するには、必要に応じて追加の「resource.name.startsWith」ステートメント(「||」OR 論理演算子を使用)を追加します。

        たとえば、次のステートメントは、testproject というプロジェクトの us-central1 ロケーションにある bv-test という名前のバックアップ ボルトと、user-bv1 という名前のバックアップ ボルトの両方を承認します。

        resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}/") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}") == ("bv-test") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}/") == ("user-bv1") || resource.name.extract("projects/testproject/locations/us-central1/backupVaults
        /{name}") == ("user-bv1") || resource.name.extract("operations/{op}") != ""
        
    3. [保存] をクリックします。

  9. [保存] をクリックします。

次のステップ