这里的目标是创建EBS卷的计划快照。aws_cloudwatch_event_target
看起来不可能查看Terraform的文档,但是我可能会遗漏一些东西。
Cloudwatch Events内置目标似乎只需要一个输入参数,以及在示例中显示的用于将消息添加到SNS队列aws_cloudwatch_event_rule
或发送到中的Kinesis流的ARN aws_cloudwatch_event_target
。
因此,我们应该能够执行以下操作:
resource "aws_cloudwatch_event_target" "ebs_vol_a" {
target_id = "ebs_vol_a"
rule = "${aws_cloudwatch_event_rule.snap_ebs.name}"
arn = "arn:aws:automation:${var.region}:${var.account_id}:action/EBSCreateSnapshot/EBSCreateSnapshot_ebs_vol_a"
input = "\"arn:aws:ec2:${var.region}:${var.account_id}:volume/vol-${var.ebs_vol_a_id}\""
}
resource "aws_cloudwatch_event_rule" "snap_ebs" {
name = "snap-ebs-volumes"
description = "Snapshot EBS volumes"
schedule_expression = "rate(6 hours)"
}
我尚未对此进行测试,但它应该可以工作。显然,您可能想从创建它们的资源中获取EBS卷ID,但这超出了问题的范围。在AWS控制台中创建规则,然后查看aws events list-targets-by-rule
似乎将规则名称添加到目标的ARN的地方后,我也猜到了ARN,但这可能并不总是正确/必要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句