

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 计划 Amazon MQ 代理的维护时段
计划代理维护

 在维护时段，Amazon MQ 会定期对消息代理的硬件、操作系统或引擎软件进行维护。例如，如果您更改了代理实例类型，Amazon MQ 将在下一个计划维护窗口中应用您的更改。维护的持续时间最长可达两小时，具体取决于为消息代理安排的操作。通过选择跨多个可用区（AZ）且具有高可用性的代理部署模式，可以最大限度地减少维护时段内的停机时间。

 Amazon MQ for ActiveMQ 提供[主动/备用](amazon-mq-broker-architecture.md#active-standby-broker-deployment)部署，以实现高可用性。在主动/备用模式下，Amazon MQ 一次只执行一个实例的维护操作，至少有一个实例保持可用。此外，您还可以将[代理网络](network-of-brokers.md)维护时段分散在一周内。Amazon MQ for RabbitMQ 提供[集群](rabbitmq-broker-architecture.md#rabbitmq-broker-architecture-cluster)部署，以实现高可用性。在集群部署中，Amazon MQ 通过始终保持至少两个运行节点，每次只对一个节点执行维护操作。

 首次创建代理时，可以将维护时段安排在每周的指定时间执行一次。在下一个计划的维护时段开始之前，您最多只能调整代理的维护时段四次。代理维护时段结束后，Amazon MQ 会重置限制，您可以在下一个维护时段出现前再次调整计划。调整代理维护时段时不会影响代理的可用性。

 要调整代理维护时段，您可以使用AWS 管理控制台、AWS CLI 或 Amazon MQ API。

## 使用AWS 管理控制台计划代理维护时段


**使用AWS 管理控制台调整代理维护时段**

1. 登录 [Amazon MQ 控制台](https://console.aws.amazon.com/amazon-mq/)。

1. 在左侧导航窗格中，选择 **Brokers (代理)**，然后从列表中选择您要升级的代理。

1.  在代理详细信息页上，选择 **Edit (编辑)**。

1. 在 **Maintenance (维护)** 下，执行以下操作。

   1.  对于 **Start day**（开始日），从下拉列表中选择星期几，例如 **Sunday**（星期日）。

   1.  对于 **Start time**（开始时间），选择您要为下一个代理维护时段安排的一天中的小时和分钟，例如 **12**:**00**。
**注意**  
 **Start time (开始时间)** 选项采用 UTC\$10 时区进行配置。

1. 接下来，选择**计划修改**。然后选择**下次重启后**或**立即**。选择 **After the next reboot** 将立即更新维护窗口，而无需重启代理。选择**立即**将立即重启代理。

1. 在代理详细信息页面上的 **Maintenance widnow**（维护时段）下，验证是否显示了新的首选计划。

## 使用 AWS CLI 计划代理维护时段


**使用 AWS CLI 调整代理维护时段**

1.  使用 [update-broker](https://docs.aws.amazon.com/cli/latest/reference/mq/update-broker.html) CLI 命令并指定以下参数，如示例所示。
   +  `--broker-id` – Amazon MQ 为代理生成的唯一 ID。您可以通过代理 ARN 解析 ID。例如，给定以下 ARN `arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9`，代理 ID 将为 `b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9`。
   +  `--maintenance-window-start-time` – 确定以下结构中提供的每周维护时段开始时间的参数。
     + `DayOfWeek` – 星期几，使用以下语法：`MONDAY| TUESDAY | WEDNESDAY | THURSDAY | FRIDAY | SATURDAY | SUNDAY`
     + `TimeOfDay` – 时间，采用 24 小时制。
     + `TimeZone` –（可选）时区，可以采用国家/地区/城市或 UTC 偏移量格式。默认设置为 UTC。

   ```
   aws mq update-broker --broker-id broker-id \
   --maintenance-window-start-time DayOfWeek=SUNDAY,TimeOfDay=13:00,TimeZone=America/Los_Angeles
   ```

1.  （可选）使用 [describe-broker](https://docs.aws.amazon.com/cli/latest/reference/mq/reboot-broker.html) CLI 命令来验证维护时段是否已成功更新。

   ```
   aws mq describe-broker --broker-id broker-id
   ```

## 使用 Amazon MQ API 计划代理维护时段


**使用 Amazon MQ API 调整代理维护时段**

1.  使用 [UpdateBroker](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#UpdateBroker) API 操作。指定 `broker-id` 作为路径参数。以下示例假定代理在 `us-west-2` 区域中。有关可用 Amazon MQ 端点的更多信息，请参阅 *AWS 一般参考* 中的 [Amazon MQ 端点和配额](https://docs.aws.amazon.com/general/latest/gr/amazon-mq.html#amazon-mq_region)。

   ```
   PUT /v1/brokers/broker-id HTTP/1.1
   Host: mq.us-west-2.amazonaws.com
   Date: Wed, 7 July 2021 12:00:00 GMT
   x-amz-date: Wed, 7 July 2021 12:00:00 GMT
   Authorization: authorization-string
   ```

   在请求负载中使用使用 `maintenanceWindowStartTime` 参数和 [https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-model-weeklystarttime](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-model-weeklystarttime)资源类型。

   ```
   {
   "maintenanceWindowStartTime": {
       "dayOfWeek": "SUNDAY",
       "timeZone": "America/Los_Angeles",
       "timeOfDay": "13:00"
     }
   }
   ```

1.  （可选）使用 [DescribeBroker](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id.html#brokers-broker-id-http-methods) API 操作来验证维护时段是否已成功更新。`broker-id` 已指定为路径参数。

   ```
   GET /v1/brokers/broker-id HTTP/1.1
   Host: mq.us-west-2.amazonaws.com
   Date: Wed, 7 July 2021 12:00:00 GMT
   x-amz-date: Wed, 7 July 2021 12:00:00 GMT
   Authorization: authorization-string
   ```