AWS CloudFormation初始化服务作为bash脚本

时间:2018-12-17 13:21:44

标签: amazon-ec2 amazon-cloudformation

我想知道以下CloudFormation代码的bash等效项是什么。

ServerLaunchConfiguration:
    Type: AWS::AutoScaling::LaunchConfiguration
    Metadata:
      AWS::CloudFormation::Init:
        configSets:
          install_all:
            - install_cfn
        install_cfn: 
          ..some important staff..
          services:
            sysvinit:
              cfn-hup:
                enabled: 'true'
                ensureRunning: 'true'
                files:
                  - /etc/cfn/cfn-hup.conf
                  - /etc/cfn/hooks.d/cfn-auto-reloader.conf   

我希望服务部分由bash脚本完成,因为在执行时,文件 /etc/cfn/cfn-hup.conf / etc / cfn / hooks.d / cfn-auto-reloader.conf 不存在。我正在将它们创建为 UserData 的一部分。我知道它们可以并且可能应该由Init中的文件创建。

当我运行命令时:

systemctl status cfn-hup.service

我得到:

  

已加载:已加载(/etc/rc.d/init.d/cfn-hup;错误;供应商预设:   禁用)活动:失败(结果:退出代码)

这是可以预见的,因为尝试时这些文件不存在。但是我实际上可以稍后使用service cfn-hup start成功启动此服务。

问题

当我将这些服务保留为原样,然后在创建.conf文件之后,我将称呼这些结果为:service cfn-hup start吗?

1 个答案:

答案 0 :(得分:0)

也许Configsets可以为您解决此问题。

  

配置集如果要创建多个配置键并具有   cfn-init以特定顺序处理它们,创建一个配置集   包含所需顺序的配置键。