消息队列Kafka版提供全托管、免运维的实例迁移和消息路由服务,用于自建实例与消息队列Kafka版实例之间或者消息队列Kafka版实例之间的数据同步。本文介绍实例迁移和消息路由的类型、使用限制、跨VPC数据同步以及使用流程。

前提条件

  • 您已购买并部署消息队列Kafka版实例,且该实例必须满足以下条件:
    项目 说明
    状态 服务中
    版本 消息队列Kafka版实例的版本必须满足以下任意一种要求:
    • 大版本为0.10.2,且小版本为最新版本。
    • 大版本为2.2.0。
  • 若您需要使用消息路由功能,请确保已开通事件总线EventBridge并授权
说明 您可以在消息队列Kafka版控制台实例详情页面的基础信息区域查看实例的运行状态和版本。

背景信息

实例迁移可以把源消息队列Kafka版集群的元数据(Topic和Group配置信息)和消息数据同步到目标集群,迁移完成后目标集群的元数据与源集群的元数据保持一致并且持续更新。

消息路由可以把源消息队列Kafka版集群的任一Topic的消息数据同步到目标集群的Topic,属于Topic级别的迁移,只同步消息数据不同步元数据,源Topic与目标Topic分区数不需要保持一致。

使用限制

消息队列Kafka版对实例迁移和消息路由的限制如下:

项目 限制值
数量 单实例最多创建20个迁移路由任务。在单实例中迁移路由与Connector资源共享。
地域 该功能目前有个别地域未开通。具体信息,请参见开服地域
规格类型 创建实例迁移任务时,实例的规格类型需为专业版(高写版)专业版(高读版)
说明 如果您需要提升您的实例任务数量或者需要更多的地域,请提交工单联系消息队列Kafka版技术人员。

计费说明

消息队列Kafka版的迁移路由组件处于公测阶段,且独立于消息队列Kafka版实例,因此不会在消息队列Kafka版侧产生费用。同时,阿里云不承诺迁移路由的SLA,使用迁移路由所依赖的其他产品的SLA和费用说明请以对应产品为准。

环境要求

如果您需要通过实例迁移或消息路由功能将公网的自建实例的数据同步到消息队列Kafka版或者跨地域将某个VPC内的消息队列Kafka版的数据同步到另一个VPC的消息队列Kafka版,您需要为该实例迁移或消息路由任务开启公网访问,然后在公网上进行数据同步。具体步骤,请参见开启公网访问

如果您需要将某个VPC内的数据通过实例迁移或消息路由功能同步到另一个VPC的消息队列Kafka版,华东1(杭州)和西南1(成都)地域支持自动打通VPC,其他地域需要手动打通VPC。具体步骤,请参见使用云企业网实现跨地域跨账号VPC互通(基础版)

开启迁移路由

开启某个实例下迁移路由功能,以便于您同步数据。

  1. 登录消息队列Kafka版控制台
  2. 概览页面的资源分布区域,选择地域。
  3. 在左侧导航栏,单击迁移路由
  4. 迁移路由页面,从实例列表的下拉列表选择目标实例,单击创建任务
  5. 您尚未开通当前实例的 Connector 功能提示对话框,单击确认

