本頁說明如何將叢集還原至最近的過去狀態。建議將資料還原至 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 可讓您從特定近期的時間範圍內,還原任何時間點的有效叢集資料。
可用的 PITR 視窗
您可以從下列兩個時間點中較晚的時間開始,還原任意時間點的資料:
- 復原時間範圍的上限所代表的時間點。舉例來說,如果復原時間範圍為 14 天,則這個時間點是 14 天前。 
- 自上次啟用連續備份以來,最舊備份的建立時間。如果您建立叢集時已啟用持續備份,且之後未停用這項功能,那麼這個時間點就會成為叢集最舊備份的建立時間。 
如果停用後重新啟用持續備份功能,您或 AlloyDB 必須先建立叢集的第一個新備份,才能執行時間點復原。這可以是隨選備份,也可以是啟用持續備份後,AlloyDB 每天執行的第一次備份。如要進一步瞭解備份類型,請參閱「資料備份與復原總覽」。
執行時間點還原
- 使用 Google Cloud 控制台或 Google Cloud CLI 執行還原作業。 - 控制台- 前往「Clusters」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
- 在「從某個時間點還原」下方,按一下「還原」。 
- 在「目標時間」欄位中,輸入要還原的日期和時間。 
- 在「叢集 ID」欄位中,輸入新叢集的名稱。 
- 在「網路」欄位中,選取新叢集要使用的虛擬私有雲網路。 
- 如要使用客戶自行管理的加密金鑰 (CMEK),而非預設的 Google 代管加密金鑰,加密這個叢集的連續備份和資料變更記錄,請按照下列額外步驟操作: - 按一下「進階加密選項」。 
- 按一下「客戶自行管理的加密金鑰 (CMEK)」單選按鈕。 
- 按一下「選取客戶代管的金鑰」清單,然後選取金鑰。 
 
- 按一下「還原」。 
 - gcloud- 使用 - gcloud alloydb clusters restore指令,指定叢集和時間戳記。請注意,與從備份還原不同,時間點復原作業需要原始叢集仍存在。您無法對已刪除的叢集執行這類還原作業。- gcloud alloydb clusters restore NEW_CLUSTER \ --source-cluster=SOURCE_CLUSTER \ --point-in-time=TIMESTAMP \ --region=REGION- 這項指令會傳回作業,您可以使用 - gcloud alloydb operations describe指令查詢作業狀態。- gcloud alloydb operations describe OPERATION_ID \ --region=REGION- 更改下列內容: - NEW_CLUSTER:新叢集使用的 ID。
- SOURCE_CLUSTER:要從中復原資料的叢集 ID。
 如要從其他專案中的叢集還原,請將
 替換為完整叢集路徑,格式如下:
 - projects/SOURCE_PROJECT/locations/SOURCE_REGION/clusters/SOURCE_CLUSTER
- TIMESTAMP:以 RFC 3339 格式表示要從哪個時間點還原資料,例如- 2012-11-15T16:19:00.094Z。您可以指定小至微秒的分數秒。- 請注意,這個時間戳記必須在您建立叢集時指定的保留期限內。 
- REGION:包含來源叢集的區域,也是 AlloyDB 建立新叢集的區域。例如:- us-central1。
- 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標記。
- AlloyDB 建立叢集後,請為該叢集建立主要執行個體。您可以使用該執行個體存取還原的資料。請注意,新執行個體的設定不一定要與原始主要執行個體完全一致。 
- 選用:建立讀取集區執行個體。 
還原作業完成後,您就可以開始使用叢集。