管理 AlloyDB for PostgreSQL 叢集維護時段

本頁說明如何執行下列與 AlloyDB for PostgreSQL 叢集維護相關的操作:

  • 設定、查看及清除維護期間。
  • 查看已排定的近期維護事件。
  • 設定及移除拒絕維護期。

所有列出的動作都適用於主要和次要叢集。

如要瞭解 AlloyDB 叢集的維護作業總覽,請參閱維護作業總覽

設定叢集的維護期間

控制台

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 在「資源名稱」欄中,按一下叢集。

  3. 在「總覽」頁面的「維護」部分,按一下「編輯」

  4. 在「維護期間」中,選取這個維護期間的星期幾。

    預設選項為「任何視窗」。建立叢集時,系統會為叢集指派這個預設維護期間。

  5. 選取維護時段的小時。

  6. 按一下「更新」儲存變更。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要在叢集上設定維護期間,請執行gcloud clusters update 指令,並加上 --maintenance-window-day--maintenance-window-hour 旗標:

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-day DAY_OF_WEEK \
  --maintenance-window-hour HOUR_OF_DAY

更改下列內容:

  • CLUSTER_ID:要設定維護期間的叢集。

  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

  • DAY_OF_WEEK:這個維護時段在世界標準時間 (UTC) 時區的星期幾。有效值為 MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY

    預設值為「任何視窗」。建立叢集時,系統會為叢集指派這個預設維護期間。

  • HOUR_OF_DAY:介於 023 之間的整數,代表這個維護時段在世界標準時間時區的小時。

如果叢集正在進行維護作業或已排定維護作業,您對維護時段設定所做的變更,會在目前或排定的維護作業完成後才會生效。

清除維護期間

控制台

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 在「資源名稱」欄中,按一下叢集。

  3. 在「總覽」頁面的「維護」部分,按一下「編輯」

  4. 在「維護期間」中,選取「任何期間」

  5. 按一下「更新」儲存變更。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要清除叢集的維護期間,請執行帶有 --maintenance-window-any 標記的gcloud clusters update 指令

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-any

更改下列內容:

  • CLUSTER_ID:要設定維護期間的叢集。

  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

查看叢集的維護期間

控制台

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 在「資源名稱」欄中,按一下叢集。

  3. 在「總覽」頁面的「維護」部分,查看叢集的維護時段詳細資料。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要查看叢集目前的維護時段,請執行gcloud alloydb clusters describe 指令:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

更改下列內容:

  • CLUSTER_ID:要設定維護期間的叢集。

  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

如果叢集已設定維護期間,指令輸出內容會包含類似下列的行:

maintenanceUpdatePolicy:
  maintenanceWindows:
  - day: TUESDAY
    startTime:
      hours: 23

如果輸出內容不含 maintenanceUpdatePolicy 區段,表示叢集未設定維護期間。

查看叢集即將進行的維護作業

控制台

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 找出叢集,然後查看「維護」欄,瞭解即將進行的維護期間。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要查看已設定維護期間的叢集,預計執行的維護作業,請執行gcloud clusters describe 指令

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

更改下列內容:

  • CLUSTER_ID:要設定維護期間的叢集。

  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

如果叢集未來有預定維護事件,指令輸出內容會包含類似下列的行:

maintenanceSchedule:
  startTime: 2024-07-03T09:46:40Z

這個時間戳記採用世界標準時間格式,指定 AlloyDB 預計開始更新這個叢集中所有節點系統軟體的時間。

選擇接收維護通知

維護通知預設為停用。選擇接收有關預定 AlloyDB 維護事件的電子郵件通知時,請注意下列事項:

  • 排定活動後,您會立即收到自動通知。 維護作業至少會提前一週排定。
  • 維護通知已在 Google Cloud 專案層級啟用。您無法選擇只接收專案中部分叢集的通知。
  • 你只能為自己啟用通知。每位使用者都必須分別選擇接收維護通知。

詳情請參閱「維護總覽」。

如要為已設定維護期間的叢集排定或取消維護事件時,自動收到電子郵件通知,請使用 Google Cloud 控制台按照下列步驟操作:

  1. 前往「Clusters」(叢集) 頁面。

    前往「Clusters」(叢集) 頁面

  2. 在「資源名稱」欄中,按一下叢集。

  3. 在「總覽」頁面的「維護」部分,按一下 Notifications: 列中的「編輯」

  4. 按一下「通訊」

  5. 在「AlloyDB」的「維護時間範圍」列中,選取「電子郵件」欄的切換按鈕。

設定拒絕維護期

