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

Terraform AWS DMS模块Kinesis端点未识别kinesis_settings报错排查

Terraform AWS DMS模块kinesis端点配置校验报错问题

报错信息

执行plan阶段触发如下错误:

│ Error: 1 error occurred:
│       * kinesis_settings must be set when engine_name = "kinesis"
│
│
│
│   with module.replicate_oltp.aws_dms_endpoint.this["rates_kinesis_target"],
│   on .terraform/modules/replicate_oltp/main.tf line 160, in resource "aws_dms_endpoint" "this":
│  160: resource "aws_dms_endpoint" "this" {

排查目标:

  • 定位terraform-aws-dms模块无法识别传入kinesis_settings变量的根因
  • 明确Terraform在plan阶段识别AWS DMS模块动态生成aws_dms_endpoint资源结构与上下文的逻辑

环境版本信息

  • DMS模块版本:1.5.1
  • Terraform版本:v1.1.9,运行于linux_amd64架构
  • AWS Provider版本:module.replicate_oltp依赖hashicorp/aws provider版本 >= 4.6.0
  • 前置操作:已启用Terraform工作区,已清除本地.terraform缓存

复现步骤

  1. 执行初始化命令:terraform init -backend-config=envs/dev-main/backend.tf
  2. 执行terraform plan即可稳定复现上述报错

已确认现象与待解疑问

  • 核心配置中已为kinesis类型目标端点传入完整kinesis_settings块,包含service_access_role_arn、stream_arn等必填参数,符合官方文档要求的配置格式
  • 排查中发现关键现象:注释掉kinesis_settings中的service_access_role_arn参数后,terraform plan可正常执行,无上述校验报错
  • 模块源码逻辑相关疑问:
    • engine_name字段与模块内对应引擎配置dynamic块的关联匹配逻辑不明确
    • kinesis_settings动态块采用对象列表做for_each遍历的设计逻辑不明确,该写法从语法层面支持传入多个kinesis_settings配置块,与AWS DMS端点资源本身仅支持单块kinesis配置的规则存在冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:09:19