AWS Cloud Formation启动配置文件部分

时间:2015-08-19 07:26:23

标签: amazon-web-services amazon-ec2 amazon-cloudformation

我有一个云形成模板,除了在启动配置中创建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中写入文件的正确访问权限。

由于 戴夫

1 个答案:

答案 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