

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 升級 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** 版會被視為次要版本升級。

 您可以隨時手動將代理程式升級至下一個支援的主要或次要版本。在排程[維護時段](maintaining-brokers.md)期間，Amazon MQ 會管理所有代理程式升級至最新支援的修補程式版本。手動和自動版本升級都會在排定的維護時段期間或[重新啟動代理程式](amazon-mq-rebooting-broker.md)之後進行。當目前的次要版本終止支援時，Amazon MQ 會將您的代理程式升級至下一個次要版本。

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

您可以使用 AWS CLI、 AWS 管理主控台或 Amazon MQ API 來升級代理程式的引擎版本。

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

**使用 升級代理程式的引擎版本 AWS 管理主控台**

1.  在代理程式詳細資訊頁面上，選擇 **Edit (編輯)**。

1.  在 **Specifications (規格)** 之下，針對 **Broker engine version (代理程式引擎版本)**，從下拉式清單中選擇新的版本號碼。

1. 捲動到頁面底部，然後選擇 **Schedule modification (排程修改)**。

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.  （選用） 如果您想要立即升級引擎版本，請使用 [reboot-broker](https://docs.aws.amazon.com/cli/latest/reference/mq/reboot-broker.html) 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 會在下一個排定的維護時段期間升級代理程式。
**重要**  
單一執行個體代理程式在重新啟動時處於離線狀態。對於叢集代理程式，代理程式重新啟動時一次只會關閉一個節點。