保存済みのバックアップからクラスタを復元する

このページでは、保存済みのバックアップから 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

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

バックアップから復元する

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

クロスリージョン バックアップを復元する

バックアップを別のリージョンに復元するには、ターゲット リージョンでオンデマンド バックアップを作成する必要があります。その後、ターゲット リージョンでオンデマンド バックアップを復元に使用できます。

バックアップを別のリージョンに復元する手順は次のとおりです。

  1. ターゲット リージョンでオンデマンド バックアップを作成します。
  2. ターゲット リージョンでオンデマンド バックアップを新しいクラスタに復元します。

バックアップを新しい AlloyDB クラスタに復元する

Google Cloud コンソールまたは Google Cloud CLI を使用して、バックアップを新しい 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 プロジェクトとリージョン内の鍵のみがリストに表示されます。このリストにない鍵を使用するには、[鍵が表示されない場合鍵のリソース名を入力] をクリックして、表示されたダイアログに鍵のリソース名を入力します。

        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. 必要に応じて、読み取りプール インスタンスを設定して、新しいクラスタの構成を完了します。

次のステップ