根據預設,AlloyDB for PostgreSQL 會使用 Google 管理的加密方式,持續備份資料,並提供 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」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
- 在「持續備份與復原政策」下方,點選「編輯」。 
- 在「可還原的時間範圍 (以天為單位)」欄位中,輸入新的可還原時間範圍大小。 
- 如要使用特定客戶自行管理的加密金鑰 (CMEK),而非叢集的加密設定,加密這個叢集的連續備份和資料變更記錄,請按照下列額外步驟操作: - 按一下「進階加密選項」。 - 按一下「客戶自行管理的加密金鑰 (CMEK)」單選按鈕。 
- 按一下「選取客戶管理的金鑰」清單,然後選取金鑰。 
 
 
- 按一下「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。
 - 如要在 AlloyDB 中使用 CMEK,您需要完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。 
停用持續備份與復原功能
停用持續備份功能後,叢集就無法使用時間點復原功能。如要再次使用這項功能,請按照下一節的說明重新啟用連續備份。
控制台
- 前往「Clusters」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」分頁標籤。 
- 在「持續備份與復原政策」下方,點選「編輯」。 
- 取消勾選「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」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
- 在「持續備份與復原政策」下方,點選「編輯」。 
- 勾選「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。
 - 如要在 AlloyDB 中使用 CMEK,您需要完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。 
設定其他自動備份
本節說明如何啟用或停用叢集的自動備份排程,這項功能與持續備份系統無關。包括設定 AlloyDB 建立這些額外自動備份的頻率,以及保留時間長度。
自動備份設定屬性
每個 AlloyDB 叢集都可以有一項可自訂的自動備份設定,包括下列屬性:
- 備份時間表。您可以將這項設定設為每週特定幾天,以及這些日子的特定時段。 
- 保留政策,可表示為備份資料的保留時間長度,或保留的備份數量。根據預設,AlloyDB 會保留自動備份 14 天。 - 系統會自動刪除備份時間早於保留政策的備份資料。詳情請參閱「備份保留和刪除」。 
- AlloyDB 在取消不完整的自動備份嘗試前,會等待的時間長度。AlloyDB 預設逾時時間為一小時。 
- 資料加密偏好設定:預設的 Google 代管加密,或您提供的客戶自行管理的加密金鑰 (CMEK)。 
啟用及設定自動備份
控制台
您可以在 Google Cloud 控制台中啟用及停用自動備份功能,但無法指定備份時間表或其他設定。如要執行這項操作,請改用 gcloud CLI。
如果您在未設定這項功能的叢集上啟用自動備份,AlloyDB 會套用預設設定,每天排定一次自動備份,保留期限為 14 天,並使用 Google 管理的加密機制。
- 前往「Clusters」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
- 在「自動備份政策」下方,按一下「編輯」。 
- 勾選「自動備份」核取方塊。 
- 按一下「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。
這個範例會將叢集設為每週一和週四的 UTC 午夜自動備份:
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 金鑰加密排定的備份作業,而非預設的 Google 代管加密,請提供下列額外引數:
- --automated-backup-encryption-key=KEY_ID:要使用的 CMEK 金鑰 ID。
- --automated-backup-encryption-keyring=KEYRING_ID:金鑰環的金鑰 ID。
- --automated-backup-encryption-location=LOCATION_ID:該金鑰環區域的 ID。請注意,這必須與叢集的區域相符。
- --automated-backup-encryption-project=PROJECT_ID:金鑰環的專案 ID。
如要在 AlloyDB 中使用 CMEK,您需要完成一些額外的設定步驟。詳情請參閱「搭配使用 CMEK 與 AlloyDB」。
您也可以根據要保留的備份資料數量或時間長度,指定自動備份資料保留政策。如要執行這項操作,請加入下列任一引數:
- 如要讓 AlloyDB 在一段時間內保留所有自動備份,請使用 - --automated-backup-retention-period=DURATION。- 請將 - DURATION替換為時間長度字串,如- gcloud topic datetimes所述。您最多可以指定一年的時間長度。
- 如要讓 AlloyDB 保留特定數量的備份,請使用 - --automated-backup-retention-count=COUNT。- 將 - COUNT替換為 AlloyDB 應保留的自動備份數量,最多可保留一年。
停用自動備份功能
控制台
- 前往「Clusters」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
- 在「自動備份政策」下方,按一下「編輯」。 
- 取消勾選「Automate backups」(自動備份) 核取方塊。 
- 按一下「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」(叢集) 頁面。 
- 在「資源名稱」欄中,按一下叢集。 
- 按一下「資料保護」。 
如要查看叢集備份方案的詳細資料,請參閱「持續備份與復原政策」和「自動備份政策」表格。
gcloud
- 使用 - gcloud alloydb clusters describe指令顯示叢集的詳細資料。
- continuousBackupConfig和- continuousBackupInfo鍵會彙整叢集的持續備份和復原設定。包括是否啟用持續備份、復原時間範圍大小,以及加密設定。- continuousBackupInfo鍵也會顯示持續備份排程:每天備份一次。
- 如果有的話, - automatedBackupPolicy鍵會摘要說明叢集的自動備份設定。包括是否啟用自動備份,以及顯示備份排程和加密設定。
舉例來說,下列 gcloud alloydb clusters
describe 指令的輸出內容顯示叢集已啟用自動備份功能,且系統會在每週一和週四的 UTC 時間凌晨 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'