创建并部署实例迁移任务

  1. 登录消息队列Kafka版控制台
  2. 概览页面的资源分布区域,选择地域。
  3. 在左侧导航栏,单击迁移路由
  4. 迁移路由页面,从实例列表的下拉列表选择目标实例,单击创建任务
  5. 创建任务配置向导页面,完成以下操作。
    1. 配置基本信息页签,选择任务类型迁移,并配置以下参数,单击下一步
      参数 说明 示例
      名称 任务名称。 demo-test
      目标实例 迁移到消息队列Kafka版实例的名称。默认为迁移路由页面的实例名称,您无需填写。 alikafka_pre-cn-zvp2ooz9****
    2. 配置源服务页签,配置源服务参数,然后单击下一步
      • 源实例类型公网(IDC或跨云云实例)
        参数 说明 示例
        接入点 配置源实例的接入点信息。 192.168.XX.XX:9092
        安全协议 选择源实例的安全协议。
        • PLAINTEXT
        • SASL_PLAINTEXT
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
        • SASL_SSL
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
          • ssl truststore文件
          • ssl truststore password
          • ssl endpoint identification algorithm
        PLAINTEXT
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        同步sasl用户 迁移数据时是否同步SASL用户。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的SASL用户信息同步到目标实例。
        • :迁移数据时不会将源实例的SASL用户信息同步到目标实例。
        同步topic acls 迁移数据时是否同步Topic ACLS。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的Topic ACLS信息同步到目标实例。若源实例是自建实例,则需要手动在目标实例创建SASL用户后,才可以将源实例的Topic ACLS信息同步到目标实例。
        • :迁移数据时不会将源实例的Topic ACLS信息同步到目标实例。
        同步消费组 迁移数据时是否同步创建消费组。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费组同步创建在目标实例。
        • :迁移数据时不会将源实例的消费组同步创建在目标实例。
        同步消费位点 迁移数据时是否同步消费位点。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费位点同步创建在目标实例。选择同步消费组时,才可以配置该参数。
        • :迁移数据时不会将源实例的消费位点同步创建在目标实例。
        Topic 源实例的Topic是否需要同步到目标实例,不填写则同步所有Topic。单击配置运行环境显示该参数。 test-topic
        创建为Local引擎 Topic 迁移到目标实例的非Compact类型的Topic如果想保持为Local引擎,则在此填写。不填写则被创建为云引擎。单击配置运行环境显示该参数。 test-topic
      • 源实例类型VPC实例(云上自建实例/打通协议网络)
        参数 说明 示例
        源地域 选择源实例的地域信息。 华东1(杭州)
        接入点 配置源实例的接入点信息。 192.168.XX.XX:9092
        VPC ID 配置源实例的VPC ID。默认为源实例所在的VPC,您无需填写。 vpc-test-c****
        vSwitch ID 配置源实例的vSwitch ID。 vsw-bp1gbjqsf53og****
        安全组 选择源实例的安全组。 alikafka_pre-cn-7mz2****
        安全协议 选择源实例的安全协议。
        • PLAINTEXT
        • SASL_PLAINTEXT
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
        • SASL_SSL
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
          • ssl truststore文件
          • ssl truststore password
          • ssl endpoint identification algorithm
        PLAINTEXT
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        同步sasl用户 迁移数据时是否同步SASL用户。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的SASL用户信息同步到目标实例。
        • :迁移数据时不会将源实例的SASL用户信息同步到目标实例。
        同步topic acls 迁移数据时是否同步Topic ACLS。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的Topic ACLS信息同步到目标实例。若源实例是自建实例,则需要手动在目标实例创建SASL用户后,才可以将源实例的Topic ACLS信息同步到目标实例。
        • :迁移数据时不会将源实例的Topic ACLS信息同步到目标实例。
        同步消费组 迁移数据时是否同步创建消费组。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费组同步创建在目标实例。
        • :迁移数据时不会将源实例的消费组同步创建在目标实例。
        同步消费位点 迁移数据时是否同步消费位点。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费位点同步创建在目标实例。选择同步消费组时,才可以配置该参数。
        • :迁移数据时不会将源实例的消费位点同步创建在目标实例。
        Topic 源实例的Topic是否需要同步到目标实例,不填写则同步所有Topic。单击配置运行环境显示该参数。 test-topic
        创建为Local引擎 Topic 迁移到目标实例的非Compact类型的Topic。如果想保持为Local引擎,则在此填写。不填写则被创建为云引擎。单击配置运行环境显示该参数。 test-topic
      • 源实例类型VPC 实例(消息队列Kafka实例)
        参数 说明 示例
        源地域 选择源实例的地域信息。 华东1(杭州)
        源实例 选择源实例。 alikafka_pre-cn-zvp2ooz9****
        VPC ID 数据同步任务所在的VPC。单击配置运行环境显示该参数。默认为消息队列Kafka版实例所在的VPC,您无需填写。 vpc-bp1xpdnd3l***
        跨vpc网络模式 源实例与目标所在VPC不一致时需要打通VPC。仅当源实例与目标所在VPC不一致时显示该参数。 手动打通
        vSwitch ID 数据同步任务所在的交换机。单击配置运行环境显示该参数。该交换机必须与消息队列Kafka版实例处于同一VPC。默认为部署消息队列Kafka版实例时填写的交换机。 vsw-bp1d2jgg81****
        安全组 选择源实例的安全组。 sg-bp1fqz4dui****
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        同步sasl用户 迁移数据时是否同步SASL用户。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的SASL用户信息同步到目标实例。
        • :迁移数据时不会将源实例的SASL用户信息同步到目标实例。
        同步topic acls 迁移数据时是否同步Topic ACLS。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的Topic ACLS信息同步到目标实例。若源实例是自建实例,则需要手动在目标实例创建SASL用户后,才可以将源实例的Topic ACLS信息同步到目标实例。
        • :迁移数据时不会将源实例的Topic ACLS信息同步到目标实例。
        同步消费组 迁移数据时是否同步创建消费组。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费组同步创建在目标实例。
        • :迁移数据时不会将源实例的消费组同步创建在目标实例。
        同步消费位点 迁移数据时是否同步消费位点。单击配置运行环境显示该参数。默认选择
        • :迁移数据时会将源实例的消费位点同步创建在目标实例。选择同步消费组时,才可以配置该参数。
        • :迁移数据时不会将源实例的消费位点同步创建在目标实例。
        Topic 源实例的Topic是否需要同步到目标实例,不填写则同步所有Topic。单击配置运行环境显示该参数。 test-topic
    3. 配置目标服务页签,单击创建
  6. 创建完成后,在迁移路由页面,从实例列表的下拉列表选择目标实例,在目标实例列表中找到创建的任务,单击其操作列的部署
    迁移路由页面,您可以看到创建的任务状态运行中,则说明任务创建成功。

