使用Terraform创建AWS Redis无服务器缓存的报错解析请求
问题解决:Terraform创建AWS ElastiCache无服务器Redis集群报错
核心错误原因
你遇到的InvalidRequest错误是AWS ElastiCache无服务器集群的强制要求:必须指定2-3个不同可用区的子网,而你只配置了1个子网subnet-dce5d0bb。AWS要求无服务器缓存分布在多个可用区实现高可用,单子网不符合该规则。
解决步骤
- 修改子网配置:在变量中添加2-3个属于不同可用区的子网ID,示例如下:
subnets = ["subnet-dce5d0bb", "subnet-xxxxxxxxx", "subnet-yyyyyyyyy"]
确保这些子网都在us-west-2区域的同一个VPC内,且分属不同可用区。
- 关于
aws_elasticache_serverless_cache资源找不到的问题:
标准AWS Terraform provider(非awscc)的aws_elasticache_serverless_cache资源需要provider版本≥5.20.0,你使用的Terraform 1.6.6本身无问题,但如果provider版本过低就会找不到该资源;改用awsccprovider是可行的,它通过Cloud Control API调用AWS资源,只是同样受限于AWS的子网数量要求。
额外说明
AWS Resource Not Found During Refresh警告是创建失败后Terraform清理状态时的提示,只要解决子网数量问题,创建成功后该警告就会消失。
内容的提问来源于stack exchange,提问作者Woodsman
相关产品推荐
相关产品推荐