如要避免在特定時段進行維護作業,可以設定拒絕維護期。如果叢集執行的是最新版 AlloyDB,您可以設定拒絕維護作業。拒絕維護期可從 1 天到 30 天。

設定拒絕維護期

如要設定拒絕維護期,請設定開始日期、結束日期,以及間隔的開始和結束時間。

開始和結束日期必須採用下列格式:

  • YYYY-MM-DD:表示特定日期

開始日期、結束日期和時間均以世界標準時間為準。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要為 AlloyDB 叢集新增拒絕維護期,請執行 gcloud alloydb clusters update 指令,並加上 deny-maintenance-period-start-datedeny-maintenance-period-end-datedeny-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 UTC。
  • TIME:免維護期間的時間,格式為 HH:MM 世界標準時間。時間以 24 小時格式表示,值介於 00:0023:59 之間,例如 16:45

REST v1

這個範例會為現有叢集新增拒絕維護期。如需此呼叫的完整參數清單,請參閱「方法:projects.locations.clusters.instances.patch」。

使用任何要求資料之前,請先替換以下項目:

  • CLUSTER_ID:要設定免維護期間的叢集。
  • PROJECT_ID:叢集所在專案的 ID。
  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1
  • START_YEAR:免維護期開始的年份,格式為 YYYY
  • START_MONTH:免維護期開始的月份,格式為 MM。個位數的月份可加上前置零,也可不加。舉例來說,202 都是二月的有效日期。
  • START_DAY:免維護期開始的日期,格式為 DD。個位數的日期可加上前置零,也可不加。舉例來說,101 都是有效值。
  • END_YEAR:免維護期結束的年份,格式為 YYYY
  • END_MONTH:免維護期結束的月份,格式為 MM
  • END_DAY:免維護期結束的日期,格式為 DD
  • HOUR(S):免維護期間的小時,格式為 24 小時制,例如 16。個位數的小時可加上前置零,也可不加,例如 202 都是有效格式。
  • MINUTE(S):免維護期間的分鐘數,可接受的值為 059,例如 45。個位數的分鐘值可加上前置零,也可不加,例如 707 都是有效值。

如要新增拒絕維護期,請使用下列 PATCH 要求:

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

maintenance_update_policy.deny_maintenance_periods 查詢參數會告知 API 更新 maintenanceUpdatePolicy 區塊中的 denyMaintenancePeriods 欄位。

JSON 要求內文如下所示:

"maintenanceUpdatePolicy": {
 "denyMaintenancePeriods": [
   {
     "startDate": {
       "year": START_YEAR,
       "month": START_MONTH,
       "day": START_DAY
     },
     "endDate": {
       "year": END_YEAR,
       "month": END_MONTH,
       "day": END_DAY
     },
     "time": {
       "hours": TIME
       "minutes": TIME
     }
   }
 ]
},

拒絕近期維護作業

拒絕維護期優先於排定維護作業。如果發生時間衝突,系統會優先採用拒絕維護期,而非排定的維護期間。

如果拒絕時段與排定的維護事件衝突,系統不會立即取消維護並清除排程。AlloyDB 會將現有的排定維護作業顯示為「即將進行」,但會在排定時間開始時取消排定的維護期。

為協助套用重要更新,系統通常不允許設定拒絕期間,以略過多個維護事件,且在極少數情況下,可能會在設定的維護偏好設定以外的時間進行緊急維護。

從叢集中移除拒絕維護時段

您隨時可以移除拒絕維護期。

gcloud

如要使用 gcloud CLI,您可以安裝及初始化 Google Cloud CLI,也可以使用 Cloud Shell

如要從 AlloyDB 叢集移除拒絕維護期,請執行帶有 remove-deny-maintenance-period 標記的 gcloud alloydb clusters update 指令:

gcloud alloydb clusters update CLUSTER_ID --region LOCATION_ID  --remove-deny-maintenance-period

更改下列內容:

  • CLUSTER_ID:要移除拒絕維護期的叢集。
  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

REST v1

這個範例會從 AlloyDB 叢集移除拒絕維護期。如需此呼叫的完整參數清單,請參閱「方法:projects.locations.clusters.patch」。

使用任何要求資料之前,請先替換以下項目:

  • CLUSTER_ID:要新增拒絕維護期叢集的 ID。
  • PROJECT_ID:叢集所在專案的 ID。
  • LOCATION_ID:這個叢集所在的 Google Cloud 區域,例如 us-central1

如要移除拒絕維護期,請使用下列 PATCH 要求:

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

maintenance_update_policy.deny_maintenance_periods 查詢參數會告知 API 更新 maintenanceUpdatePolicy 區塊中的 denyMaintenancePeriods 欄位。

JSON 要求內文如下所示:

{}