保存されたバックアップからクラスタを復元する

このページでは、保存されているバックアップから AlloyDB for PostgreSQL クラスタを復元する方法について説明します。この方法は、クラスタを復元期間よりも古い状態に復元する場合や、オンラインでなくなったクラスタを復元する場合に使用します。

始める前に

  • 使用している Google Cloud プロジェクトで、AlloyDB へのアクセスが有効になっている必要があります。
  • 使用している Google Cloud プロジェクトに、次のいずれかの IAM ロールが必要です。
    • roles/alloydb.admin(AlloyDB 管理者の事前定義 IAM ロール)
    • roles/owner(オーナーの基本 IAM ロール)
    • roles/editor(編集者の基本 IAM ロール)

    これらのロールを付与されていない場合は、組織管理者に連絡してアクセス権をリクエストしてください。

  • 使用している Google Cloud プロジェクトに、次のすべての IAM ロールが必要です。
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • compute.globalAddresses.create
    • compute.globalAddresses.list
    • servicenetworking.services.addPeering

    最小権限の原則に従ってこれらの権限を取得するには、管理者に roles/alloydb.admin(AlloyDB 管理者事前定義 IAM)ロールを付与するよう依頼してください。

バックアップからの復元

バックアップから復元する場合は、バックアップと同じリージョンに新しいクラスタを構成します。復元に使用するバックアップは、ソースクラスタとは異なるプロジェクトに存在できます。AlloyDB はクラスタを作成し、バックアップのデータをそのクラスタのデータ ストレージに復元します。次に、そのクラスタにインスタンスを作成してデータにアクセスします。

  1. バックアップを新しい AlloyDB クラスタに復元します。
  2. コンソール

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

      [バックアップ] に移動

    2. バックアップのリストで、復元するバックアップを見つけて、その行の [復元] をクリックします。
    3. [クラスタ ID] フィールドに、復元されたデータをホストするために作成されるクラスタの ID を入力します。
    4. [ネットワーク] リストで、新しく作成したクラスタからアクセスするネットワークを選択します。
    5. Google 管理の暗号化ではなく、顧客管理の暗号鍵(CMEK)を使用して新しいクラスタのデータを暗号化する場合は、次の追加手順を行います。

      1. [高度な暗号化オプション] をクリックします。
      2. [Cloud KMS 鍵] を選択します。
      3. [鍵のタイプ] で [Cloud KMS] を選択します。
      4. 表示されたメニューから顧客管理の暗号鍵を選択します。

        Google Cloud コンソールでは、このリストは新しいクラスタと同じ Google Cloud プロジェクトとリージョン内のキーに制限されます。このリストにない鍵を使用するには、[鍵が表示されない場合は、鍵のリソース ID を入力してください。] をクリックして、表示されたダイアログに鍵のリソース名を入力します。

        AlloyDB で CMEK を使用するには、追加の設定が必要です。詳細については、AlloyDB での CMEK の使用をご覧ください。

    6. [復元] をクリックします。

    gcloud

    gcloud CLI を使用するには、Google Cloud CLI をインストールして初期化するか、Cloud Shell を使用します。

    gcloud alloydb clusters restore コマンドを使用してクラスタを作成し、バックアップのデータをクラスタに復元します。

    gcloud alloydb clusters restore CLUSTER_ID \
        --backup=BACKUP_ID \
        --network=NETWORK \
        --region=REGION_ID \
        --project=PROJECT_ID\
        --async

    このコマンドはオペレーションを返します。そのステータスは gcloud alloydb operations describe コマンドを使用してクエリできます。

    gcloud alloydb operations describe OPERATION_ID \
        --region=REGION_ID \
        --project=PROJECT_ID
    • CLUSTER_ID: 作成するクラスタの ID。
    • BACKUP_ID: 新しいクラスタに復元するバックアップの ID。
      別のプロジェクトのバックアップから復元するには、次の形式でバックアップのフルパスに置き換えます。
      projects/SOURCE_PROJECT/locations/SOURCE_REGION/backups/SOURCE_BACKUP
    • NETWORK: 新しく作成されたクラスタからアクセスできるようにする VPC ネットワークの名前。
    • REGION_ID: ソース バックアップが保存され、新しいクラスタが作成されるリージョンの ID。
    • PROJECT_ID: 新しいクラスタがあるプロジェクトの ID。

    デフォルトの Google 管理の暗号化ではなく、顧客管理の暗号鍵(CMEK)を使用して新しいクラスタのデータを暗号化する場合は、次の追加引数を指定する必要があります。

    • --kms-key=KEY_ID: 使用する CMEK 鍵の ID。
    • --kms-keyring=KEYRING_ID: 鍵のキーリングの ID。
    • --kms-location=LOCATION_ID: キーリングのリージョンの ID。クラスタのリージョンと一致する必要があります。
    • --kms-project=PROJECT_ID: キーリングのプロジェクト ID。

    Private Service Connect が有効になっているクラスタを復元するには、--enable-private-service-connect フラグを追加します。

  3. AlloyDB がクラスタの作成を完了したら、クラスタのプライマリ インスタンスを作成します。

    新しいプライマリ インスタンスを作成するときに、サイズやフラグなどの構成を指定する必要があります。AlloyDB は、バックアップの一部としてインスタンス構成を保存しません。構成は、元のプライマリ インスタンスの構成と完全に一致している必要はありません。

    AlloyDB でインスタンスの作成が完了すると、そのインスタンスを使用して復元されたデータにアクセスできます。

  4. 必要に応じて、読み取りプール インスタンスを設定して、新しいクラスタの構成を完了します。

次のステップ