

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

# 使用目標叢集區域中的 AWS 主控台建立複寫器
<a name="msk-replicator-create-console"></a>

下一節說明建立複寫器的逐步主控台工作流程。

**複寫器詳細資訊**

1. 在目標 MSK 叢集所在的 AWS 區域中，開啟位於 https：//[https://console.aws.amazon.com/msk/home?region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/) 的 Amazon MSK 主控台。

1. 選擇**複寫器**以顯示帳戶中的複寫器清單。

1. 選擇**建立複寫器**。

1. 在**複寫器詳細資訊**窗格中，為新複寫器提供唯一名稱。

## 選擇來源叢集
<a name="msk-replicator-create-console-choose-source"></a>

來源叢集包含您要複製到目標 MSK 叢集的資料。

1. 在**來源叢集**窗格中，選擇來源叢集所在的 AWS 區域。

   您可以前往 **MSK 叢集**並查看**叢集**詳細資訊 ARN 以查詢叢集的區域。區域名稱內嵌在 ARN 字串中。在下列範例 ARN 中，`ap-southeast-2` 為叢集區域。

   ```
   arn:aws:kafka:ap-southeast-2:123456789012:cluster/cluster-11/eec93c7f-4e8b-4baf-89fb-95de01ee639c-s1
   ```

1. 輸入來源叢集的 ARN，或瀏覽以選擇來源叢集。

1. 選擇來源叢集的子網路。

   主控台會顯示來源叢集區域中可用的子網路，以供您選取。您必須至少選取兩個子網路。對於相同區域 MSK Replicator，您選取設定用來存取來源叢集的子網路，以及用來存取目標叢集的子網路必須位於相同的可用區域之中。

1. 選擇 MSK Replicator 的安全群組 (MSK Replicator) 以存取您的來源叢集。
   + 對於跨區域複寫 (CRR)，您不需要為來源叢集提供安全群組。
   + 對於相同的區域複寫 (SRR)，請前往 Amazon EC2 主控台，網址為 https://console.aws.amazon.com/ec2/：//。此外，請確定來源叢集的安全群組具有傳入規則，允許來自為來源提供的複寫器安全群組的流量。

      

**若要將傳入規則新增至來源叢集的安全群組：**

     1. 在 AWS 主控台中，選取叢集**名稱**，前往來源叢集的詳細資訊。

     1. 選取**屬性**索引標籤，然後向下捲動至**網路設定**窗格，以選取套用的**安全群組**名稱。

     1. 前往傳入規則，然後選取**編輯傳入規則**。

     1. 選取**新增規則**。

     1. 在新規則的**類型**欄中，選取**自訂 TCP**。

     1. 在**連接埠範圍**欄中，輸入 `9098`。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。

     1. 在**來源**欄中，輸入您將為來源叢集建立複寫器時提供的安全群組名稱 （這可能與 MSK 來源叢集的安全群組相同），然後選取**儲存規則**。

      

**若要將傳出規則新增至為來源提供的複寫器安全群組：**

     1. 在 Amazon EC2 AWS 主控台中，前往您在建立來源的複寫器期間提供的安全群組。

     1. 前往傳出規則，然後選取**編輯傳出規則**。

     1. 選取**新增規則**。

     1. 在新規則的**類型**欄中，選取**自訂 TCP**。

     1. 在**連接埠範圍**欄中，輸入 `9098`。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。

     1. 在**來源**欄中，輸入 MSK 來源叢集安全群組的名稱，然後選取**儲存規則**。

**注意**  
或者，如果您不想使用安全群組限制流量，您可以新增允許所有流量的傳入和傳出規則。  
1. 選取**新增規則**。  
2. 在**類型**欄中，選取**所有流量**。  
3. 在來源資料欄中，輸入 `0.0.0.0/0`，然後選取**儲存規則**。

## 選擇目標叢集
<a name="msk-replicator-create-console-choose-target"></a>

目標叢集是作為來源資料複製目標的 MSK 佈建或無伺服器叢集。

**注意**  
MSK Replicator 會在目標叢集中建立新主題，並在主題名稱中新增自動產生的字首。例如，MSK Replicator 會將 `topic` 中的資料從來源叢集複寫到目標叢集中名為 `<sourceKafkaClusterAlias>.topic` 的新主題。這是為了區分包含從來源叢集複寫之資料的主題，與目標叢集中的其他主題，並避免在叢集之間循環複寫資料。您可以使用 `DescribeReplicator` API 或 MSK 主控台上的**複寫器詳細資訊**頁面，找到要新增至 **sourceKafkaClusterAlias** 欄位下目標叢集中之主題名稱的字首。目標叢集中的字首為 `<sourceKafkaClusterAlias>`。

