Amazon web services 是否需要从UserData调用cfn init?
似乎Amazon web services 是否需要从UserData调用cfn init?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,似乎AWS::CloudFormation::Init有一个配置部分,其中包含文件和命令子部分。但是在Properties中还有Base64编码的UserData,它在我的示例脚本中调用cfn init: "Fn::Base64": { "Fn::Join": [ "", [ "<script>\n", "cfn-init.exe -v -s ", { "Ref":
AWS::CloudFormation::Init
有一个配置部分,其中包含文件
和命令
子部分。但是在Properties
中还有Base64编码的UserData
,它在我的示例脚本中调用cfn init
:
"Fn::Base64": {
"Fn::Join": [
"",
[
"<script>\n",
"cfn-init.exe -v -s ", {
"Ref": "AWS::StackId"
},
" -r MyInstance",
" --region ", {
"Ref": "AWS::Region"
},
"\n",
..................
“Fn::Base64”:{
“Fn::Join”:[
"",
[
“\n”,
“cfn-init.exe-v-s”{
“Ref”:“AWS::StackId”
},
“-r MyInstance”,
“--区域”{
“Ref”:“AWS::Region”
},
“\n”,
..................
我的问题是-您是否需要从
UserData
手动调用cfn init
,以执行AWS::CloudFormation::init
中的指令?如果是,原因是什么?为什么不自动启动它,以便在存在配置部分时始终执行它?cfn init.exe
是EC2上的本地组件与CloudFormation堆栈通信以执行AWS::CloudFormation::Init
部分中的命令的实例
我不知道,但我相信它没有将实际脚本放在用户数据中的原因是,它不想修改用户数据,以防您有自己的脚本。此外,要执行的命令可以是动态的,通过传递到CloudFormation脚本中的参数。cfn init.exe
工具可以读取这些值对如何运行AWS::CloudFormation::Init
命令进行优化并做出明智的选择
有关cfn init.exe
的更多信息,请参见: