從備份還原叢集

如要將 AlloyDB for PostgreSQL 叢集復原至備份時的狀態 (即使原始叢集已刪除),您可以從儲存的備份還原新的叢集。

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
  • 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)

    如果您不具備上述任一角色,請向組織管理員要求存取權。

  • 您必須在使用的 Google Cloud 專案中,具備下列所有 Identity and Access Management (IAM) 權限:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • compute.globalAddresses.create
    • compute.globalAddresses.list
    • servicenetworking.services.addPeering

    如要取得這些權限,同時遵循最小權限原則,請要求管理員授予您 AlloyDB 管理員 (roles/alloydb.admin) 預先定義的 IAM 角色,其中包含必要的 alloydb.clusters.restore 和網路權限。

從備份還原

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

還原跨專案備份

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

Google Cloud 控制台不支援跨專案備份還原。

還原跨區域備份

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

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

  1. 在目標區域建立隨選備份。
  2. 在目標區域中,將隨選備份還原至新叢集。

將備份還原至新的 AlloyDB 叢集

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

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

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

      前往「備份」頁面

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

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

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

        請注意,如要搭配使用 CMEK 與 AlloyDB,必須完成一些額外設定。詳情請參閱「搭配使用 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. 視需要設定讀取集區執行個體,完成新叢集的設定。

後續步驟