View a markdown version of this page

从非 MSK Apache Kafka 集群迁移到已配置的 Amazon MSK - Amazon Managed Streaming for Apache Kafka

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从非 MSK Apache Kafka 集群迁移到已配置的 Amazon MSK

您可以使用 MSK Replicator 将 Apache Kafka 工作负载从自管理环境迁移到亚马逊 MSK 预置集群。MSK Replicator 支持从启用双向 TLS (mTLS) 或 (OAuth) 身份验证的 Kafka 部署(Kafka 版本 2.8.1 或 SASL/OAUTHBEARER 更高版本)迁移数据。 SASL/SCRAM

注意

SASL/SCRAM只有 MSK Replicator 需要 SASL/OAUTHBEARER 进行身份验证、mTLS 或身份验证才能连接到您的自我管理的 Kafka 集群。您的客户端应用程序可以继续使用其现有的身份验证机制。

先决条件

开始之前,确保您已准备好以下事项:

  1. 运行 2.8.1 或更高版本的源 Apache Kafka 集群

  2. SASL/SCRAM、mTLS 或在源集群上启用 SASL/OAUTHBEARER 身份验证

  3. 在源集群上配置的 SSL 加密

  4. 通过 AWS Site-to-Site VPN 或 AWS 直接连接进行网络连接

  5. 为访问密钥管理器配置的 VPC 子网

有关详细说明,请参阅使用自管理 Apache Kafka 集群为 MSK Replicator 设置先决条件。

第 1 步:创建 Amazon MSK 预置集群

创建启用 IAM 身份验证的 MSK 预置集群。在三个可用区中至少有三个经纪人。请参阅准备目标集群。

第 2 步:创建 IAM 执行角色

附加AWSMSKReplicatorExecutionRole托管策略并配置的信任策略kafka.amazonaws.com。为 per AWS Secrets Manager ( AWS KMS 如果您的密钥是 CMK-encrypted)添加内联权限mTL 和客户管理密钥的其他 SER 权限 SASL/SCRAM SASL/OAUTHBEARER。请参阅使用自管理 Apache Kafka 集群为 MSK Replicator 设置先决条件。

第 3 步:在自管集群上配置 SASL/SCRAM、mTLS 或 SASL/OAUTHBEARER SSL

在自管集群上配置身份验证。对于 SASL/SCRAM,创建具有所需 ACL 权限的专用 SCRAM 用户。对于 mTLS,使用客户端证书身份验证配置 SSL 侦听器。对于 SASL/OAUTHBEARER,为 OAUTHBEARER 配置您的代理并注册提供访问令牌的身份提供商 (IDP)。配置 SSL 证书。请参阅使用自管理 Apache Kafka 集群为 MSK Replicator 设置先决条件。

步骤 4:将凭据存储在 AWS Secrets Manager

使用适合您的身份验证类型的键值对创建密钥。对于 SASL/SCRAM、包含usernamepassword、和certificate字段。对于 mTL,包括certificate和privateKey字段(加密私钥privateKeyPassword也是可选的)。要 SASL/OAUTHBEARER 使用客户端凭证机制,请包含client_id和client_secret字段。请参阅使用自管理 Apache Kafka 集群为 MSK Replicator 设置先决条件。

步骤 5:创建复制器

使用EARLIEST起始位置、相同主题名称复制并synchroniseConsumerGroupOffsets设置为的 CreateReplicator API true。调用的 IAM 委托人CreateReplicator必须具有中所述的 API 调用者权限创建 MSK 复制器所需的 IAM 权限。如果您计划为回滚功能设置双向复制(步骤 6),还consumerGroupOffsetSyncMode要在正向和反向复制器ENHANCED上都设置为。等待大约 30 分钟,让复制器进入运行状态。请参阅CreateReplicator 自建的 Kafka 集群的 API 示例。

步骤 6:(可选)设置双向复制

从 MSK 配置的集群创建反向复制器返回自管理集群,以实现回滚功能。在反向复制器中识别两个集群,完全按照您在正向复制器中识别它们的方式识别它们。请参阅双向复制示例。

第 7 步:监控复制进度

监控以下指标:

  • MessageLag(应达到 0)

  • ReplicationLatency

  • ConsumerGroupOffsetSyncFailure(应为 0)

  • ConsumerGroupCount

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

有关更多信息,请参阅 监控复制。

第 8 步:迁移应用程序

请按照以下步骤迁移您的应用程序:

  1. 阻止生产者写入自管集群

  2. 使用 IAM 身份验证将生产者重新配置为 MSK 预置集群

  3. 监视MessageLag直到达到 0

  4. 在自建集群上阻止消费者

  5. 将消费者重新配置为 MSK 配置的集群

第 9 步:(可选)回滚到自建集群

如果配置了双向复制,则可以反向迁移步骤以回滚到自建集群。反向复制器(已配置 MSK → 外部)将使自管理集群保持同步,因此可以将消费者重定向回而不会丢失数据。