Cloud SQL 備份簡介

本頁面說明 Cloud SQL 執行個體的備份作業運作方式,以及可供選擇的備份選項。如要瞭解如何從備份檔將資料還原至執行個體,請參閱還原執行個體總覽

Cloud SQL 可讓您視需要備份執行個體,或使用備份排程自動備份。Cloud SQL 備份是累加備份,可協助您將遺失的資料還原至 Cloud SQL 執行個體。備份功能可讓您:

  • 如果執行個體發生問題,請將執行個體還原至先前的狀態。
  • 使用不同區域或可用區的備份建立新執行個體,設定災難復原 (DR)。
  • 使用備份建立多個執行個體,協助開發、測試和遷移作業。

Cloud SQL 備份作業預設也會使用 Google 代管或客戶自行管理的加密金鑰 (CMEK) 加密。

如要保留這些備份,請定義執行個體的備份保留設定。 保留設定會因執行個體的 Cloud SQL 版本備份選項而異。此外,您也可以在刪除執行個體後保留備份,以便在刪除後還原執行個體。

Cloud SQL 提供兩種備份服務選項,可供您管理備份:

  • 進階級備份:備份作業由集中式備份管理專案代管及儲存,該專案採用備份和災難復原服務,並提供強制保留、精細排程和監控功能。
  • 標準備份:備份作業會在與 Cloud SQL 執行個體相同的專案中建立、管理及儲存。

如要進一步瞭解各備份選項及其功能,請參閱「備份選項」。

備份類型

Cloud SQL 會為 Cloud SQL 執行個體執行隨選或自動備份。

隨選備份

隨選備份是指隨時可建立的備份。這在某些情況下非常實用,例如您即將要在資料庫上執行具有風險性的作業時,或是您需要備份但不想等到備份期間再執行備份作業。不論執行個體是否已啟用自動備份功能,您都可以為任何執行個體建立隨選備份。

自動備份

系統會按照排定的頻率 (例如每小時、每天、每週或每月) 自動備份。排定的頻率取決於執行個體的備份選項。備份作業會在備份期間開始。 Cloud SQL 建議您盡可能在執行個體活動較少時安排備份作業。

建議您不要手動刪除任何自動備份,因為這些備份是時間點復原功能運作的必要條件。

在備份時間範圍內,執行個體執行時,系統會根據排定的頻率定期進行自動備份。執行個體停止後,系統會再進行一次自動備份,確保執行個體停止前的所有變更都已備份。自動備份保留時間取決於您為執行個體選擇備份選項時設定的保留政策。

刪除執行個體前建立最終備份

您可以在刪除 Cloud SQL 執行個體前,先建立最終備份。這項功能有助於在刪除執行個體後保留執行個體資料。您之後可以使用最終備份建立執行個體,或是還原至現有執行個體。如要進一步瞭解如何存取及查看最終備份的詳細資料,請參閱「查看最終備份清單」。

根據預設,Cloud SQL 會將最終備份保留 30 天。 不過,您可以自訂 Cloud SQL 保留備份的時間長度。 標準備份的保留期限為 1 天到 365 天,強化備份的保留期限則為 1 天到 99 年。只要備份可用,您就可以從備份還原執行個體。最終備份的費用與其他備份類似,會根據保留天數計費。

刪除執行個體後保留備份

保留的備份是指執行個體刪除後,Cloud SQL 保留的備份。這些備份包括執行個體運作時建立的隨選備份和自動備份。刪除執行個體後,這些備份檔會與執行個體脫鉤,並儲存在專案層級。保留的備份與最終備份不同,最終備份是指刪除執行個體時執行的最後一次備份。

您可以更新這些備份的說明,方便在 Google Cloud 專案中管理備份。您可以隨時將保留的備份還原至新的或現有的 Cloud SQL 執行個體

這類備份的保留期限取決於備份類型,且執行個體刪除後就無法變更。如果是標準備份,隨選備份會無限期保留,直到手動刪除備份,或是刪除包含備份的專案為止。如果是進階備份,按照需求執行的備份會根據所選保留規則保留。執行個體刪除後,系統會以每天一個備份的形式,自動刪除備份。系統會根據刪除前執行個體的保留設定定義滾動期,視執行個體選取的備份選項而定,滾動期可能介於 1 天到 99 年之間。舉例來說,如果執行個體的自動備份保留設定為 7,則系統會在執行個體刪除 7 天後,刪除最新的自動備份。

您隨時可以手動刪除保留的備份。不過,刪除保留的備份後,就無法復原。

