Amazon-Web-Services
使用 Autoscale 在 CloudFormation 中引導
我的 CloudFormation 模板創建一個自動縮放組並使用實用程序腳本 /opt/aws/bin/cfn-init 引導它。當我從模板中刪除引導部分時,自動縮放會毫無問題地創建,但我添加它時 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'}
如您所見,元數據欄位為空,這就是它無法創建堆棧的原因。與 autoscale 一起使用時,cfn-init 是否有任何已知的副作用?
我剛剛想通了!cfn-init 腳本的參數 –resource 必須使用啟動配置名稱而不是 AutoScale 組名稱進行設置。希望可以幫助某人:)