從備份還原叢集

本頁說明如何從備份還原 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) 角色。

從備份還原

從備份還原時,您需要設定新的叢集。您必須在與來源叢集相同的區域中建立這個新叢集,且新叢集可以位於不同的 Google Cloud 專案。AlloyDB 會建立叢集,並將備份資料還原至該叢集的資料儲存空間。接著,您可以在該叢集中建立執行個體,存取資料。

還原跨專案備份

如要將備份還原至其他專案,請按照「將備份還原至新叢集」一節中的 gcloud CLI 操作說明進行。將 --project 設為目的地專案。

請注意,目前無法在控制台/使用者介面中執行這項操作。

還原跨區域備份

如要將備份還原至其他區域,您必須在目標區域建立隨選備份。接著,您可以使用隨需備份,在目標區域中還原資料。

如要將備份資料還原到其他區域,請按照下列步驟操作:

  1. 在目標區域建立隨需備份
  2. 將按照需求執行的備份還原至目標區域中的新叢集

將備份還原至新的 AlloyDB 叢集

您可以使用Google Cloud 控制台或 Google Cloud CLI,將備份還原至新的 AlloyDB 叢集。

  1. 將備份還原至新的 AlloyDB 叢集。
  2. 控制台

    1. 前往 Google Cloud 控制台的「備份」頁面。

      前往「備份」頁面

    2. 在備份清單中,找出要還原的備份,然後按一下該列的「還原」
    3. 在「叢集 ID」欄位中,輸入要建立的叢集 ID,該叢集將用於代管還原的資料。
    4. 在「Network」(網路) 清單中,選取要讓新建立的叢集可從中存取的網路。
    5. 如要以客戶自行管理的加密金鑰 (CMEK) 加密新叢集的資料,而不是使用 Google 代管的加密金鑰,請按照下列額外步驟操作:

      1. 按一下「進階加密選項」
      2. 選取「Cloud KMS 金鑰」
      3. 在「金鑰類型」中,選取「Cloud KMS」
      4. 從顯示的選單中選取客戶自行管理的金鑰。

        Google Cloud 控制台會將這份清單限制為與新叢集位於相同 Google Cloud 專案和區域的鍵。如要使用不在清單中的金鑰,請按一下「找不到金鑰嗎?輸入金鑰資源名稱,然後在隨即顯示的對話方塊中輸入金鑰的資源名稱。

        請注意,在 AlloyDB 中使用 CMEK 時,需要進行一些額外設定。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。

    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:您希望新建立的叢集可從中存取的虛擬私有雲網路名稱。
    • REGION_ID:來源備份檔的儲存區域 ID,也是新叢集的建立區域。
    • PROJECT_ID:新叢集所在的專案 ID。

    如要使用客戶自行管理的加密金鑰 (CMEK) 加密新叢集的資料,而非預設的 Google 管理加密,請提供下列額外引數:

    • --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. 視需要設定讀取集區執行個體,完成新叢集的設定。

後續步驟