Amazon web services Cloudformation未创建EC2实例,即使已定义

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

我有以下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_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
of
AWS::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
of
AWS::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
of
AWS::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
of
AWS::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实例,这很奇怪,是阿宝