Amazon web services Cloudformation未创建EC2实例,即使已定义
我有以下CloudFormation模板,它工作正常,除了它没有创建EC2实例之外,下面是我通过CloudFormation运行配置时从Amazon GUI获得的输出:Amazon web services Cloudformation未创建EC2实例,即使已定义,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有以下CloudFormation模板,它工作正常,除了它没有创建EC2实例之外,下面是我通过CloudFormation运行配置时从Amazon GUI获得的输出: 2015-01-05 Status Type Logical ID Status Reason 17:30:47 UTC+0000 CREATE_COMPLETE AWS::CloudFormation::Stack Chris-Test-1 17:30:45 UTC+0000 CREATE_COM
2015-01-05 Status Type Logical ID Status Reason
17:30:47 UTC+0000 CREATE_COMPLETE AWS::CloudFormation::Stack Chris-Test-1
17:30:45 UTC+0000 CREATE_COMPLETE AWS::RDS::DBInstance Failover
17:24:13 UTC+0000 CREATE_IN_PROGRESS AWS::RDS::DBInstance Failover Resource creation Initiated
17:24:11 UTC+0000 CREATE_IN_PROGRESS AWS::RDS::DBInstance Failover
17:24:09 UTC+0000 CREATE_COMPLETE AWS::RDS::DBSecurityGroup DBSecurityGroup
17:24:05 UTC+0000 CREATE_IN_PROGRESS AWS::RDS::DBSecurityGroup DBSecurityGroup Resource creation Initiated
17:24:04 UTC+0000 CREATE_IN_PROGRESS AWS::RDS::DBSecurityGroup DBSecurityGroup
17:24:02 UTC+0000 CREATE_COMPLETE AWS::EC2::SecurityGroup WebSecurityGroup
17:24:01 UTC+0000 CREATE_IN_PROGRESS AWS::EC2::SecurityGroup WebSecurityGroup Resource creation Initiated
17:23:45 UTC+0000 CREATE_IN_PROGRESS AWS::EC2::SecurityGroup WebSecurityGroup
17:23:42 UTC+0000 CREATE_IN_PROGRESS AWS::CloudFormation::Stack Chris-Test-1 User Initiated
我的CloudFormation配置可在以下位置找到:
如果您能帮助创建EC2实例,我们将不胜感激。AWS最近宣布将于2015年3月对CloudFormation模板验证进行“修复”。显然,如果JSON对象属性重复,CloudFormation的JSON解析器将不会捕获或抛出错误。这正是你的情况
请参阅名为ChrisFailover
的资源。您最初给它一个名为Type
ofAWS::EC2::Instance
的属性。稍后,在同一个对象中,再次指定类型
,但这次是AWS::RDS::DBInstance
。属性
属性也是如此
因此,本质上,您的EC2属性正在被这个对象的RDS属性覆盖。如果您将模板放入JSON验证器工具中,例如,您将注意到EC2数据消失
要修复此问题,请确保您的RDS对象是它自己的资源
插入:
},
"ChrisDBInstance" : {
之前:
"Type": "AWS::RDS::DBInstance",
编辑:我对公告的看法不正确。这是针对IAM政策文件的。但问题是一样的:AWS最近宣布将于2015年3月对CloudFormation模板验证进行“修复”。显然,如果JSON对象属性重复,CloudFormation的JSON解析器将不会捕获或抛出错误。这正是你的情况
请参阅名为ChrisFailover
的资源。您最初给它一个名为Type
ofAWS::EC2::Instance
的属性。稍后,在同一个对象中,再次指定类型
,但这次是AWS::RDS::DBInstance
。属性
属性也是如此
因此,本质上,您的EC2属性正在被这个对象的RDS属性覆盖。如果您将模板放入JSON验证器工具中,例如,您将注意到EC2数据消失
要修复此问题,请确保您的RDS对象是它自己的资源
插入:
},
"ChrisDBInstance" : {
之前:
"Type": "AWS::RDS::DBInstance",
编辑:我对公告的看法不正确。这是针对IAM政策文件的。但问题是一样的:AWS最近宣布将于2015年3月对CloudFormation模板验证进行“修复”。显然,如果JSON对象属性重复,CloudFormation的JSON解析器将不会捕获或抛出错误。这正是你的情况
请参阅名为ChrisFailover
的资源。您最初给它一个名为Type
ofAWS::EC2::Instance
的属性。稍后,在同一个对象中,再次指定类型
,但这次是AWS::RDS::DBInstance
。属性
属性也是如此
因此,本质上,您的EC2属性正在被这个对象的RDS属性覆盖。如果您将模板放入JSON验证器工具中,例如,您将注意到EC2数据消失
要修复此问题,请确保您的RDS对象是它自己的资源
插入:
},
"ChrisDBInstance" : {
之前:
"Type": "AWS::RDS::DBInstance",
编辑:我对公告的看法不正确。这是针对IAM政策文件的。但问题是一样的:AWS最近宣布将于2015年3月对CloudFormation模板验证进行“修复”。显然,如果JSON对象属性重复,CloudFormation的JSON解析器将不会捕获或抛出错误。这正是你的情况
请参阅名为ChrisFailover
的资源。您最初给它一个名为Type
ofAWS::EC2::Instance
的属性。稍后,在同一个对象中,再次指定类型
,但这次是AWS::RDS::DBInstance
。属性
属性也是如此
因此,本质上,您的EC2属性正在被这个对象的RDS属性覆盖。如果您将模板放入JSON验证器工具中,例如,您将注意到EC2数据消失
要修复此问题,请确保您的RDS对象是它自己的资源
插入:
},
"ChrisDBInstance" : {
之前:
"Type": "AWS::RDS::DBInstance",
编辑:我对公告的看法不正确。这是针对IAM政策文件的。但问题是一样的:我看不到您的模板中有任何明显的错误,我很惊讶没有看到任何错误消息或警告。为了调试它,我将开始简化,即删除CFN INIT部分和用户数据,再次运行模板。当EC2实例将被创建时,逐步添加部分。我之前已经让那部分EC2代码正常工作了,所以我不确定是不是这样,因为这是最后一次工作,我一直在尝试添加RDS实例,但这似乎是导致这些问题的原因,而且似乎无法同时创建EC2和RDS实例,奇怪的是,RDS和EC2实例可能在同一个CFN模板中。但是您可以删除RDS实例,看看会发生什么。自上次成功尝试后,您是否切换了区域或AWS帐户?“aws cloudformation Descripte stack events--stack-name”的输出是什么?我看不到您的模板中有任何明显的错误,我很惊讶没有看到任何错误消息或警告。为了调试它,我将开始简化,即删除CFN INIT部分和用户数据,再次运行模板。当EC2实例将被创建时,逐步添加部分。我之前已经让那部分EC2代码正常工作了,所以我不确定是不是这样,因为这是最后一次工作,我一直在尝试添加RDS实例,但这似乎是导致这些问题的原因,而且似乎无法同时创建EC2和RDS实例,这很奇怪,是阿宝