管理 AlloyDB for PostgreSQL 集群维护窗口

本页面介绍如何执行与 AlloyDB for PostgreSQL 集群维护相关的以下操作:

  • 设置、查看和清除维护窗口。
  • 查看已安排的即将到来的维护事件。
  • 配置和移除拒绝维护期。

列出的所有操作均适用于主集群和次要集群。

如需简要了解如何在 AlloyDB 集群中实现维护,请参阅维护概览

为集群设置维护窗口

控制台

  1. 前往集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 概览页面中,点击维护中的修改

  4. 维护窗口中,选择要在星期几执行此维护窗口。

    默认选项为任意窗口期。创建集群时,系统会为相应集群分配此默认维护窗口。

  5. 选择要在一天中的哪个时段执行此维护窗口。

  6. 点击更新以保存更改。

gcloud

如需使用 gcloud CLI,您可以安装并初始化 Google Cloud CLI,也可以使用 Cloud Shell

如需在集群上设置维护窗口,请运行带有 --maintenance-window-day--maintenance-window-hour 标志的 gcloud clusters update 命令

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 之间的整数,指示要在一天中的哪个时段执行此维护窗口(采用世界协调时间 [UTC] 时区)。

如果您在集群正在维护或已安排了维护时更改维护窗口设置,则更改不会立即生效,而是在当前或已安排的维护完成后才会生效。

清除维护窗口

控制台

  1. 前往集群页面。

    转到集群

  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. 前往集群页面。

    转到集群

  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. 前往集群页面。

    转到集群

  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

采用 UTC 格式的时间戳会指定 AlloyDB 计划开始更新相应集群中所有节点的系统软件的时间。

选择接收维护通知

维护通知默认处于停用状态。如果您选择接收有关即将进行的 AlloyDB 维护事件的邮件通知,请注意以下事项:

  • 在有维护事件安排好后,您会立即收到有关该事件的自动通知。维护事件至少会提前一周安排。
  • 维护通知是在 Google Cloud 项目级启用的。您无法选择只接收项目中部分集群的通知。
  • 您只能为自己启用通知。每位用户都必须单独选择接收维护通知。

如需了解详情,请参阅维护概览

如需在设置了维护窗口的集群的维护事件被安排或取消时收到自动邮件通知,请使用 Google Cloud 控制台按以下步骤操作:

  1. 前往集群页面。

    转到集群

  2. 资源名称列中点击相应集群。

  3. 概览页面中,点击维护部分 Notifications: 行中的修改

  4. 点击通信

  5. AlloyDB 维护窗口所对应的行中,选择邮件列中的切换开关。

配置拒绝维护期

如要阻止在特定时间段内执行维护操作,您可以配置拒绝维护期。您可以为运行最新版 AlloyDB 的集群设置拒绝维护期。拒绝维护期可以从 1 天到 30 天不等。

设置拒绝维护期

如要配置拒绝维护期,您可以设置开始日期、结束日期以及间隔的开始和结束时间。

开始日期和结束日期必须采用以下格式:

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

开始日期、结束日期和时间均采用世界协调时间 (UTC) 时区。

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 世界协调时间 (UTC) 格式。
  • END_DATE:免维护期的结束日期,采用 YYYY-MM-DD 世界协调时间 (UTC) 格式。
  • TIME:免维护期的时间,采用 HH:MM 世界协调时间 (UTC) 格式。小时数以 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 对于 2 月份都是有效的。
  • 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 正文如下所示:

{}