我的cloudformation模板中有类似这样的内容
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#cloud-config\n",
"repo_releasever: ",
{
"Ref": "LinuxVersion"
},
"\n",
"\n",
"runcmd:\n",
" - [curl, -s, -S, -o, /tmp/user_data.txt, 'http://some.s3bucket.amazonaws.com/cfn/some_Script.txt']\n",
" - [bash, /tmp/user_data.txt]\n",
" - [mkdir, -p, /root/.aws/\n",
" - [echo, ' aws_access_key_id = ", { "Ref": "AWSAccessKey" }, " >> /root/.aws/credentials']\n",
" - [echo, ' aws_secret_access_key' = ", { "Ref": "AWSSecretAccessKey" }, " >> /root/.aws/credentials']\n"
]
]
}
}
}
},一旦CloudFormation提供了实例,如果执行此操作,则为none。
在/var/lib/cloud/instance/scripts/中没有创建任何内容。
当我卷曲http://169.254.169.254/latest/user-data时,我确实看到了脚本
发布于 2015-09-03 04:24:31
我认为UserData的第一行必须是"#!/bin/bash\n",,才能使其成为可以运行的脚本,所以代码的前几行应该是:
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"#cloud-config\n",
"repo_releasever: ",https://stackoverflow.com/questions/31617641
复制相似问题