CloudFormation模板无效错误:EC2实例创建失败求助
CloudFormation无效模板错误修复方案
你的模板存在两个关键语法错误,导致无法通过验证:
1. 资源层级缩进错误
MeuEIP和ServerSecurityGroup未作为Resources的子资源缩进,CloudFormation要求所有资源必须嵌套在Resources节点下,否则会被识别为独立的顶级节点,触发模板结构错误。
2. 参数名拼写不一致
- 参数定义中写的是
CidrIppescription(缺少大写字母D) - 但安全组规则里引用的是
CidrIpDescription,两者名称不匹配,会导致参数引用失败
修复后的完整模板
Parameters: SecurityGroupDescription: Description: 安全组描述 Type: String CidrIpDescription: Description: SSH访问IP段描述 Type: String Resources: MyInstance: Type: AWS::EC2::Instance Properties: AvailabilityZone: sa-east-1c ImageId: ami-0ef5d9d9491fda325 InstanceType: t2.micro SecurityGroups: - !Ref ServerSecurityGroup MeuEIP: Type: AWS::EC2::EIP Properties: InstanceId: !Ref MyInstance ServerSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupDescription: !Ref SecurityGroupDescription SecurityGroupIngress: - IpProtocol: tcp FromPort: 80 ToPort: 80 CidrIp: 0.0.0.0/0 - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref CidrIpDescription
额外说明:如果你的部署环境是VPC,建议使用SecurityGroupIds而非SecurityGroups,因为SecurityGroups主要适用于EC2-Classic网络,VPC环境下通过组ID引用安全组更规范。
内容的提问来源于stack exchange,提问作者Arthur Meireles
相关产品推荐
相关产品推荐

