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

使用Terraform创建Kinesis投递流至OpenSearch时遇版本兼容错误

问题分析与解决方案

核心问题原因

你遇到的错误大概率是Terraform AWS Provider版本过低导致的——旧版本的Provider还未将OpenSearch 2.3纳入Kinesis Firehose目标的支持版本列表,尽管AWS官方已经支持该版本组合。

解决方案步骤

1. 升级Terraform AWS Provider版本

在你的Terraform配置文件(通常是versions.tf或主配置文件)中,将AWS Provider的版本约束更新到足够新的版本(建议>=4.0.0):

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 4.0.0"
    }
  }
}

执行terraform init -upgrade完成Provider升级。

2. 移除废弃的OpenSearch参数

OpenSearch 2.x及以上版本已废弃文档类型(type)概念,你当前配置中的type_name = "test"属于无效参数,需要移除:

elasticsearch_configuration {
  domain_arn = aws_opensearch_domain.domain.arn
  role_arn   = aws_iam_role.firehose_role.arn
  index_name = "test"
  # 移除废弃的type_name参数
  # type_name  = "test"

  processing_configuration {
    enabled = "true"

    processors {
      type = "Lambda"

      parameters {
        parameter_name  = "LambdaArn"
        parameter_value = "${aws_lambda_function.lambda_processor.arn}:$LATEST"
      }
    }
  }
}

3. 验证Firehose目标配置

无需修改destination = "elasticsearch",Terraform的elasticsearch_configuration块同时支持Elasticsearch和OpenSearch(部分新版本Provider也支持destination = "opensearch",两种配置均有效)。

额外检查点

  • 确认你的AWS账户所在区域支持OpenSearch 2.3(部分区域可能暂未上线该版本)。
  • 检查Firehose角色权限是否包含对OpenSearch域的写入权限(如es:ESHttpPut等动作),避免后续出现权限类错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:25:14