Terraform报http_endpoint_configuration块类型不支持错误排查
报错原因
这个报错和Terraform核心版本无关,核心原因是你当前使用的HashiCorp AWS Provider版本过低。
Kinesis Firehose交付流的HTTP端点目的地能力(对应http_endpoint_configuration配置块)是在AWS Provider 3.26.0版本才正式加入支持的。你当前使用Terraform v0.13.6时,如果没有显式指定Provider版本,默认拉取的AWS Provider版本远低于3.26.0,旧版Provider的aws_kinesis_firehose_delivery_stream资源根本没有定义http_endpoint_configuration这个配置块,自然会提示该类型块不被支持。
你之前单独升级Terraform核心版本无法解决问题,因为这个资源特性是由AWS Provider提供的,不属于Terraform核心的功能范畴。
修复方法
按以下步骤操作即可解决:
- 在Terraform配置文件中新增required_providers块,显式指定AWS Provider版本不低于3.26.0,考虑到你使用的是Terraform 0.13.6,选择3.x系列的稳定版即可,配置示例:
terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 3.75" } } }
- 在配置所在目录执行
terraform init -upgrade,拉取符合版本要求的AWS Provider。 - 初始化完成后可以执行
terraform providers校验,确认输出的aws provider版本≥3.26.0,之后重新执行terraform plan就不会再出现该报错。
额外提示:你当前配置中S3备份配置的
buffer_interval设为400、HTTP端点配置的buffering_interval设为600,单位为秒,符合Firehose最大900秒缓冲间隔的限制,不会触发配置错误,如果需要降低日志传输延迟可自行调小该值。
内容的提问来源于stack exchange,提问作者tjurkan
相关产品推荐
相关产品推荐