1. 在**目標叢集**窗格中，選擇目標叢集所在的 AWS 區域。

1. 輸入目標叢集的 ARN，或瀏覽以選擇目標叢集。

1. 選擇目標叢集的子網路。

   主控台會顯示目標叢集區域中可用的子網路，以供您選取。選取至少兩個子網路。

1. 選擇 MSK Replicator 的安全群組 (MSK Replicator) 以存取您的目標叢集。

   系統將顯示目標叢集區域中可用的安全群組，以供您選取。所選的安全群組會與每個連線相關聯。如需使用安全群組的詳細資訊，請參閱《*Amazon VPC 使用者指南*》中的[AWS 使用安全群組控制資源的流量](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)。
   + 對於跨區域複寫 (CRR) 和相同區域複寫 (SRR)，請前往 Amazon EC2 主控台，網址為 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)：//。此外，請確定目標叢集的安全群組具有傳入規則，可接受來自於為目標提供之複寫器安全群組的流量。

      

**若要將傳入規則新增至目標叢集的安全群組：**

     1. 在 AWS 主控台中，選取叢集**名稱**，前往目標叢集的詳細資訊。

     1. 選取**屬性**索引標籤，然後向下捲動至網路設定窗格，以選取套用**的安全群組**名稱。

     1. 前往傳入規則，然後選取**編輯傳入規則**。

     1. 選取**新增規則**。

     1. 在新規則的**類型**欄中，選取**自訂 TCP**。

     1. 在**連接埠範圍**欄中，輸入 `9098`。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。

     1. 在**來源**欄中，輸入您將為目標叢集建立複寫器時提供的安全群組名稱 （這可能與 MSK 目標叢集的安全群組相同），然後選取**儲存規則**。

      

**若要將傳出規則新增至為目標提供的複寫器安全群組：**

     1. 在 AWS 主控台中，前往您在為目標建立複寫器期間提供的安全群組。

     1. 選取**屬性**索引標籤，然後向下捲動至網路設定窗格，以選取套用**的安全群組**名稱。

     1. 前往傳出規則，然後選取**編輯傳出規則**。

     1. 選取**新增規則**。

     1. 在新規則的**類型**欄中，選取**自訂 TCP**。

     1. 在**連接埠範圍**欄中，輸入 `9098`。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。

     1. 在**來源**欄中，輸入 MSK 目標叢集安全群組的名稱，然後選取**儲存規則**。

**注意**  
或者，如果您不想使用安全群組限制流量，您可以新增允許所有流量的傳入和傳出規則。  
1. 選取**新增規則**。  
2. 在**類型**欄中，選取**所有流量**。  
3. 在來源資料欄中，輸入 `0.0.0.0/0`，然後選取**儲存規則**。

## 設定複寫器設定和許可
<a name="msk-replicator-create-settings"></a>

1. 在**複寫器設定**窗格中，指定您要使用允許和拒絕清單中的規則運算式複寫的主題。依預設，會複寫所有主題。
**注意**  
MSK Replicator 最多只會依排序複寫 750 個主題。如果您需要複寫更多主題，建議您建立個別的複寫器。如果您需要每個複寫器支援超過 750 個主題，請前往 AWS 主控台支援中心並[建立支援案例](https://console.aws.amazon.com/support/home#/)。您可以使用「TopicCount」指標來監控複寫的主題數量。請參閱 [Amazon MSK Standard 代理程式配額](limits.md#msk-provisioned-quota)。

1. 根據預設，MSK Replicator 會從所選主題中*的最新* （最新） 位移開始複寫。或者，如果您想要複寫主題上的現有資料，您可以從所選主題中*最早* （最舊） 位移開始複寫。建立複寫器後，您就無法變更此設定。此設定對應至[https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators.html#CreateReplicator](https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators.html#CreateReplicator)請求和[https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators-replicatorarn.html#DescribeReplicator](https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators-replicatorarn.html#DescribeReplicator)回應 APIs中的 [https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators-replicatorarn.html#v1-replicators-replicatorarn-model-replicationstartingposition](https://docs.aws.amazon.com/msk/1.0/apireference-replicator/v1-replicators-replicatorarn.html#v1-replicators-replicatorarn-model-replicationstartingposition) 欄位。

1. 選擇主題名稱組態：
   + `PREFIXED` 主題名稱複寫 （在主控台中**將字首新增至主題名稱**)：預設設定。MSK Replicator 會將「topic1」從來源叢集複寫到目標叢集中名為 的新主題`<sourceKafkaClusterAlias>.topic1`。
   + 相同的主題名稱複寫 (**在主控台中保留相同的主題名稱**)：來源叢集中的主題會在目標叢集中以相同的主題名稱複寫。

   此設定對應至`CreateReplicator`請求和`DescribeReplicator`回應 APIs中的 `TopicNameConfiguration` 欄位。請參閱 [Amazon MSK Replicator 的運作方式](msk-replicator-how-it-works.md)。
**注意**  
根據預設，MSK Replicator 會在目標叢集中建立新的主題，並將自動產生的字首新增至主題名稱。這是為了區分包含從來源叢集複寫之資料的主題，與目標叢集中的其他主題，並避免在叢集之間循環複寫資料。或者，您可以建立具有相同主題名稱複寫的 MSK Replicator （在主控台中**保留相同的主題名稱**)，以便在複寫期間保留主題名稱。此組態可減少您在設定期間重新設定用戶端應用程式的需求，並讓您更輕鬆地操作多叢集串流架構。