创建并部署消息路由任务

  1. 登录消息队列Kafka版控制台
  2. 概览页面的资源分布区域,选择地域。
  3. 在左侧导航栏,单击迁移路由
  4. 迁移路由页面,从实例列表的下拉列表选择目标实例,单击创建任务
  5. 创建任务配置向导页面,完成以下操作。
    1. 配置基本信息页签,选择任务类型路由,并配置以下参数,单击下一步
      参数 说明 示例
      名称 任务名称。 demo-test
      目标实例 将数据同步到消息队列Kafka版上的目标实例名称。默认为迁移路由页面的实例名称,您无需填写。 alikafka_pre-cn-zvp2ooz9****
    2. 配置源服务页签,配置源服务参数,然后单击下一步
      • 源实例类型公网(IDC或跨云云实例)
        参数 说明 示例
        接入点 配置源实例的接入点信息。 192.168.XX.XX:9092
        安全协议 选择源实例的安全协议。
        • PLAINTEXT
        • SASL_PLAINTEXT
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
        • SASL_SSL
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
          • ssl truststore文件
          • ssl truststore password
          • ssl endpoint identification algorithm
        PLAINTEXT
        数据源Topic 需要同步数据的Topic。 test-topic
        消费初始位置 开始消费的位置。取值说明如下:
        • 最早位点:从最初位点开始消费。
        • 最近位点:从最新位点开始消费。
        最早位点
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        任务消费组 消息路由任务使用的Group。 etl-cluster-kafka
      • 源实例类型VPC实例(云上自建实例/打通协议网络)
        参数 说明 示例
        源地域 选择源实例的地域信息。 华东1(杭州)
        接入点 配置源实例的接入点信息。 192.168.XX.XX:9092
        VPC ID 配置源实例的VPC ID。默认为源实例所在的VPC,您无需填写。 vpc-bp1xpdnd3l***
        vSwitch ID 配置源实例的vSwitch ID。 vsw-bp1d2jgg81***
        安全组 选择源实例的安全组。 sg-bp1fqz4dui****
        安全协议 选择源实例的安全协议。
        • PLAINTEXT
        • SASL_PLAINTEXT
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
        • SASL_SSL
          • SASL 用户名
          • SASL 密码
          • Sasl_Mechanism
          • ssl truststore文件
          • ssl truststore password
          • ssl endpoint identification algorithm
        PLAINTEXT
        数据源Topic 需要同步数据的Topic。 elasticsearch-test-input
        消费初始位置 开始消费的位置。取值说明如下:
        • 最早位点:从最初位点开始消费。
        • 最近位点:从最新位点开始消费。
        最早位点
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        任务消费组 消息路由任务使用的Group。 etl-cluster-kafka
      • 源实例类型VPC 实例(消息队列Kafka实例)
        参数 说明 示例
        源地域 选择源实例的地域信息。 华东1(杭州)
        源实例 选择源实例。 alikafka_pre-cn-zvp2ooz9****
        VPC ID 数据同步任务所在的VPC。单击配置运行环境显示该参数。默认为消息队列Kafka版实例所在的VPC,您无需填写。 vpc-bp1xpdnd3l***
        跨vpc网络模式 源实例与目标所在VPC不一致时需要打通VPC。仅当源实例与目标所在VPC不一致时显示该参数。 手动打通
        vSwitch ID 数据同步任务所在的交换机。单击配置运行环境显示该参数。该交换机必须与消息队列Kafka版实例处于同一VPC。默认为部署消息队列Kafka版实例时填写的交换机。 vsw-bp1d2jgg81***
        安全组 选择源实例的安全组。 sg-bp1fqz4dui****
        数据源Topic 需要同步数据的Topic。 elasticsearch-test-input
        消费初始位置 开始消费的位置。取值说明如下:
        • 最早位点:从最初位点开始消费。
        • 最近位点:从最新位点开始消费。
        最早位点
        任务数 选择同步数据的任务数。取值说明如下:
        • 1
        • 6
        • 12
        12
        任务消费组 消息路由任务使用的Group。 etl-cluster-kafka
    3. 配置目标服务页签,填写目标 Topic,然后单击创建
  6. 创建完成后,在迁移路由页面,找到创建的任务,单击其操作列的部署
    迁移路由页面,您可以看到创建的任务状态运行中,则说明任务创建成功。