由於 Cloud SQL 刪除執行個體後,執行個體名稱仍可使用,因此系統會將保留的備份檔儲存在您的 Google Cloud 專案中,並加上名為 instance_deletion_time 的欄位。這個欄位可讓您判斷特定備份屬於即時或已刪除的執行個體。你也可以更新備份的說明,方便管理備份。

交易記錄檔保留期

交易記錄檔保留期限以天為單位。如果是 Cloud SQL Enterprise Plus 版執行個體,範圍為 1 至 35 天,預設為 14 天。如果是 Cloud SQL Enterprise 版本的執行個體,範圍為 1 到 7 天,預設為 7 天。無論是 Cloud SQL Enterprise Plus 版或 Cloud SQL Enterprise 版執行個體,交易記錄保留設定都必須低於備份保留設定。

備用資源的備份

備份功能不適用於副本執行個體。由於副本執行個體是主要執行個體的副本,因此備份作業會與主要執行個體一併進行。如果備用資源執行個體因容錯移轉或切換而升級為獨立執行個體,該執行個體就會啟用備份功能,並需要自己的備份設定。升級後的副本不會沿用主要執行個體的備份設定,也無法存取主要執行個體的備份。

備份選項

Cloud SQL 提供兩種備份服務選項,可管理執行個體的備份:標準進階備份。您可以根據執行個體的需求,選擇標準或進階備份選項。雖然執行個體無法同時使用這兩種備份選項,但 Cloud SQL 可讓您視需要切換備份選項。

下表概略說明各備份選項提供的功能:

功能 標準備份 進階備份
backup vault -
鎖定強制保留期限 -
刪除專案後保留備份 -
跨專案集中管理備份 -
備份保留期限 1 年 無限制
自動備份時間表 每日 每小時、每日、每週、每月、每年
運用記錄執行時間點復原
跨區域備份與還原。 -
隨選備份
多區域備份 -
刪除執行個體後保留所有備份
刪除執行個體時建立最終備份
支援 CMEK -

如要進一步瞭解這些備份選項,請參閱「標準備份」和「進階備份」。

進階備份

透過進階級備份,您可以使用備份和 DR 服務,在一個中央備份專案中,管理及儲存各種專案的 Cloud SQL 執行個體備份。備份與 DR 服務提供集中式管理、監控和報表功能,方便您集中管理日常備份作業。備份會儲存在 backup vault 中,這是由 Google 代管的安全隔離儲存資源,由備份和災難復原服務管理,備份方案則管理備份和還原設定。這類備份資料無法變更且難以刪除,與來源專案無關。如要進一步瞭解備份和災難復原服務的備份作業,請參閱「備份和災難復原服務總覽」。

進階級備份功能會使用備份和災難復原服務,建立集中式備份專案,方便您管理 Cloud SQL 執行個體的備份方案備份保存庫。這些方案可以連結至多個專案。

將備份方案附加至 Cloud SQL 執行個體時,現有的備份和還原設定會遭到備份方案覆寫。含有備份和還原設定的方案會儲存在集中備份專案中,而方案在 Cloud SQL 執行個體上啟用時建立的任何備份,都會儲存在備份專案的 backup vault 中。

由於備份和災難復原服務是在獨立 Google Cloud 專案中管理,因此刪除來源或工作負載專案時,備份不會受到影響。角色和職責由 Backup and DR Admin 管理,與 Cloud SQL Admin 角色和職責不同。

您可以在刪除執行個體後保留備份,或在刪除前建立最終備份。所有透過強化備份建立的備份,都可用於還原執行個體 (無論執行個體是否處於運作狀態,或已遭刪除)。

備份保留機制

使用強化備份時,您最多可以在備份保存庫中保留備份 99 年。備份保存庫的最短強制保留期限為 1 天至 99 年。

備份儲存空間

備份會儲存在名為「備份保存庫」的集中位置。backup vault 是由備份和災難復原服務管理的獨立安全儲存空間,可讓您將備份保留 1 天到 99 年。詳情請參閱「備份保存庫」。

備份費用

在強化備份中,備份費用取決於儲存在備份儲存空間中的備份總大小。這些備份是根據執行個體相關聯備份方案中的備份設定建立。總費用由備份和災難復原服務計算,並以備份和災難復原服務的價格為準。

限制

使用強化備份功能時,請注意下列限制:

  • 備份保存庫和 Cloud SQL 執行個體必須位於相同區域。
  • 如要變更執行個體相關聯的備份方案,請先刪除現有備份方案關聯,然後關聯新的備份方案,將執行個體變更為標準備份。
  • 使用強化備份的執行個體無法建立災難復原 (DR) 備用資源
  • 如果執行個體有災難復原 (DR) 備用資源,就無法為執行個體啟用強化備份。
  • 您無法將備份方案與備用執行個體建立關聯。
  • 如果執行個體使用強化備份,就無法將執行個體降級為副本。

