為盡可能降低 AlloyDB for PostgreSQL 正式環境工作負載的風險,您可以使用測試環境叢集測試新功能、效能和功能,再將更新套用至正式環境系統。「測試環境叢集」是正式環境叢集的副本,可為維護更新程序增添一層控管機制。使用測試叢集測試維護更新,即可在非正式環境中找出並解決潛在問題。這種做法可降低正式環境系統停機和效能降低的風險。
AlloyDB 會定期更新維護,通常是每月一次。更新內容包括新功能、錯誤修正、資料庫相容性升級,以及安全性相關修正。雖然 AlloyDB 版本具有向前相容性,但建議您在測試環境中測試新版本,確保正式環境叢集中的重要應用程式能穩定且可預測地運作。詳情請參閱「維護作業總覽」。
如要使用測試叢集,請按照下列概略步驟操作:
- 設定測試叢集。
- 設定正式環境叢集的維護期間。
- 管理測試叢集更新。
- 管理正式環境叢集更新。
這種 AlloyDB 維護作業的分段驗證方法,可確保正式環境穩定、高效能且安全,同時享有最新 AlloyDB 功能和修補程式。
下圖顯示測試叢集與正式環境叢集之間的關係,以及更新程序的作業流程:

如要進一步瞭解維護更新如何與 AlloyDB 叢集搭配運作,請參閱「維護作業總覽」。如要進一步瞭解如何管理維護期間,請參閱「管理 AlloyDB for PostgreSQL 叢集維護期間」。
事前準備
您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
如要設定測試環境叢集,您必須建立或已有 AlloyDB 正式環境叢集。詳情請參閱「建立叢集及其主要執行個體」。
您必須在使用的 Google Cloud專案中,具備下列其中一個 IAM 角色:
roles/alloydb.admin:AlloyDB 管理員預先定義的 IAM 角色roles/owner:擁有者基本 IAM 角色roles/editor:編輯者基本 IAM 角色
如果您不具備上述任一角色,請向組織管理員要求存取權。
設定測試叢集
要成功實施「先測試」策略,關鍵在於確保測試叢集與正式環境相似,且在正式環境之前接收更新。如未在預備叢集設定維護期間,則會設定預備優先策略。AlloyDB 會先更新未設定維護期間的叢集。
依據正式環境備份建立測試環境叢集
部署模擬正式環境的預備叢集,並確認預備叢集的 AlloyDB 版本、設定和資料與正式環境叢集相同。
為確保測試叢集與正式環境相同,請使用 restore 指令將正式資料庫複製到測試叢集,並確保資料相似度和設定相符。此外,建議您將測試環境和正式環境分開,放在不同的專案中。
您可以使用下列兩種方法建立正式環境備份:
- 完整還原現有正式環境叢集備份,建立新的測試環境叢集。這個方法不涉及資料庫復原。不過,視備份排程而定,資料最多可能會有 24 小時的延遲。如要使用這個方法,請參閱「從儲存的備份還原叢集」。
- 對現有正式環境資料庫備份執行時間點復原 (PITR) 至特定時間 (包括最新時間),建立新的測試叢集。這個選項可讓您取得最新資料,而且方法更簡單。不過,視上次 PITR 備份時間而定,可能需要較長時間才能將資料還原或復原至指定時間。如要使用這個方法,請參閱「使用時間點復原 (PITR)」。
確認未在測試環境叢集設定維護期間
請勿為測試叢集設定維護期間。根據預設,新建立的 AlloyDB 叢集 (包括從備份還原的叢集) 不會設定維護期間。這是測試環境的正確狀態。AlloyDB 會先更新未排定維護期間的叢集,再更新已排定維護期間的叢集。
您可以按照下列步驟,確認未設定維護期間:
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。系統會開啟「Overview」(總覽) 頁面。
在「Overview」(總覽) 頁面的「Maintenance」(維護) 部分,查看叢集的維護期間詳細資料。
選用:在「Systems insights」(系統深入分析) 頁面中,您可以查看維護作業狀態詳細資料,例如「Events Timeline」(事件時間軸)。
如要查看Unified Maintenance管理,請在搜尋列中輸入「Cloud Hub maintenance」,然後選取「Maintenance」。在這個頁面中,您可以查看維護作業摘要、Google 控管的維護作業,以及預定維護作業詳細資料。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
gcloud alloydb clusters describe STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --project=PROJECT_ID在輸出內容中尋找
maintenanceUpdatePolicy.maintenanceWindows欄位。如未設定維護期間,這個欄位會留空或不會顯示。如果因任何原因已設定維護期間,請清除該設定:gcloud alloydb clusters update STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --maintenance-window-any \ --project=PROJECT_ID
管理多個非正式環境的多個發布管道
如果貴組織有明確、穩健的版本發布節奏,且有多個非正式環境,建議您逐步套用新版本。舉例來說,您可能想按照下列順序套用版本:
- 開發環境
- 品質查驗環境
- 測試環境
如要進一步控管 AlloyDB 的發布時間表,可以使用自助式維護。自助式維護功能可讓您隨時手動將新版本套用至任何環境。
如要實作這類發布頻率,請按照下列概略步驟操作:
設定正式環境叢集的維護期間
請務必為正式版叢集安排維護期間。這樣一來,您就能控管更新時間,並配合業務的低流量時段進行更新。
為正式環境叢集設定維護期間
為正式環境叢集安排維護期間。請選擇正式環境系統負載最低的日期和時間。單一維護事件所需的總時間可能有所不同。
AlloyDB 會在更新測試環境叢集後,自動將正式環境叢集的更新作業延遲至少一週。如果預備叢集更新後發現問題,您可以拒絕正式環境維護更新,最長可達 30 天,並與Google Cloud 支援團隊合作解決問題。
請按照下列步驟,為正式環境叢集設定維護期間:
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。
在「Overview」(總覽) 頁面的「Maintenance」(維護) 區段中,按一下「Edit」(編輯)。設定視窗便會開啟。
在「Preferred maintenance window」(偏好的維護期間) 區段中,選取維護期間的星期幾。預設選項為「任何視窗」。
建立叢集時,AlloyDB 會為叢集指派這個預設維護期間。
如果選取維護更新的日期,請選取維護期間的時段。
按一下「更新」儲存變更。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
如要設定 AlloyDB 叢集的維護期間,請執行 gcloud alloydb clusters update 指令:
gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--maintenance-window-day=DAY_OF_WEEK \
--maintenance-window-hour=HOUR_OF_DAY \
--project=PROJECT_ID請依指示取代下列項目:
PRODUCTION_CLUSTER_ID:正式版叢集的 ID。LOCATION_ID: Google Cloud 區域。DAY_OF_WEEK:偏好的維護日期,例如SUNDAY。HOUR_OF_DAY:偏好的維護時間 (小時),以世界標準時間 (UTC) 表示 (0-23)。以下範例說明如何將維護期間設為世界標準時間星期日上午 2 點:
gcloud alloydb clusters update my-prod-cluster \ --region=us-central1 \ --maintenance-window-day=SUNDAY \ --maintenance-window-hour=2 \ --project=my-production-project
驗證正式環境叢集的維護期間
如要確認正式環境叢集是否已設定維護期間,請執行 gcloud alloydb clusters describe 指令:
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID輸出內容會傳回 maintenanceUpdatePolicy.maintenanceWindows 欄位,其中包含指定的維護日期和時間。
選擇接收維護作業通知
建議您選擇加入,以接收正式版叢集的排定維護事件通知。通知可協助您規劃何時開始測試。
如要選擇加入維護通知,請按照下列步驟操作:
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。系統會開啟「Overview」(總覽) 頁面。
在「Overview」(總覽) 頁面的「Maintenance」(維護) 區段中,按一下「Show details」(顯示詳細資料) 展開該區段。然後按一下「Notifications」(通知) 列中的「Edit」(編輯)。系統隨即會開啟「通訊」頁面。
在「通訊」頁面中,選取「產品通訊」分頁標籤。
在「AlloyDB」列中,將「Email」(電子郵件) 欄中的通知按鈕切換為「On」(開啟)。
設定正式環境叢集的維護期間後,AlloyDB 會在測試環境叢集更新後至少七天,才更新正式環境叢集。如果您選擇接收通知,系統會傳送電子郵件通知,告知您正式版叢集已排定維護更新。
暫存叢集更新
使用測試環境驗證即將推出的正式版更新。
查看更新前的狀態
由於測試叢集沒有維護期間,因此會是第一批接收更新的叢集。不過,如果叢集未設定維護期間,AlloyDB 就不會傳送通知。不過,您還是可以透過 Google Cloud 控制台中的記錄檔探索工具,監控維護更新作業。
前往 Google Cloud 控制台的「Logs Explorer」頁面:
如果是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取「所有資源」,選擇測試叢集,然後點選「套用」。
依序選取「所有記錄名稱」和「maintenance_events」,然後點選「套用」。
在「Timeline」(時間軸) 窗格中,選取測試叢集接收更新的時間範圍。
執行更新後功能驗證
AlloyDB 更新測試環境叢集後,請執行功能測試,確認更新安全無虞,且適合套用至正式環境。
執行更新後效能驗證
維護更新完成後,請驗證測試叢集。在測試叢集更新後,評估對資料庫效能的影響。執行全面的功能和效能測試,確保應用程式運作正常,且符合效能服務水準協議。
為確保穩定性和最佳運作,請執行下列操作:
- 比較更新前的基準和重要指標。
- 執行負載測試,找出迴歸問題。
- 分析查詢效能。
- 監控資源使用率。
根據驗證結果採取行動
查看驗證結果,並根據結果採取下列行動:
- 驗證成功:如果預備叢集的功能和效能測試成功,代表預備環境沒有錯誤,您可以按照排定的可預約時間範圍進行正式環境維護。準備更新正式版,並通知相關利害關係人。
- 驗證失敗:如果在維護更新後,預備叢集的功能和效能測試失敗,且預備環境發生功能錯誤、效能降低或非預期行為,則必須拒絕正式環境維護。
拒絕排定的維護事件
如要拒絕正式版叢集的排定維護事件,您必須設定開始日期、結束日期,以及時間間隔的開始和結束時間。
開始和結束日期必須採用以下格式:YYYY-MM-DD。開始日期、結束日期和時間均以世界標準時間時區為準。
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
如要為 AlloyDB 叢集新增拒絕維護期,請完成下列步驟:
執行
gcloud alloydb clusters update指令,並加上deny-maintenance-period-start-date、deny-maintenance-period-end-date和deny-maintenance-period-time旗標:gcloud alloydb clusters update CLUSTER_ID \ --region LOCATION_ID \ --deny-maintenance-period-start-date START_DATE \ --deny-maintenance-period-end-date END_DATE \ --deny-maintenance-period-time TIME更改下列內容:
CLUSTER_ID:要設定免維護期的叢集。LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如us-central1。START_DATE:免維護期的開始日期,採用YYYY-MM-DD世界標準時間格式。END_DATE:免維護期的結束時間,採用YYYY-MM-DD世界標準時間格式。TIME:免維護期的時間,採用HH:MM世界標準時間格式。小時以 24 小時制表示,值介於00:00到23:59之間,例如16:45。
記錄所有問題,包括錯誤訊息、成效指標,以及重現問題的步驟。
向 Google Cloud 提交高優先順序的客服案件,並提供所有記錄的問題。 Google Cloud 會與您合作分析及解決問題。
正式環境叢集更新
如果測試驗證成功,且您允許繼續進行正式環境維護,系統就會在排定的維護期間執行更新。
確認維護期間
如要監控正式版叢集即將進行的維護事件,請按照下列步驟操作:
控制台
前往「Clusters」(叢集) 頁面。
在「Resource Name」(資源名稱) 欄中,按一下叢集。系統會開啟「Overview」(總覽) 頁面。
在「Overview」(總覽) 頁面的「Maintenance」(維護) 部分,查看叢集的維護期間詳細資料。
選用:在「Systems insights」(系統深入分析) 頁面中,您可以查看維護作業狀態詳細資料,例如「Events Timeline」(事件時間軸)。
如要查看Unified Maintenance管理,請在搜尋列中輸入「Cloud Hub maintenance」,然後選取「Maintenance」。在這個頁面中,您可以查看維護作業摘要、Google 控管的維護作業,以及預定維護作業詳細資料。
gcloud
如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。
使用 gcloud alloydb clusters describe 執行下列指令:
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID如果已排定維護事件,輸出內容會包含 maintenanceSchedule 和 startTime。如果您選擇接收通知,也會收到電子郵件通知。
在維護期間監控正式環境
雖然 Google Cloud 會自動執行維護程序,但建議您在排定的維護期間,監控正式環境中的下列項目:
- 應用程式健康狀態:監控應用程式記錄和健康狀態檢查,查看是否有任何中斷跡象。
- 資料庫連線能力:確認應用程式可在中斷後重新連線至資料庫。
- AlloyDB 指標:使用 Google Cloud Monitoring 觀察 AlloyDB 指標 (CPU、記憶體、連線和複製延遲時間),確保這些指標在更新後恢復預期水準。
維護作業更新後驗證
維護更新完成後,請驗證正式環境的重要功能和效能指標。
- 重要應用程式功能:對最重要的應用程式功能執行冒煙測試。
- 基本效能檢查:查看資訊主頁,瞭解延遲時間或資源消耗量是否激增。