我有一个云形成模板,除了在启动配置中创建EC2实例上的文件外,一切都很有效。
"AWS::CloudFormation::Init" :
{
"files" :
{
"/etc/httpd/conf.d/vhosts.conf" :
{
"content" : "<VirtualHost *:80> </VirtualHost>",
"mode" : "000644",
"owner" : "root",
"group" : "root"
}
}
}
我意识到这个文件不会工作,但我想要一个简单的例子而不涉及额外的Fn ::函数。
基本上这个文件没有创建。它不存在于此启动配置的EC2实例AMI上。我认为它应该使用模板中的指定内容创建。我知道在正在执行UserData脚本时正在使用此启动配置。但文件部分没有工作。
Theres在cloud-init.log或cloud-init-output.log中也没有明显的消息。
我正在寻找关于如何调试它的指针(我可以从命令行执行我的模板的一部分并查看更多输出吗?)或者为什么不创建此文件的想法。
我已经在网络上进行了很好的搜索并且空洞了 - 语法很简单,没有错误,所以我现在有点卡住了。
我想我假设cfg-init脚本具有在/ etc中写入文件的正确访问权限。
由于 戴夫
答案 0 :(得分:0)
您需要详细了解cfn-init
的工作原理以及如何将元数据提供给云形成堆栈。
查看您的代码,您似乎正在将元数据传递给cloudformation。你写的是将元数据提供给cloudformation。
现在,您需要在cfn-init
脚本的帮助下在实例上使用执行元数据。
参见:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-init.html http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html