標準備份

標準備份是由 Cloud SQL 管理的備份,與 Cloud SQL 執行個體相關聯。Cloud SQL 備份是增量備份,只包含上次備份後異動的資料。根據預設,Cloud SQL 會為每個 Cloud SQL Enterprise 版本執行個體保留 7 個自動備份,為每個 Cloud SQL Enterprise Plus 版本執行個體保留 15 個自動備份,此外也會保留隨選備份。您可以設定要保留的自動備份數量 (1 到 365 份)。

刪除執行個體時,您可以保留所有備份,並建立最終資料備份。這樣一來,您就能重新建立刪除的任何執行個體。不過,如果您未保留備份,或是在刪除執行個體前未建立最終備份,Cloud SQL 就會自動刪除所有執行個體備份。

備份保留機制

系統不會自動刪除隨選備份。它們會一直存在,直到您手動刪除隨選備份或刪除執行個體為止。由於系統不會自動刪除隨選備份,因此可能會長期影響帳單費用。

您可以在執行個體的備份設定中設定保留期限,自動備份最多可保留 365 天。交易記錄是以天數計算,但自動備份不保證會在一天內完成。

如果您在刪除執行個體後,為隨選和自動備份啟用備份保留功能,這些備份就會套用相同的保留設定。自動備份的保留期限為 1 到 365 天,隨選備份則會無限期保留。詳情請參閱「刪除執行個體後保留備份」。

系統每天會清除記錄一次,而非持續清除。如果記錄保留天數與備份數量相同,可能會導致記錄保留時間不足。舉例來說,如果將記錄檔保留期限設為七天,備份保留期限設為七次備份,則系統會保留六到七天的記錄檔。

建議您將備份次數設為至少比記錄檔保留天數多一天,以確保記錄檔保留天數符合指定天數下限。

如要進一步瞭解如何為新執行個體或現有執行個體啟用保留備份,請參閱「管理保留備份」。如要進一步瞭解如何從保留的備份還原執行個體,請參閱「從保留的備份還原」。

備份儲存空間

在單一區域設定中,備份會複製到區域內的不同可用區。在多區域設定中,建議備份與執行個體位於同一區域,以盡量縮短延遲時間,並避免因機構政策或位置限制而導致備份失敗。

無論是高可用性 (HA) 或非 HA 設定,執行個體的備份都會儲存在相同位置。在 HA 設定中,如果發生容錯移轉或切換至次要執行個體的情況,您仍可存取執行個體的備份。

您可以按照下列步驟定義備份位置:

  • Cloud SQL 會根據原始執行個體的位置選取預設位置
  • 自訂位置:不想使用預設位置時,可選擇自訂位置。
預設備份位置

如果您未指定儲存位置,備份會儲存在地理位置上最接近 Cloud SQL 執行個體位置的多地區中。舉例來說,如果您的 Cloud SQL 執行個體位於 us-central1,系統預設會將備份儲存在 us 多區域。不過,諸如 australia-southeast1 等預設位置不在多地區範圍內。最近的多地區為 asia

自訂備份位置

Cloud SQL 可讓您為備份資料選取自訂位置。如果貴機構必須遵守資料落地法規,規定備份資料只能存放在特定地理範圍內,這項功能就非常實用。如果貴機構有這類需求,可能使用資源位置限制機構政策。如果嘗試使用不符合政策的地理位置,系統會在「備份」頁面顯示警示。如果看到這則快訊,請將備份位置變更為政策允許的位置。

選取備份的自訂位置時,請注意下列事項:

  • 費用:執行個體中的某個叢集可能位於費用較低的區域。
  • 與應用程式伺服器的距離:建議您盡可能將備份資料儲存在鄰近服務應用程式的位置。
  • 儲存空間用量:備份檔案會越來越大,因此您需要足夠的儲存空間。視工作負載而定,叢集大小或磁碟用量可能有所不同。這可能會影響您選擇的叢集。

如需有效區域值的完整清單,請參閱執行個體位置。 如需多地區值的完整清單,請參閱多地區位置

如要進一步瞭解如何設定備份位置,以及查看執行個體使用的備份位置,請參閱「設定自訂備份位置」和「查看備份位置」。

備份速率限制

Cloud SQL 會限制資料磁碟的備份作業速率。每個專案的每個執行個體每 50 分鐘最多可執行五項備份作業。如果備份作業失敗,不會計入這項配額。如果達到上限,作業就會失敗,並顯示錯誤訊息,說明何時可以重試。

讓我們看看 Cloud SQL 如何對備份作業執行速率限制。

