Terraform部署Aurora Serverless v2报scaling配置块不支持错误
问题根因
该报错与你使用的Terraform核心版本v1.2.4无关,核心原因是本地使用的HashiCorp AWS Provider版本过低。serverlessv2_scaling_configuration配置块是AWS Provider 4.16.0版本才正式加入对Aurora Serverless v2的支持的,如果你当前环境加载的AWS Provider版本低于4.16.0,Terraform解析配置时无法识别该块,就会直接抛出"Unsupported block type"错误。这也是其他用户使用相同配置可以正常运行的原因——他们环境中的AWS Provider版本满足最低要求。
排查方法
执行以下命令查看当前环境实际加载的AWS Provider版本,确认版本号是否低于4.16.0:
terraform version
同时检查配置中是否对AWS Provider做了不合理的版本上限限制,导致无法升级到支持Serverless v2的版本。
修复步骤
- 在配置的
terraformrequired_providers块中,明确声明AWS Provider的最低版本要求,参考配置如下:
terraform { required_providers { aws = { source = "hashicorp/aws" version = ">= 4.16.0" } } }
- 执行带升级参数的初始化命令,更新本地AWS Provider到符合要求的版本:
terraform init -upgrade
- 升级完成后重新执行
terraform plan,该块类型不支持的错误会直接消失。
额外配置注意事项
- 你当前配置中
engine_mode = "provisioned"的设置是正确的,Aurora Serverless v2本身就要求集群运行在provisioned模式下,不需要调整 - 关联
aws_rds_cluster_instance资源时设置instance_class = "db.serverless"符合官方要求,无需修改 - 注意Aurora PostgreSQL对Serverless v2有最低引擎版本限制:要求PostgreSQL 13.6+、14.3+,你当前将
engine_version设为null会由AWS自动选择默认版本,建议显式指定符合要求的版本,避免后续创建时出现兼容性问题
内容的提问来源于stack exchange,提问作者I Cakramurti
相关产品推荐
相关产品推荐

