【问题标题】:AWS CloudFormation init services as bash scriptAWS CloudFormation 初始化服务作为 bash 脚本
【发布时间】:2019-05-17 20:56:50
【问题描述】:

我想知道以下 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   

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

当我运行命令时:

systemctl status cfn-hup.service

我明白了:

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

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

问题

当我将这些 服务 保留原样,然后在创建 .conf 文件后,我将调用:service cfn-hup start

【问题讨论】:

    标签: amazon-ec2 amazon-cloudformation


    【解决方案1】:

    或许,Configsets 可以为你解决这个问题。

    Configsets 如果你想创建多个配置键并拥有 cfn-init 按特定顺序处理它们,创建一个配置集 包含按所需顺序排列的配置键。

    【讨论】:

    • 感谢您的回答,但不确定您是否正确回答了我的问题。我已经在使用 configSets,但事实并非如此。我想知道如何只使用 bash 来做 CloudFormation service
    猜你喜欢
    • 2017-09-26
    • 2011-10-01
    • 2011-10-19
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 2010-12-26
    相关资源
    最近更新 更多