【问题标题】:post.add vs post.update vs post.delete in AWS cfn-hup ConfigurationAWS cfn-hup 配置中的 post.add vs post.update vs post.delete
【发布时间】:2017-09-11 07:19:54
【问题描述】:

根据 CloudFormation cfn-hup 帮助程序脚本的 AWS Documentation,cfn-hup 挂钩可以具有“要检测的以逗号分隔的条件列表”。这些条件/触发器可以是post.addpost.update 和/或post.delete。但是,没有描述这些触发器的实际含义。 AWS 文档中的每个示例都只使用post.update,到目前为止,这个触发器对我来说已经足够好了,但我想了解这些其他触发器的实际用途。有人可以解释一下吗?

【问题讨论】:

  • 没人知道这个吗?
  • 有人找到答案了吗?
  • 不,我从来没有得到答案。但是,我认为只有当 CloudFormation 创建 path 中的资源时才会触发 post.add 钩子是公平的,只要 CloudFormation 更新该资源就会触发 post.update 钩子,以及 post.delete 钩子仅当 CloudFormation 删除该资源时触发。不要引用我的话,因为我从来没有对此做过任何测试,但这是最有意义的。

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

post.add、post.update 和/或 post.delete 是 cfn-hup 中使用的触发器

简单的话:这些是在cfn堆栈模板中寻找变化的触发点,并基于触发器执行一些动作。

更多详情:

cfn-hup 帮助程序是一个守护进程,它检测资源元数据的变化并在检测到变化时运行用户指定的操作

这个助手支持 2 个文件:

/etc/cfn/cfn-hup.conf
/etc/cfn/hooks.d/cfn-auto-reloader.conf

/etc/cfn/cfn-hup.conf

这包含与 cfn-hup 相关的配置,其中包含要监控的堆栈名称和监控频率等详细信息。

例如:

    [main]
    stack=Test-Cfn-Stack-Name
    region=${AWS::Region}
    interval=1   ### every one minute it will monitor the stack for changes 
    verbose=true

在此示例中,cfn-hup 守护程序将每 1 分钟监控一次来自 ec2 实例的 cfn 堆栈。此活动的日志位于 /var/log/cfn-hup.log 中。如果检测到任何更改,“/etc/cfn/hooks.d/cfn-auto-reloader.conf”将在此处控制后续操作。

/etc/cfn/hooks.d/cfn-auto-reloader.conf

在此文件中,它包含有关应在上述 cfn 堆栈中监视哪个资源的信息,如果在资源元数据中检测到任何更改,例如添加、删除或更新,则执行操作字段中提到的操作。

例如:

[cfn-auto-reloader-hook]
triggers=post.add,post.update
ath=Resources.LaunchConfig.Metadata.AWS::CloudFormation::Init
action=/opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
runas=root

在本例中,cfn-hup 守护进程将向该文件发送触发器,说明 cfn 堆栈已使用 LaunchConfig 资源元数据中修改的模板进行更新,因此请运行操作字段中提到的命令。

action feild 中的这个命令将在 ec2 实例上运行 LaunchConfig 中提到的配置集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 2018-06-26
    • 2017-02-07
    • 1970-01-01
    • 2020-06-17
    • 2017-04-17
    • 2015-02-07
    • 2018-07-22
    相关资源
    最近更新 更多