Cloud SQL 會使用 bucket 中的權杖,判斷一次可進行的備份作業數量。每個執行個體都有一個 bucket。您最多可使用五個權杖進行備份作業。每 10 分鐘,系統會在值區中新增一個權杖。如果 bucket 已滿,權杖就會溢位。

每次發出備份作業時,系統都會從 bucket 授予權杖。如果作業成功,系統就會從區塊中移除權杖。如果失敗,權杖會退回 bucket。下圖說明運作方式:

權杖的運作方式

備份與匯出

備份作業由 Cloud SQL 根據保留政策管理,並與 Cloud SQL 執行個體分開儲存。Cloud SQL 備份與上傳至 Cloud Storage 的匯出內容不同,後者由您管理生命週期。備份會包含執行個體的整個磁碟。匯出時可選取特定內容。

備份和還原作業無法用於將資料庫升級至較新版本。您只能將備份還原至資料庫版本與備份時相同的執行個體。

如要升級至較新版本,請考慮使用資料庫移轉服務,或是匯出資料庫並匯入至新的 Cloud SQL 執行個體

備份費用

根據預設,Cloud SQL 會為每個 Cloud SQL Enterprise 版本執行個體保留 7 個自動備份,為每個 Cloud SQL Enterprise Plus 版本執行個體保留 15 個自動備份,以及隨選備份。您可以設定要保留的自動備份數量 (1 到 365 份)。備份儲存空間的費率低於其他類型的執行個體。

如要進一步瞭解備份相關定價,請參閱定價頁面

備份大小

除了第一個備份檔之外,所有 Cloud SQL 備份檔都是累加備份。只包含上次備份後變更的資料。最舊的備份大小與資料庫大小相近,但後續備份的大小取決於資料的變更率。刪除最舊的備份後,下一個最舊的備份會變為完整備份,大小也會增加,並調整為擷取備份之間的差異。後續的每個增量備份也會更新,與新的完整備份相符。

你可以查看個別備份的大小。備份大小代表每個備份的計費大小。

疑難排解

問題 疑難排解
您無法查看目前作業的狀態。 作業完成時, Google Cloud 控制台只會回報成功或失敗。這項功能不會顯示警告或其他更新。

執行 gcloud sql operations list 指令,列出指定 Cloud SQL 執行個體的所有作業。

您想找出是誰發起了隨選備份作業。 使用者介面不會顯示啟動作業的使用者。

查看記錄,然後依文字篩選,找出使用者。您可能需要使用稽核記錄來取得私人資訊。相關記錄檔包括:

  • cloudsql.googlapis.com/mysql-general.log
  • cloudsql.googleapis.com/mysql.err
  • 如果啟用 Cloud 稽核記錄,且您具備查看記錄的必要權限,則可能也會提供 cloudaudit.googleapis.com/activity
執行個體刪除後,您就無法備份該執行個體。

如果您刪除執行個體時沒有最終備份資料,就無法復原資料。不過,如果您還原執行個體,Cloud SQL 也會還原備份。如要進一步瞭解如何復原已刪除的執行個體,請參閱復原備份

如果您已執行匯出作業,請建立新的執行個體,然後執行匯入作業來重建資料庫。匯出作業會寫入 Cloud Storage,匯入作業則會從該處讀取資料。

自動備份作業已停滯數小時,且無法取消。 備份作業可能需要較長時間,視資料庫大小而定。

如果真的需要取消作業,可以請 客戶支援團隊force restart執行個體。

如果 SQL 傾印檔案中有一或多位參照的使用者不存在,還原作業就會失敗。 還原 SQL 傾印檔之前,如果資料庫使用者擁有傾印資料庫中的物件,或已取得傾印資料庫中的物件存取權,這類使用者都必須存在於目標資料庫中。否則還原作業無法以原始擁有權或權限重新建立物件。

還原 SQL 傾印檔前,請先建立資料庫使用者

您想將自動備份的保留天數從 7 天延長至 30 天以上。 您可以 設定要保留的自動備份數量,範圍為 1 到 365。系統會根據設定的保留值,定期修剪自動備份。很抱歉,這表示目前顯示的備份資料是唯一可供還原的自動備份資料。

如要無限期保留備份,可以建立隨選備份,因為這類備份不會像自動備份一樣遭到刪除。隨選備份會無限期保留。也就是說,這些備份會一直存在,直到您刪除備份或刪除所屬執行個體為止。這類備份不會自動刪除,因此可能會影響帳單。

自動備份失敗,且您未收到電子郵件通知。 如要讓 Cloud SQL 通知您備份狀態,請設定以記錄為準的快訊

後續步驟