自动缩放在CloudFormation中引导

我的CloudFormation模板创build一个自动缩放组,并使用实用程序脚本/ opt / aws / bin / cfn-init进行引导。 当我从我的模板中删除引导部分的时候,自动缩放创build没有任何问题,但是我添加它CloudFormation堆栈失败,并在/var/log/cloud-init.log中添加行:

Error: AutoScalingGroupName does not specify any metadata 

上面的行出现在下面的命令之后:

 /opt/aws/bin/cfn-init --verbose --configsets orderedConfig --region us-east-1 --stack AS15 --resource AutoScalingGroupName --access-key XXXXXXXXXXXXX --secret-key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

深入挖掘一下,在cfn-init中我添加了以下几行:

 from pprint import pprint pprint(vars(detail)) 

并在运行前一个cfn-init命令时获得以下跟踪信息:

 {'_description': None, '_lastUpdated': datetime.datetime(2012, 7, 12, 14, 52, 42), '_logicalResourceId': u'AutoScalingGroupName', '_metadata': None, '_physicalResourceId': u'AS15-AutoScalingGroupName-HNPOXXXXXXXX', '_resourceStatus': u'CREATE_COMPLETE', '_resourceStatusReason': None, '_resourceType': u'AWS::AutoScaling::AutoScalingGroup', '_stackId': u'arn:aws:cloudformation:us-east-1:XXXXXXXXXXXXX:stack/AS15/XXXXXXXX-cc30-11e1-XXXXXX-XXXXXXXXXX', '_stackName': u'AS15'} 

正如你所看到的,元数据字段是空的,这就是创build堆栈失败的原因。 与自动缩放一起使用时,是否有任何已知的cfn-init副作用?

我只是想出来了! cfn-init脚本的参数 – 资源必须使用启动configuration名称而不是AutoScale组名称进行设置。 希望可以帮助别人:)