本頁說明如何將叢集還原至最近的過去狀態。建議將資料還原至 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 建立叢集後,請為該叢集建立主要執行個體。您可以使用該執行個體存取還原的資料。請注意,新執行個體的設定不一定要與原始主要執行個體完全一致。
選用:建立讀取集區執行個體。
還原作業完成後,您就可以開始使用叢集。