

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

# 升级 Amazon MQ 代理引擎版本
<a name="upgrading-brokers"></a>

 Amazon MQ 会定期为所有支持的代理引擎类型提供新的代理引擎版本。新的引擎版本包括安全补丁、错误修复和其他代理引擎改进。

 Amazon MQ 根据语义版本控制规范将版本号整理为 `X.Y.Z`。在 Amazon MQ 实现中，`X` 表示主要版本，`Y` 表示次要版本，`Z` 表示补丁版本号。Amazon MQ 支持两种类型的升级：
+ **主要版本升级** – 当主要引擎版本号更改时发生。例如，从 RabbitMQ 版本 **3.** 13 升级到版本 **4** .2 被视为主要版本升级。
+ **次要版本升级** – 仅在次要引擎版本号更改时发生。例如，从版本 3 升级。 **11** 到版本 3。 **12** 被视为次要版本升级。

 您可以随时手动将代理升级到下一个受支持的主要版本或次要版本。Amazon MQ 在计划[维护](maintaining-brokers.md)时段内为所有代理管理升级到支持的最新补丁版本。手动和自动版本升级都是在定期维护时段内进行的，或者是在[您重启代理](amazon-mq-rebooting-broker.md)之后。当前次要版本的支持终止时，Amazon MQ 会将代理升级到下一个次要版本。

## 手动升级引擎版本
<a name="upgrading-brokers-manual-upgrades"></a>

您可以使用 AWS 管理控制台、或 Amazon MQ API 升级代理的引擎版本。 AWS CLI

### AWS 管理控制台
<a name="upgrading-brokers-manual-upgrades-console"></a>

**要升级代理的引擎版本，请使用 AWS 管理控制台**

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

1.  在 **Specifications (规格)** 下，对于 **Broker engine version (代理引擎版本)**，从下拉列表中选择新版本号。

1. 滚动到页面底部并选择 **Schedule modifications (计划修改)**。

1.  在 **Schedule broker modifications (计划代理修改)** 页面上，对于 **When to apply modifications (何时应用修改)** 下，选择以下选项之一。
   +  如果您希望 Amazon MQ 在下一个计划维护时段完成版本升级，请选择 **After the next reboot (下次重新启动后)**。
   +  如果您想立即重新启动代理并升级引擎版本，请选择 **Immediately (立即)**。
**重要**  
单实例代理在重启期间处于离线状态。对于集群代理，在代理重启期间，每次只有一个节点宕机。

1.  选择 **Apply (应用)** 以完成应用更改。

### AWS CLI
<a name="upgrading-brokers-manual-upgrades-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`。
   +  `--engine-version` – 代理引擎要升级到的版本号。

   ```
   aws mq update-broker --broker-id broker-id --engine-version version-number
   ```

1.  （可选）如果您想立即升级引擎版本，请使用 [reboo](https://docs.aws.amazon.com/cli/latest/reference/mq/reboot-broker.html) t-broker CLI 命令重启您的代理。

   ```
   aws mq reboot-broker --broker-id broker-id
   ```

   如果您不想重新启动代理和立即应用更改，Amazon MQ 将在下一个计划维护时段内升级代理。
**重要**  
单实例代理在重启期间处于离线状态。对于集群代理，在代理重启期间，每次只有一个节点宕机。

### Amazon MQ API
<a name="upgrading-brokers-manual-upgrades-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: Mon, 7 June 2021 12:00:00 GMT
   x-amz-date: Mon, 7 June 2021 12:00:00 GMT
   Authorization: authorization-string
   ```

   在请求负载中使用 `engineVersion` 指定要升级到的代理的版本号。

   ```
   {
       "engineVersion": "engine-version-number"
   }
   ```

1.  （可选）如果您想立即升级引擎版本，请使用 [RebootBroker](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/brokers-broker-id-reboot.html#RebootBroker)API 操作重启您的代理。 `broker-id`被指定为路径参数。

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

   如果您不想重新启动代理和立即应用更改，Amazon MQ 将在下一个计划维护时段内升级代理。
**重要**  
单实例代理在重启期间处于离线状态。对于集群代理，在代理重启期间，每次只有一个节点宕机。