其他操作

迁移路由页面,从实例列表的下拉列表选择任务所属的实例,在实例下的任务列表中找到目标任务,在其操作列,执行其他操作。
其他操作
  • 查看任务详情:单击详情。在任务详情页面,查看实例迁移或消息路由任务的基础信息源服务目标服务运行环境配置信息。
  • 查看同步进度:单击同步进度,选择查看的Topic,单击确认
  • 修改任务配置:单击修改配置,在修改任务配置面板,按需修改任务参数。
  • 重置消费位点:选择更多 > 重置消费位点,设置需要重置的Topic和重置方式,然后单击确认。关于重置消费位点的更多信息,请参见重置消费位点
  • 启停任务:选择更多 > 暂停更多 > 启用,然后在提示对话框,单击确认
  • 删除任务:选择更多 > 删除,然后在提示对话框,单击确认

开启公网访问

如需使用迁移路由功能跨地域访问其他阿里云服务或公网连接点,您需要为迁移路由开启公网访问。

  1. 为部署了消息队列Kafka版实例的VPC 1创建NAT网关。
    更多信息,请参见创建和管理公网NAT网关实例
  2. 为创建的NAT网关绑定弹性公网IP。
    更多信息,请参见绑定ECS实例
  3. 为VPC 1下消息队列Kafka版实例使用的交换机创建SNAT条目。
    更多信息,请参见创建和管理SNAT条目