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