View a markdown version of this page

從非 MSK Apache Kafka 叢集遷移至 Amazon MSK Express 代理程式 - Amazon Managed Streaming for Apache Kafka

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

從非 MSK Apache Kafka 叢集遷移至 Amazon MSK Express 代理程式

您可以使用 MSK Replicator 將 Apache Kafka 工作負載從自我管理環境遷移至具有 Express 代理程式的 Amazon MSK 佈建叢集。MSK Replicator 支援從已啟用 SASL/SCRAM 身分驗證的 Kafka 部署 (Kafka 2.8.1 版或更新版本) 進行資料遷移。

注意

只有 MSK Replicator 需要 SASL/SCRAM 身分驗證才能連線至自我管理的 Kafka 叢集。您的用戶端應用程式可以繼續使用其現有的身分驗證機制。

先決條件

開始之前,請確定您有下列項目:

  1. 執行 2.8.1 版或更新版本的來源 Apache Kafka 叢集

  2. 在來源叢集上啟用 SASL/SCRAM 身分驗證

  3. 在來源叢集上設定的 SSL 加密

  4. 透過 AWS Site-to-Site或 AWS Direct Connect 進行網路連線

  5. 針對 Secrets Manager 存取設定的 VPC 子網路

如需詳細說明,請參閱 使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

步驟 1:建立 Amazon MSK Express 叢集

建立已啟用 IAM 身分驗證的 MSK 佈建叢集。跨三個可用AZs。請參閱 準備目標叢集

步驟 2:建立 IAM 執行角色

連接 AWSMSKReplicatorExecutionRoleAWSSecretsManagerClientReadOnlyAccess 受管政策。設定 的信任政策kafka.amazonaws.com。請參閱 使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

步驟 3:在自我管理叢集上設定 SASL/SCRAM 和 SSL

建立具有必要 ACL 許可的專用 SCRAM 使用者。設定 SSL 憑證。請參閱 使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

步驟 4:在 AWS Secrets Manager 中存放登入資料

使用 usernamepasswordcertificate鍵/值對建立秘密。請參閱 使用自我管理的 Apache Kafka 叢集設定 MSK Replicator 的先決條件

步驟 5:建立複寫器

使用 CreateReplicator API 搭配EARLIEST起始位置、相同主題名稱複寫,並將 synchroniseConsumerGroupOffsets設定為 true。如果您計劃為轉返功能設定雙向複寫 (步驟 6),也請在向前和反向複寫器ENHANCEDconsumerGroupOffsetSyncMode將 設定為 。等待約 30 分鐘,讓複寫器達到 RUNNING 狀態。請參閱 自我管理 Kafka 叢集的 CreateReplicator API 範例

步驟 6:(選用) 設定雙向複寫

從 MSK Express 叢集建立反向複寫器,再回到自我管理叢集以復原功能。請參閱 自我管理 Kafka 叢集的 CreateReplicator API 範例

步驟 7:監控複寫進度

監控下列指標:

  • MessageLag (應達到 0)

  • ReplicationLatency

  • ConsumerGroupOffsetSyncFailure (應為 0)

  • ConsumerGroupCount

  • OffsetLag (MSK Cluster)OffsetLag (Non-MSK Cluster)

如需詳細資訊,請參閱監控複寫

步驟 8:遷移應用程式

請依照下列步驟遷移您的應用程式:

  1. 停止生產者寫入自我管理叢集

  2. 使用 IAM 身分驗證將生產者重新設定為 MSK Express 叢集

  3. 監控MessageLag直到達到 0

  4. 在自我管理叢集上停止取用者

  5. 將取用者重新設定為 MSK Express 叢集

步驟 9:(選用) 復原至自我管理的叢集

如果已設定雙向複寫,您可以反轉遷移步驟,以轉返至自我管理叢集。反向複寫器 (MSK Express → 外部) 將保持自我管理叢集的同步,因此消費者可以重新導向回而不會遺失資料。