我的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组名称进行设置。 希望可以帮助别人:)