

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

# Amazon MQ for ActiveMQ 跨區域資料複寫
<a name="crdr-for-active-mq"></a>

 Amazon MQ for ActiveMQ 提供跨區域資料複寫 (CRDR) 功能，允許從主要 AWS 區域中的主要代理程式非同步訊息複寫到複本區域中的複本代理程式。透過向 Amazon MQ API 發出容錯移轉請求，就可將目前的複本代理程式提升為主要代理程式角色，並將目前的主要代理程式降為複本角色。

## 跨區域資料複寫的主要和複本代理程式
<a name="crdr-primary-replica-brokers"></a>

 您可以建立主要和複本代理程式，以從主要 AWS 區域中的主要代理程式非同步資料複寫到複本區域中的複本代理程式。*主要區域*包含一組備援的作用中/待命代理程式配對，稱為*主要代理程式*。*次要區域*包含一組備援的作用中/待命代理程式配對，稱為*複本代理程式*。

 下圖說明次要區域中的複本代理程式從主要區域中的主要代理程式接收非同步複寫資料。

![\[Diagram showing primary and replica brokers in different AWS regions with replication traffic flow.\]](http://docs.aws.amazon.com/zh_tw/amazon-mq/latest/developer-guide/images/primary-replica-connection.png)


 主要和複本代理程式可作為跨區域資料復原解決方案。如果主要區域中的主要代理程式失敗，您可以藉由啟動切換或容錯移轉，將次要區域中的複本代理程式提升為主要代理程式。原本的主要代理程式會變成複本代理程式，而原本的複本代理程式則會提升為主要代理程式。如需建立主要和複本代理程式的指示，請參閱 [建立 Amazon MQ 跨區域資料複寫代理程式](create-replica-broker.md)。

**注意**  
僅適用於作用中/待命代理程式。  
不適用於鏡像佇列。

# 建立 Amazon MQ 跨區域資料複寫代理程式
<a name="create-replica-broker"></a>

 使用跨區域資料複寫 (CRDR) 就可視需要在兩個 AWS 區域中的 Amazon MQ for ActiveMQ 訊息代理程式之間切換。您可以將現有代理程式指定為主要代理程式，並為此代理程式建立複本，也可以一併建立新的主要和複本代理程式。接著您可以使用 Amazon MQ `Promote` API 操作將複本代理程式提升為主要代理程式角色。如需有關主要和複本代理程式的詳細資訊，請參閱 [跨區域資料複寫的主要和複本代理程式](crdr-for-active-mq.md#crdr-primary-replica-brokers)。

 下列指示說明如何使用 Amazon MQ Management Console 建立和設定複本代理程式。

**Topics**
+ [先決條件](#create-crdr-broker-prerequisites)
+ [步驟 1 (選擇性)：建立新的主要代理程式](#create-new-primary-broker)
+ [Create a replica of an existing broker](#create-new-replica-broker)

## 先決條件
<a name="create-crdr-broker-prerequisites"></a>

若要使用跨區域資料複製功能，您必須檢閱並遵守下列先決條件：
+  **版本**：跨區域資料複寫功能僅適用於第 5.17.6 版和更新版本的 Amazon MQ for ActiveMQ 代理程式。
+  **區域**：下列區域支援跨區域複寫：美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、美國西部 (奧勒岡) 及美國西部 (加利佛尼亞北部)。
+  **執行個體類型**：跨區域資料複寫僅適用於大小 `mq.m5.large` 以上的代理程式執行個體。
+  **部署類型**：跨區域資料複寫僅適用於具有多可用區域部署的運作中/待命代理程式。
+  **代理程式狀態**：您只能為具有 `Running` 代理程式狀態的主要代理程式建立複寫代理程式。

## 步驟 1 (選擇性)：建立新的主要代理程式
<a name="create-new-primary-broker"></a>

### 建立新的主要代理程式
<a name="create-new-primary-broker-procedure"></a>

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

1. 在 Amazon MQ 主控台的「代理程式」頁面上，選擇**建立代理程式**。

1.  在**選取代理程式引擎**頁面上，選擇 **Apache ActiveMQ**。

1.  在**選取部署和儲存**頁面的**部署模式和儲存類型**區段中，執行下列動作：

   1. 針對**部署模式**，選擇**作用中/待命中介裝置提供高可用性**。**作用中/待命中介裝置提供高可用性**是由兩個不同可用區域中的兩個代理程式所組成，並設定於備援組合中。這些代理程式會與您的應用程式及 Amazon EFS 同步通訊。如需詳細資訊，請參閱[Amazon MQ for ActiveMQ 代理程式的部署選項](amazon-mq-broker-architecture.md)。

1.  選擇**下一步**。

1. 在 **Configure settings (進行設定)** 頁面的 **Details (詳細資訊)** 區段中，執行以下動作：

   1. 輸入**代理程式名稱**。
**重要**  
 請勿在代理程式名稱中加入個人身分識別資訊 (PII) 或其他機密或敏感資訊。其他 AWS 服務可存取中介裝置名稱，包括 CloudWatch Logs。代理程式名稱不適用於私有或敏感資料。

   1. 選擇**代理程式執行個體類型** (例如，**mq.m5.large**)。如需詳細資訊，請參閱[Amazon MQ for ActiveMQ 代理程式執行個體類型](broker-instance-types.md)。

1.  在 **ActiveMQ Web 主控台存取**區段中，提供**使用者名稱**和**密碼**。以下限制適用於代理程式使用者名稱和密碼：
   +  您的使用者名稱只能包含英數字元、破折號、句點、底線和波狀符號 (- . \$1 \$1)。
   +  密碼必須至少有 12 個字元、包含至少 4 個唯一字元，而且不得包含逗號、冒號或等號 (,: =)。
**重要**  
請勿在代理程式使用者名稱中加入個人身分識別資訊 (PII) 或其他機密或敏感資訊。其他 AWS 服務可存取中介裝置使用者名稱，包括 CloudWatch Logs。代理程式使用者名稱不適用於私有或敏感資料。

頁面頂端的綠色閃爍列可確認 Amazon MQ 正在復原區域中建立複本代理程式。您還可以查看代理程式的 CRDR 角色和 RPO 狀態。若要關閉「CRDR 角色」和「RPO 狀態」欄，請選擇**中介裝置**表格右上角的齒輪圖示。然後在**偏好設定**頁面上，關閉「CRDR 角色」或「RPO 狀態」。

## 步驟 2：建立現有代理程式的複本
<a name="create-new-replica-broker"></a>

1. 在 Amazon MQ 主控台的「代理程式」頁面上，選擇**建立複本中介裝置**。

1. 在**選擇主要中介裝置頁面**上，選取要作為 CRDR 主要代理程式使用的現有代理程式。然後選擇**下一步**。

1. 在**設定複本代理程式**頁面上，使用下拉式功能表選擇複本區域。

1. 在**覆寫中介裝置的 ActiveMQ 主控台使用者**區段中，提供複本代理程式主控台使用者的**使用者名稱**和**密碼**。以下限制適用於代理程式使用者名稱和密碼：
   +  您的使用者名稱只能包含英數字元、破折號、句點、底線和波狀符號 (- . \$1 \$1)。
   +  密碼必須至少有 12 個字元、包含至少 4 個唯一字元，而且不得包含逗號、冒號或等號 (,: =)。
**重要**  
請勿在代理程式使用者名稱中加入個人身分識別資訊 (PII) 或其他機密或敏感資訊。其他 AWS 服務可存取中介裝置使用者名稱，包括 CloudWatch Logs。代理程式使用者名稱不適用於私有或敏感資料。

1. 在**代理程式之間進行橋接存取的資料複寫使用者**區段中，提供將存取主要和複本代理程式之使用者的**使用者名稱**和**密碼**。以下限制適用於代理程式使用者名稱和密碼：
   +  您的使用者名稱只能包含英數字元、破折號、句點、底線和波狀符號 (- . \$1 \$1)。
   +  密碼必須至少有 12 個字元、包含至少 4 個唯一字元，而且不得包含逗號、冒號或等號 (,: =)。
**重要**  
請勿在代理程式使用者名稱中加入個人身分識別資訊 (PII) 或其他機密或敏感資訊。其他 AWS 服務可存取中介裝置使用者名稱，包括 CloudWatch Logs。代理程式使用者名稱不適用於私有或敏感資料。

   進行任何其他設定。然後選擇**下一步**。

1. 在**檢閱並建立**頁面上，檢閱複本代理程式詳細資訊。然後選擇**建立複本中介裝置**。

1.  接著重新啟動主要代理程式。這樣做也會重新啟動複本代理程式。如需有關重新啟動代理程式的指示，請參閱 [重新啟動 Amazon MQ 代理程式](amazon-mq-rebooting-broker.md)。

如需為 ActiveMQ 代理程式進行其他設定的詳細資訊，請參閱 [入門：建立並連線至 ActiveMQ 代理程式](getting-started-activemq.md)

# 刪除 Amazon MQ 跨區域資料複寫代理程式
<a name="delete-crdr-broker"></a>

 若要刪除主要或複本跨區域資料複寫 (CRDR) 代理程式，您必須先取消配對，然後重新啟動代理程式。下列指示說明如何使用 AWS 管理主控台取消配對和重新啟動代理程式。

1.  在**中介裝置**頁面上，選取要取消配對的 CRDR 代理程式，然後選擇**編輯**。

1.  在代理程式**編輯**頁面的**資料覆寫**區段中，選擇**取消代理程式配對**。

1.  在快顯視窗中輸入「確認」以確認您的選擇。然後選擇**取消代理程式配對**。

1.  接著重新啟動已取消配對的主要代理程式。這樣做也會重新啟動複本代理程式。如需有關重新啟動代理程式的指示，請參閱 [重新啟動 Amazon MQ 代理程式](amazon-mq-rebooting-broker.md)。主要代理程式重新啟動後，兩個代理程式都已取消配對，並且可分別刪除。若要刪除您的代理程式，請參閱 [刪除 Amazon MQ 代理程式](amazon-mq-deleting-broker.md)。

# 啟動切換或容錯移轉，將 Amazon MQ 複本代理程式提升為主要代理程式角色
<a name="initate-failover"></a>

 當您想要將複本代理程式提升為主要代理程式角色時，可以啟動切換或容錯移轉。當您提升複本代理程式時，主要代理程式會降為複本代理程式角色。

 **切換**會將一致性視為優先於可用性。當此容錯移轉操作完成時，就可保證代理程式擁有一致的狀態。使用切換時，在建立代理程式間一致性的情況下，可能會有一段時間用戶端連線都無法使用代理程式。複本提升時，兩個代理程式會立即擁有相同的狀態。切換是否成功，取決於兩個地區的運作狀態和區域間網路是否成功。

 **容錯移轉**會將可用性視為優先於一致性。當此操作完成時，不保證代理程式具有相同的狀態。使用容錯移轉時，可保證複本代理程式會立即提供用戶端流量服務，而不需等待任何複寫資料同步化，也不需等待主要代理程式收到關閉訊號。容錯移轉既非取決於原始主要區域的運作狀態，也非取決於區域間網路是否成功。

 下圖說明的切換，是在排空複寫佇列且代理程式狀態已同步時，代理程式均不接受用戶端連線的情況。在此程序中，主要代理程式 VPC 中的用戶端無法在操作進行時產生進一步的狀態變更，且主要代理程式正在降級為複本。當複寫佇列已排空且兩個代理程式達到一致的狀態時，在容錯移轉操作完成且複本代理程式提升為主要代理程式之前，複本代理程式的 VPC 中的用戶端無法連線到複本代理程式。

![\[Diagram showing broker switchover process between us-east-1 and us-west-2 regions with replication traffic.\]](http://docs.aws.amazon.com/zh_tw/amazon-mq/latest/developer-guide/images/planned-failover-process.png)


 下圖說明切換程序完成後的代理程式狀態。原始複本代理程式現已提升為主要代理程式角色，並且會接受用戶端連線。用戶端可從代理程式產生和使用資料。

![\[Diagram showing broker status after switchover, with primary broker in us-west-2 and replica in us-east-1.\]](http://docs.aws.amazon.com/zh_tw/amazon-mq/latest/developer-guide/images/finished-failover-process.png)


## 使用主控台提升複本代理程式
<a name="initate-failover-procedure"></a>

若要使用切換或容錯移轉提升複本代理程式，請在 Amazon MQ 主控台中執行下列步驟。

**注意**  
 您無法在主要代理程式上啟動切換或容錯移轉。

1. 切換至複本代理程式所在的區域。從「代理程式」表格，選取您要提升為主要代理程式的現有複本代理程式。

1.  在**代理程式詳細資訊頁面**上，執行以下作業：

   1. 選取**升級覆寫**。

   1. 在快顯視窗中，選擇*轉換*或*容錯移轉*。

   1. 在文字方塊中輸入「確認」以確認您的選擇。

   1. 選擇**確認**。

 啟動容錯移轉之後，代理程式的狀態會變更為*容錯移轉進行中*。容錯移轉完成時，「代理程式」頁面頂端的藍色進度列會變成綠色。

**注意**  
 只有在建立複本代理程式時才會複寫組態。不會複製之後的任何更新。

# Amazon CloudWatch 中的跨區域資料複寫指標
<a name="crdr-metrics"></a>

 Amazon MQ for ActiveMQ 跨區域資料複寫功能提供了多種指標，可用來維護主要和複本代理程式的可靠性、可用性和效能。在複寫程序期間，次要區域中的複本代理程式會接收來自主要區域中主要代理程式的非同步複寫資料。如果主要區域中的主要代理程式失敗，您可以藉由啟動切換或容錯移轉，將次要區域中的複本代理程式提升為主要代理程式。如需檢視 Amazon CloudWatch 中各種指標的指示，請參閱 [存取 Amazon MQ 的 CloudWatch 指標](amazon-mq-accessing-metrics.md)。

## CRDR 時間戳記
<a name="crdr-metrics-timestamps"></a>

 下列時間戳記說明 Amazon CloudWatch 中各種指標的計算方式。資料複製程序中有五個時間戳記：
+ 目前觀測時間 (TCO)：目前的時間點。
+ 建立時間 (TC)：主要代理程式在複寫佇列上建立事件的時間點。主要和複本代理程式兩者都適用。
+ 傳遞時間 (TD)：事件成功傳遞至複本代理程式的時間點。僅適用於複本代理程式。
+ 處理時間 (TP)：複本代理程式成功處理事件的時間點。僅適用於複本代理程式。
+ 確認時間 (TA)：主要代理程式成功確認事件的時間點。僅適用於主要代理程式。

## 利用 CRDR CloudWatch 指標來預估切換/容錯移轉效能
<a name="crdr-metrics-definitions"></a>

預設情況下，Amazon MQ 為您的代理程式啟用指標。您可以透過存取 Amazon CloudWatch 主控台，或使用 CloudWatch API，檢視您的代理程式指標。下列指標有助於了解 CRDR 代理程式的複寫和切換/容錯移轉效能：


| Amazon MQ CloudWatch 指標 | 使用 CRDR 的原因 | 
| --- | --- | 
| TotalReplicationLag | 主要代理程式上最後一個未確認事件的 TA 和 TC 之間的預估時間。 | 
| ReplicationLag | 複本代理程式上最後一個未確認事件的 TP 和 TC 之間的預估時間。 | 
| PrimaryWaitTime | 主要代理程式上最後一個已處理事件的 TCO 和 TC 之間的預估時間。 | 
| ReplicaWaitTime | 複本代理程式上最後一個已處理事件的 TCO 和 TP 之間的預估時間。 | 
| QueueSize | 主要代理程式上複寫佇列中未確認事件的總數。 | 

 `TotalReplicationLag` 和 `ReplicationLag` 說明主要和複本代理程式之間延遲的複寫。這兩個指標也可用於預估進行中的切換或容錯移轉操作還有多久時間會完成。

 `PrimaryWaitTime` 和 `ReplicaWaitTime` 可用於找出複寫程序中任何持續發生的問題。如果指標的值持續增加，可能表示複寫程序已降級或暫停。複寫變慢的原因可能包括網路分割、代理程序啟動，以及復原時間長等問題。