ds0*_*591 6 amazon-web-services amazon-cloudwatch terraform
此处的目标是创建EBS卷的计划快照.看看Terraform的文档aws_cloudwatch_event_target似乎不太可能,但我可能会遗漏一些东西.
Cloudwatch Events 内置目标似乎只需要一个输入参数以及显示的 ARN,用于将消息添加到示例中的 SNS 队列aws_cloudwatch_event_rule或发送到 中的 Kinesis 流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)"
}
Run Code Online (Sandbox Code Playgroud)
我还没有测试过这个,但它应该可以工作。显然,您可能想从您创建的资源中获取 EBS 卷 ID,但这超出了问题的范围。在 AWS 控制台中创建规则后,我还猜测了 ARN,然后查看aws events list-targets-by-rule似乎将规则名称添加到目标 ARN 的输出,但这可能并不总是正确/必要的。
| 归档时间: |
|
| 查看次数: |
2339 次 |
| 最近记录: |