AWS CloudFormation DBSubnetGroup提示SubnetIds需为字符串列表如何解决
CloudFormation DBSubnetGroup 创建错误排查
错误根因
你遇到的Value of property SubnetIds must be of type List of String报错,核心原因是YAML语法书写不规范:DBSubnetGroup配置中SubnetIds字段下的列表项标记-和CloudFormation内置函数!Ref之间没有空格,导致解析器无法正确识别!Ref函数,自然也无法获取到对应的子网ID字符串,最终判定字段类型不符合要求。
修复方法
在所有列表项的-和!Ref之间添加一个空格即可,修正后的DBSubnetGroup配置如下:
DBSubnetGroup: Type: AWS::RDS::DBSubnetGroup DependsOn: - MyVPC - MySubnet - MySubnetA - MySubnetB Properties: DBSubnetGroupDescription: Subnets to lauch the database SubnetIds: - !Ref MySubnet - !Ref MySubnetA - !Ref MySubnetB
额外校验建议
如果修改后仍有报错,可以额外检查以下两点:
- 三个子网资源是否均成功创建,没有出现创建失败被回滚的情况
- 确认所有子网都属于同一个VPC,符合RDS子网组的使用要求
内容的提问来源于stack exchange,提问作者Foudil Ghelem
相关产品推荐
相关产品推荐

