

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

# 计划 Amazon MQ 代理的维护时段
<a name="maintaining-brokers"></a>

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

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

**注意**  
 在维护操作期间，Amazon MQ 可能会终止现有代理实例并启动新的替代实例。对于 active/standby 部署，实例会按顺序终止和替换，以保持代理在整个维护时段内的可用性。在此过程中，连接到活动实例的客户端可能会经历短暂的故障转移到备用实例。

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

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

## 使用安排经纪商维护时段AWS 管理控制台
<a name="maintaining-brokers-adjusting-maintenance-window-console"></a>

**要调整经纪商维护时段，请使用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\+0 时区进行配置。

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

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

## 使用安排经纪商维护时段AWS CLI
<a name="maintaining-brokers-adjusting-maintenance-window-cli"></a>

**要调整经纪商维护时段，请使用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`—（可选）时区，采用 Country/City、或 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 计划代理维护时段
<a name="maintaining-brokers-adjusting-maintenance-window-api"></a>

**使用 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` 参数和 [`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}}
   ```