如要在 AlloyDB for PostgreSQL 中自訂資料保護保留時間範圍、加密設定和備份頻率,您可以調整預設的 14 天連續備份設定,或設定獨立的自動備份排程:
事前準備
- 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
- 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
roles/alloydb.admin(AlloyDB 管理員預先定義的 IAM 角色)roles/owner(擁有者基本 IAM 角色)roles/editor(編輯者基本 IAM 角色)
如果您不具備上述任一角色,請向組織管理員要求存取權。
管理持續備份及復原
本節說明可用於設定、停用或重新啟用叢集連續備份和復原功能的 Google Cloud CLI 或 Google Cloud 控制台指令。
設定持續備份
您可以設定叢集持續備份系統的復原時間範圍和加密設定。
如果縮短復原時間範圍,AlloyDB 會立即縮短可執行時間點復原的時間範圍。舉例來說,如果您將時間範圍從 14 天縮短為 7 天,就無法復原 7 天前的時間點。
如果增加視窗大小,時間點復原可用的時間範圍會即時增加,直到達到您指定的新限制。舉例來說,如果您將時間範圍從 7 天變更為 14 天,復原時間範圍的有效大小需要額外 7 天,才能增加到新的上限 (過去 14 天)。
設定方案後,持續備份與復原功能最多可能需要 24 小時,才能建立備份並啟用持續復原功能。如要加快備份作業,不想等待 24 小時,並避免資料遺失,可以在設定方案後執行隨選備份。
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
點選「資料保護」。
在「持續備份與復原政策」下方,點選「編輯」。
在「Recovery window (days)」(復原時間範圍 (天數)) 欄位中,輸入新的復原時間範圍大小。
如要使用特定客戶自行管理的加密金鑰 (CMEK),而非叢集的加密設定,來加密這個叢集的連續備份和資料變更記錄,請按照下列額外步驟操作:
按一下「進階加密選項」。
按一下「客戶自行管理的加密金鑰 (CMEK)」圓形按鈕。
按一下「Select a customer-managed key」(選取客戶自行管理的金鑰) 清單,然後選取金鑰。
按一下「Update」。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
如要設定叢集的持續備份和復原功能,請使用 gcloud alloydb clusters
update 指令。
gcloud alloydb clusters update CLUSTER_ID \
--continuous-backup-recovery-window-days=WINDOW_LENGTH \
--region=REGION_ID \
--project=PROJECT_ID更改下列內容:
CLUSTER_ID:叢集 ID。WINDOW_LENGTH:這個叢集的連續備份和復原時間範圍長度,以天為單位。這個值必須介於1至35之間 (含)。這個引數的值會定義連續備份和復原作業的下列兩個方面:
相較於目前時間,您可根據連續備份執行時間點復原的最早時間。
AlloyDB 在儲存空間中保留連續備份和資料變更記錄的時間長度。為確保您可以在復原期間內還原至任何時間點,AlloyDB 會將備份和記錄檔保留的時間,延長至比指定值多一天。
這個引數為選用項目。如未提供,AlloyDB 會將復原時間範圍設為 14 天。
REGION_ID:叢集所在區域的 ID。PROJECT_ID:叢集所在專案的 ID。
如要使用特定客戶自行管理的加密金鑰 (CMEK),而非叢集的加密設定,來加密這個叢集的連續備份和資料變更記錄,請提供下列額外引數:
--continuous-backup-encryption-key=KEY_ID:要使用的 CMEK 金鑰 ID。--continuous-backup-encryption-key-keyring=KEYRING_ID:金鑰的金鑰環 ID。--continuous-backup-encryption-key-location=LOCATION_ID:金鑰環所在區域的 ID。請注意,您指定的區域必須與叢集區域相符。--continuous-backup-encryption-key-project=PROJECT_ID:金鑰環的專案 ID。
如要搭配使用 CMEK 和 AlloyDB,您必須完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。
停用持續備份與復原功能
停用持續備份功能後,叢集就無法使用時間點復原功能。如果重新啟用連續備份,則可再次使用,詳情請參閱下一節。
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
按一下「資料保護」分頁標籤。
在「持續備份與復原政策」下方,點選「編輯」。
取消勾選「Google 代管的持續資料保護機制」核取方塊。
按一下「Update」。
gcloud
如要停用叢集的持續備份與復原功能,請使用 gcloud alloydb clusters
update 指令。
gcloud alloydb clusters update CLUSTER_ID \
--no-enable-continuous-backup \
--region=REGION_ID \
--project=PROJECT_ID更改下列內容:
CLUSTER_ID:叢集 ID。REGION_ID:叢集所在區域的 ID。PROJECT_ID:叢集所在專案的 ID。### 啟用持續備份
如果停用後重新啟用持續備份,時間點復原功能也會再次可用。復原時間範圍會從 AlloyDB 建立的第一個後續備份開始。如要盡快啟用時間點復原功能,請在重新啟用持續備份後,立即建立隨選備份。否則,復原時間範圍會從 AlloyDB 的下一次每日備份開始。
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
點選「資料保護」。
在「持續備份與復原政策」下方,點選「編輯」。
勾選「Google-managed continuous data protection」(Google 代管的持續資料保護機制) 核取方塊。
按一下「Update」。
gcloud
如要在停用叢集的持續備份設定後重新啟用,請按照設定持續備份的相同程序操作,並在 gcloud CLI 指令中新增 --enable-continuous-backup 引數:
gcloud alloydb clusters update CLUSTER_ID \
--enable-continuous-backup \
--continuous-backup-recovery-window-days=WINDOW_LENGTH \
--region=REGION_ID \
--project=PROJECT_ID更改下列內容:
CLUSTER_ID:叢集 ID。WINDOW_LENGTH:這個叢集的連續備份和復原時間範圍長度,以天為單位。這個值必須介於1至35之間 (含)。這個引數的值會定義連續備份和復原作業的下列兩個方面:
相較於目前時間,您可根據連續備份執行時間點復原的最早時間。
AlloyDB 在儲存空間中保留連續備份和資料變更記錄的時間長度。為確保您可以在復原期間內還原至任何時間點,AlloyDB 會將備份和記錄檔保留的時間,延長至比指定值多一天。
這個引數為選用項目。如未提供,AlloyDB 會將復原時間範圍設為 14 天。
REGION_ID:叢集所在區域的 ID。PROJECT_ID:叢集所在專案的 ID。
如要使用特定客戶自行管理的加密金鑰 (CMEK),而非叢集的加密設定,來加密這個叢集的連續備份和資料變更記錄,請提供下列額外引數:
--continuous-backup-encryption-key=KEY_ID:要使用的 CMEK 金鑰 ID。--continuous-backup-encryption-key-keyring=KEYRING_ID:金鑰的金鑰環 ID。--continuous-backup-encryption-key-location=LOCATION_ID:金鑰環所在區域的 ID。請注意,您指定的區域必須與叢集區域相符。--continuous-backup-encryption-key-project=PROJECT_ID:金鑰環的專案 ID。
如要搭配使用 CMEK 和 AlloyDB,您必須完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。
設定其他自動備份
本節說明如何在叢集上啟用或停用自動備份排程,該排程會獨立於持續備份系統運作。包括設定 AlloyDB 執行這些額外自動備份的頻率,以及保留時間。
自動備份設定屬性
每個 AlloyDB 叢集都可以有一項可自訂的自動備份設定,其中包含下列屬性:
備份作業排程。您可以設定一週中的特定幾天,以及這些日子的特定時段。
資料保留政策,以保留備份的時間長度或數量表示。根據預設,AlloyDB 會保留自動備份 14 天。
超過保留政策期限的備份會自動刪除。詳情請參閱「備份保留和刪除」。
AlloyDB 在取消未完成的自動備份作業前,會等待的時間長度。AlloyDB 的預設逾時時間為一小時。
資料加密偏好設定:叢集的加密設定 (Google 代管加密或叢集的客戶自行管理的加密金鑰 (CMEK)),或您提供的特定 CMEK。
啟用及設定自動備份
控制台
Google Cloud 控制台可讓您啟用及停用自動備份,但無法指定備份排程或其他設定。如要執行這項操作,請改用 gcloud CLI。
如果叢集未設定自動備份功能,但您啟用了這項功能,AlloyDB 會使用叢集的加密設定套用預設設定,排定每天自動備份一次,保留期限為 14 天。
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
點選「資料保護」。
在「自動備份政策」下方,按一下「編輯」。
勾選「自動備份」核取方塊。
按一下「Update」。
gcloud
如要透過 gcloud CLI 啟用自動備份功能,必須指定備份排程。其他設定選項則為選用。對於未明確設定的設定選項,AlloyDB 會套用上一節列出的預設值。
每次執行這個指令來定義新的自動備份設定時,AlloyDB 都會以新設定完全取代叢集的目前設定。
如要啟用自動備份,而不指定完整設定,請使用 Google Cloud 控制台。
使用 gcloud alloydb clusters update 指令,定義自動建立備份的時間表:
gcloud alloydb clusters update CLUSTER_ID \
--automated-backup-days-of-week=DAYS_LIST \
--automated-backup-start-times=UTC_TIMES_LIST \
--region=REGION_ID \
--project=PROJECT_ID更改下列內容:
CLUSTER_ID:要定義排程的叢集 ID。DAYS_LIST:以半形逗號分隔的清單,列出一或多個要執行自動備份作業的日子。有效值為MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY和SUNDAY。UTC_TIMES_LIST:以半形逗號分隔的清單,列出一或多個時間,指定要在指定日期開始執行自動備份作業。請以世界標準時間 24 小時制指定時間,格式為HH:00。REGION_ID:叢集所在區域的 ID。PROJECT_ID:叢集所在專案的 ID。
以下範例設定叢集在每週一和週四午夜 (世界標準時間) 自動備份:
gcloud alloydb clusters update my-cluster \
--automated-backup-days-of-week=MONDAY,THURSDAY \
--automated-backup-start-times=00:00 \
--region=us-central1 \
--project=my-project如要使用特定 CMEK (而非叢集的加密設定) 加密排定的備份,請提供下列額外引數:
--automated-backup-encryption-key=KEY_ID:要使用的 CMEK 金鑰 ID。--automated-backup-encryption-key-keyring=KEYRING_ID:金鑰的金鑰環 ID。--automated-backup-encryption-key-location=LOCATION_ID:該金鑰環所在區域的 ID。請注意,這個值必須與叢集的區域相符。--automated-backup-encryption-key-project=PROJECT_ID:金鑰環的專案 ID。
如要搭配使用 CMEK 和 AlloyDB,您必須完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。
您也可以指定自動備份保留政策,依據時間長度或要保留的備份數量來設定。如要這麼做,請加入下列任一引數:
如要讓 AlloyDB 保留所有自動備份一段時間,請使用
--automated-backup-retention-period=DURATION。將
DURATION替換為時間長度字串,如gcloud topic datetimes所述。最長可指定一年。如要讓 AlloyDB 改為保留特定數量的備份,請使用
--automated-backup-retention-count=COUNT。將
COUNT替換為 AlloyDB 應保留的自動備份數量,最多可保留一年。
停用自動備份
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
點選「資料保護」。
在「自動備份政策」下方,按一下「編輯」。
取消勾選「自動備份」核取方塊。
按一下「Update」。
gcloud
如要停用自動備份功能,請使用 gcloud alloydb clusters update 指令。
gcloud alloydb clusters update CLUSTER_ID \
--disable-automated-backup \
--region=REGION_ID \
--project=PROJECT_ID更改下列內容:
CLUSTER_ID:要停用自動備份功能的叢集 ID。REGION_ID:叢集所在區域的 ID。PROJECT_ID:叢集所在專案的 ID。
查看備份方案
您可以查看叢集自動或連續備份方案的詳細資料。
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
點選「資料保護」。
如要查看叢集備份方案的詳細資料,請參閱「持續備份與復原政策」和「自動備份政策」表格。
gcloud
使用
gcloud alloydb clusters describe指令顯示叢集的詳細資料。continuousBackupConfig和continuousBackupInfo鍵會匯總叢集的持續備份和復原設定。包括是否啟用持續備份、復原時間範圍大小,以及加密設定。continuousBackupInfo鍵也會顯示持續備份排程:每天一律備份一次。automatedBackupPolicy鍵 (如有) 會匯總叢集的自動備份設定。包括是否啟用自動備份,以及備份排程和加密設定。
舉例來說,下列 gcloud alloydb clusters
describe 指令輸出內容顯示叢集已啟用自動備份功能,並在每週一和週四凌晨 1 點 (世界標準時間) 左右建立備份。此外,這個執行個體也啟用了持續備份功能,復原時間範圍為 10 天。
automatedBackupPolicy:
enabled: true
location: us-central1
weeklySchedule:
daysOfWeek:
- MONDAY
- THURSDAY
startTimes:
- hours: 1
clusterType: PRIMARY
continuousBackupConfig:
enabled: true
recoveryWindowDays: 10
continuousBackupInfo:
encryptionInfo:
encryptionType: GOOGLE_DEFAULT_ENCRYPTION
schedule:
- MONDAY
- TUESDAY
- WEDNESDAY
- THURSDAY
- FRIDAY
- SATURDAY
- SUNDAY
clusterType: PRIMARY
createTime: '2023-01-23T02:42:56.953258476Z'
databaseVersion: POSTGRES_14
encryptionInfo:
encryptionType: GOOGLE_DEFAULT_ENCRYPTION
name: [...]
reconciling: false
state: READY
uid: [...]
updateTime: '2023-02-06T19:08:57.367222025Z'