本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
下一節說明建立複寫器的逐步主控台工作流程。
複寫器詳細資訊
-
在目標 MSK 叢集所在的 AWS 區域中,開啟位於 https://https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
的 Amazon MSK 主控台。 -
選擇複寫器以顯示帳戶中的複寫器清單。
-
選擇建立複寫器。
-
在複寫器詳細資訊窗格中,為新複寫器提供唯一名稱。
選擇來源叢集
來源叢集包含您要複製到目標 MSK 叢集的資料。
-
在來源叢集窗格中,選擇來源叢集所在的 AWS 區域。
您可以前往 MSK 叢集並查看叢集詳細資訊 ARN 以查詢叢集的區域。區域名稱內嵌在 ARN 字串中。在下列範例 ARN 中,
ap-southeast-2
為叢集區域。arn:aws:kafka:ap-southeast-2:123456789012:cluster/cluster-11/eec93c7f-4e8b-4baf-89fb-95de01ee639c-s1
-
輸入來源叢集的 ARN,或瀏覽以選擇來源叢集。
-
選擇來源叢集的子網路。
主控台會顯示來源叢集區域中可用的子網路,以供您選取。您必須至少選取兩個子網路。對於相同區域 MSK Replicator,您選取設定用來存取來源叢集的子網路,以及用來存取目標叢集的子網路必須位於相同的可用區域之中。
選擇 MSK Replicator 的安全群組 (MSK Replicator) 以存取您的來源叢集。
對於跨區域複寫 (CRR),您不需要為來源叢集提供安全群組。
對於相同的區域複寫 (SRR),請前往 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/://。此外,請確定來源叢集的安全群組具有傳入規則,允許來自為來源提供的複寫器安全群組的流量。
若要將傳入規則新增至來源叢集的安全群組:
在 AWS 主控台中,選取叢集名稱,前往來源叢集的詳細資訊。
選取屬性索引標籤,然後向下捲動至網路設定窗格,以選取套用的安全群組名稱。
前往傳入規則,然後選取編輯傳入規則。
選取新增規則。
在新規則的類型欄中,選取自訂 TCP。
在連接埠範圍欄中,輸入
9098
。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。在來源欄中,輸入您在建立來源叢集的複寫器期間提供的安全群組名稱 (這可能與 MSK 來源叢集的安全群組相同),然後選取儲存規則。
若要將傳出規則新增至為來源提供的 Replicator 安全群組:
在適用於 Amazon EC2 的 AWS 主控台中,前往您在建立來源的複寫器期間提供的安全群組。
前往傳出規則,然後選取編輯傳出規則。
選取新增規則。
在新規則的類型欄中,選取自訂 TCP。
在連接埠範圍欄中,輸入
9098
。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。在來源欄中,輸入 MSK 來源叢集安全群組的名稱,然後選取儲存規則。
注意
或者,如果您不想使用安全群組限制流量,您可以新增允許所有流量的傳入和傳出規則。
1. 選取新增規則。
2. 在類型欄中,選取所有流量。
3. 在來源資料欄中,輸入 0.0.0.0/0
,然後選取儲存規則。
選擇目標叢集
目標叢集是作為來源資料複製目標的 MSK 佈建或無伺服器叢集。
注意
MSK Replicator 會在目標叢集中建立新主題,並在主題名稱中新增自動產生的字首。例如,MSK Replicator 會將 topic
中的資料從來源叢集複寫到目標叢集中名為 <sourceKafkaClusterAlias>.topic
的新主題。這是為了區分包含從來源叢集複寫之資料的主題,與目標叢集中的其他主題,並避免在叢集之間循環複寫資料。您可以使用 DescribeReplicator
API 或 MSK 主控台上的複寫器詳細資訊頁面,找到要新增至 sourceKafkaClusterAlias 欄位下目標叢集中之主題名稱的字首。目標叢集中的字首為 <sourceKafkaClusterAlias>
。
在目標叢集窗格中,選擇目標叢集所在的 AWS 區域。
輸入目標叢集的 ARN,或瀏覽以選擇目標叢集。
選擇目標叢集的子網路。
主控台會顯示目標叢集區域中可用的子網路,以供您選取。選取至少兩個子網路。
選擇 MSK Replicator 的安全群組 (MSK Replicator) 以存取您的目標叢集。
系統將顯示目標叢集區域中可用的安全群組,以供您選取。所選的安全群組會與每個連線相關聯。如需使用安全群組的詳細資訊,請參閱《Amazon VPC 使用者指南》中的AWS 使用安全群組控制資源的流量。
對於跨區域複寫 (CRR) 和相同區域複寫 (SRR),請前往 Amazon EC2 主控台 https://https://console.aws.amazon.com/ec2/
。此外,請確定目標叢集的安全群組具有傳入規則,可接受來自於為目標提供之複寫器安全群組的流量。 若要將傳入規則新增至目標叢集的安全群組:
在 AWS 主控台中,選取叢集名稱,前往目標叢集的詳細資訊。
選取屬性索引標籤,然後向下捲動至網路設定窗格,以選取套用的安全群組名稱。
前往傳入規則,然後選取編輯傳入規則。
選取新增規則。
在新規則的類型欄中,選取自訂 TCP。
在連接埠範圍欄中,輸入
9098
。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。在來源欄中,輸入您在為目標叢集建立複寫器期間提供的安全群組名稱 (這可能與 MSK 目標叢集的安全群組相同),然後選取儲存規則。
若要將傳出規則新增至為目標提供的 Replicator 安全群組:
在 AWS 主控台中,前往您在建立 Replicator 期間為目標提供的安全群組。
選取屬性索引標籤,然後向下捲動至網路設定窗格,以選取套用的安全群組名稱。
前往傳出規則,然後選取編輯傳出規則。
選取新增規則。
在新規則的類型欄中,選取自訂 TCP。
在連接埠範圍欄中,輸入
9098
。MSK Replicator 使用 IAM 存取控制來連線至使用連接埠 9098 的叢集。在來源欄中,輸入 MSK 目標叢集安全群組的名稱,然後選取儲存規則。
注意
或者,如果您不想使用安全群組限制流量,您可以新增允許所有流量的傳入和傳出規則。
1. 選取新增規則。
2. 在類型欄中,選取所有流量。
3. 在來源資料欄中,輸入 0.0.0.0/0
,然後選取儲存規則。
設定複寫器設定和許可
-
在複寫器設定窗格中,指定您要使用允許和拒絕清單中的規則運算式複寫的主題。依預設,會複寫所有主題。
注意
MSK Replicator 只會依排序複寫最多 750 個主題。如果您需要複寫更多主題,建議您建立單獨的複寫器。如果您需要每個複寫器支援超過 750 個主題,請前往 AWS 主控台支援中心並建立支援案例
。您可以使用「TopicCount」指標來監控複寫的主題數量。請參閱 Amazon MSK Standard 代理程式配額。 -
根據預設,MSK Replicator 會從所選主題中的最新 (最新) 偏移開始複寫。或者,如果您想要複寫主題上的現有資料,您可以從所選主題中最早 (最舊) 偏移開始複寫。建立複寫器後,您就無法變更此設定。此設定對應至
CreateReplicator
請求和DescribeReplicator
回應 APIs中的startingPosition
欄位。 -
選擇主題名稱組態:
PREFIXED
主題名稱複寫 (在主控台中新增主題名稱的字首):預設設定。MSK Replicator 會將 “topic1” 從來源叢集複寫到目標叢集中的新主題,名稱為<sourceKafkaClusterAlias>.topic1
。相同的主題名稱複寫 (在主控台中保留相同的主題名稱):來源叢集中的主題會在目標叢集中以相同的主題名稱複寫。
此設定對應至
CreateReplicator
請求和DescribeReplicator
回應 APIs中的TopicNameConfiguration
欄位。請參閱 Amazon MSK Replicator 的運作方式。注意
根據預設,MSK Replicator 會在目標叢集中建立新的主題,並將自動產生的字首新增至主題名稱。這是為了區分包含從來源叢集複寫之資料的主題,與目標叢集中的其他主題,並避免在叢集之間循環複寫資料。或者,您可以建立具有相同主題名稱複寫 (在主控台中保留相同的主題名稱) 的 MSK 複寫器,以便在複寫期間保留主題名稱。此組態可減少您在設定期間重新設定用戶端應用程式的需求,並讓您更輕鬆地操作多叢集串流架構。
-
依預設,MSK 複寫器會複製所有中繼資料,包括主題組態、存取控制清單 (ACL) 和取用者群組位移,以實現順暢的容錯移轉。如果您不是建立用於容錯移轉的複寫器,您可以選擇關閉在其他設定區段中的一或多個可用設定。
注意
MSK 複寫器不會複寫寫入 ACL,因為您的生產者不應該直接寫入目標叢集中的複寫主題。容錯移轉後,您的生產者應該寫入目標叢集中的本機主題。如需詳細資訊,請參閱 執行計劃容錯移轉到次要 AWS 區域。
-
在取用者群組複寫窗格中,指定您要使用允許和拒絕清單中的規則運算式複寫的取用者群組。依預設,會複寫所有取用者群組。
-
在壓縮窗格中,您可以選擇壓縮寫入目標叢集的資料。如果要使用壓縮,建議您使用與來源叢集中的資料相同的壓縮方法。
-
在存取許可窗格中,執行下列其中一項操作:
-
選取使用必要政策建立或更新 IAM 角色。MSK 主控台會自動將必要的許可和信任政策連接到讀取和寫入來源和目標 MSK 叢集所需的服務執行角色。
-
選取從 Amazon MSK 可擔任的 IAM 角色中選擇,以提供您自己的 IAM 角色。建議您將
AWSMSKReplicatorExecutionRole
受管 IAM 政策連接至您的服務執行角色,而不是撰寫您自己的 IAM 政策。-
建立 IAM 角色,複寫器將用來讀取和寫入來源和目標 MSK 叢集,並使用以下 JSON 做為信任政策的一部分,並將
AWSMSKReplicatorExecutionRole
連接到角色。在信任政策中,使用您的實際帳戶 ID 取代預留位置 <yourAccountID>。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kafka.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<yourAccountID>" } } } ] }
-
-
-
在複寫器標籤窗格中,您可以選擇將標籤指派給 MSK Replicator 資源。如需詳細資訊,請參閱標記 Amazon MSK 叢集。對於跨區域 MSK Replicator,在建立複寫器時,會自動將標籤同步至遠端區域。如果您在複寫器建立之後變更標籤,則變更不會自動同步至遠端區域,因此您需要手動同步本機複寫器和遠端複寫器參考資料。
-
選取建立。
如果您想要限制kafka-cluster:WriteData
許可,請參閱 Amazon MSK IAM 存取控制運作方式中的建立授權政策一節。您需要將kafka-cluster:WriteDataIdempotently
許可新增至來源和目標叢集。
MSK Replicator 大約需要 30 分鐘才能成功建立,並轉換為 RUNNING (執行中) 狀態。
如果您建立新的 MSK Replicator 來取代已刪除的複寫器,則新的複寫器會從最新的偏移開始複寫。
如果 MSK Replicator 已轉換為 FAILED (失敗) 狀態,請參閱疑難排解章節的疑難排解 MSK Replicator。