You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需Lambda:DynamoDB数据同步至AWS MSK方案咨询

可行,无需Lambda中转的方案实现步骤

可行,你可以通过DynamoDB Streams + Amazon Kinesis Data Firehose的组合,直接将DynamoDB的新增数据推送到AWS MSK主题,完全不需要Lambda作为中间转发层。具体实现步骤如下:

1. 启用目标DynamoDB表的流功能

  • 打开DynamoDB控制台,找到目标表,进入「流」标签页
  • 点击「启用」,选择合适的流视图类型:
    • NEW_IMAGE:获取新写入/更新后的完整数据镜像(最常用)
    • OLD_IMAGE:仅获取更新前的数据(按需选择)
    • NEW_AND_OLD_IMAGES:同时获取新旧数据
    • KEYS_ONLY:仅获取主键信息
  • 保存配置,记录下生成的流ARN,后续会用到

2. 创建Kinesis Data Firehose交付流

  • 打开Kinesis控制台,进入Data Firehose页面,点击「创建交付流」
  • 源配置:选择「DynamoDB流」,关联上一步生成的DynamoDB流ARN,配置批量大小/间隔(按需调整,比如批量100条或间隔10秒)
  • 目标配置:选择「Amazon MSK」
    • 输入MSK集群ARN,选择要推送的目标主题名称
    • 配置IAM角色:创建新角色或选择已有角色,确保角色拥有以下权限:
      • 读取DynamoDB流的权限:dynamodb:GetRecords、dynamodb:GetShardIterator、dynamodb:DescribeStream、dynamodb:ListStreams
      • 写入MSK的权限:kafka:SendMessage、kafka:DescribeCluster
  • 可选配置:
    • 数据转换:如果需要将DynamoDB流的原始格式转换为自定义JSON/其他格式,可以启用Firehose的Lambda转换(此Lambda仅做数据格式处理,并非读取流转发,符合你的需求)
    • 错误处理:设置将推送失败的数据存储到S3桶,方便后续排查
  • 完成交付流创建

3. 验证数据推送

  • 向目标DynamoDB表写入或更新一条数据
  • 通过MSK控制台的主题消息查询工具,或使用Kafka客户端连接MSK集群,检查目标主题是否收到对应的消息

注意事项

  • 确保MSK集群的安全组允许Firehose所在的VPC访问(Firehose会使用VPC端点访问MSK,需配置安全组开放9092/9094端口)
  • 若MSK集群是私有访问模式,需确保Firehose的VPC可以访问到集群节点
  • 批量配置会影响数据推送的延迟,根据业务需求平衡延迟和吞吐量

内容的提问来源于stack exchange,提问作者Abhiram Ajith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:57:38