1. 依預設，MSK 複寫器會複製所有中繼資料，包括主題組態、存取控制清單 (ACL) 和取用者群組位移，以實現順暢的容錯移轉。如果您不是建立用於容錯移轉的複寫器，您可以選擇關閉在**其他設定**區段中的一或多個可用設定。
**注意**  
MSK 複寫器不會複寫寫入 ACL，因為您的生產者不應該直接寫入目標叢集中的複寫主題。容錯移轉後，您的生產者應該寫入目標叢集中的本機主題。如需詳細資訊，請參閱 [執行計劃容錯移轉至次要 AWS 區域](msk-replicator-perform-planned-failover.md)。

1. 在**取用者群組複寫**窗格中，指定您要使用允許和拒絕清單中的規則運算式複寫的取用者群組。依預設，會複寫所有取用者群組。

1. 在**壓縮**窗格中，您可以選擇壓縮寫入目標叢集的資料。如果要使用壓縮，建議您使用與來源叢集中的資料相同的壓縮方法。

1. 在**存取許可**窗格中，執行下列其中一項操作：

   1. 選取**使用必要政策建立或更新 IAM 角色**。MSK 主控台會自動將必要的許可和信任政策連接到讀取和寫入來源和目標 MSK 叢集所需的服務執行角色。  
![\[用以建立或更新複寫器 IAM 角色的 MSK 主控台\]](http://docs.aws.amazon.com/zh_tw/msk/latest/developerguide/images/msk-replicator-ezCRC.png)

   1. 選取**從 Amazon MSK 可擔任的 IAM 角色中選擇，以提供您自己的 IAM 角色**。建議您將 `AWSMSKReplicatorExecutionRole`受管 IAM 政策連接至您的服務執行角色，而不是撰寫您自己的 IAM 政策。

      1. 建立複寫器將用來讀取和寫入來源和目標 MSK 叢集的 IAM 角色，其中包含以下 JSON，作為信任政策的一部分，以及`AWSMSKReplicatorExecutionRole`連接到角色的 。在信任政策中，使用您的實際帳戶 ID 取代預留位置 <yourAccountID>。

------
#### [ JSON ]

****  

        ```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "kafka.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole",
                    "Condition": {
                        "StringEquals": {
                            "aws:SourceAccount": "<yourAccountID>"
                        }
                    }
                }
            ]
        }
        ```

------

1. 在**複寫器標籤**窗格中，您可以選擇將標籤指派給 MSK Replicator 資源。如需詳細資訊，請參閱[標記 Amazon MSK 叢集](msk-tagging.md)。對於跨區域 MSK Replicator，在建立複寫器時，會自動將標籤同步至遠端區域。如果您在複寫器建立之後變更標籤，則變更不會自動同步至遠端區域，因此您需要手動同步本機複寫器和遠端複寫器參考資料。

1. 選取**建立**。

如果您想要限制`kafka-cluster:WriteData`許可，請參閱 [Amazon MSK IAM 存取控制的運作方式](https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html#how-to-use-iam-access-control)中的*建立授權政策*一節。您需要將`kafka-cluster:WriteDataIdempotently`許可新增至來源和目標叢集。

MSK Replicator 大約需要 30 分鐘才能成功建立，並轉換為 RUNNING (執行中) 狀態。

如果您建立新的 MSK Replicator 來取代已刪除的複寫器，則新的複寫器會從最新的偏移開始複寫。

如果 MSK Replicator 已轉換為 FAILED (失敗) 狀態，請參閱疑難排解章節的[疑難排解 MSK Replicator](msk-replicator-troubleshooting.md)。