post.add vs post.update vs post.delete in AWS cfn-hup Configuration

时间:2017-04-15 02:30:48

标签: amazon-web-services amazon-cloudformation

根据CloudFormation cfn-hup帮助程序脚本的AWS Documentation,cfn-hup挂钩可以具有"逗号分隔的条件列表以进行检测。"这些条件/触发器可以是post.addpost.update和/或post.delete。但是,没有描述这些触发器实际意味着什么。整个AWS文档中的每个示例都使用post.update,到目前为止,此触发器对我来说已经足够好了,但我想了解这些其他触发器实际用于什么。有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

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资源的元数据中进行了修改的模板进行了更新,因此请运行操作字段中提到的命令。

动作feild中的此命令将在ec2实例上运行LaunchConfig中提到的配置集。