【发布时间】:2017-02-15 07:22:36
【问题描述】:
我目前正在使用 Terraform 设置 AWS CloudWatch 警报来检测我的服务器的运行状况。使用 AWS Route 53 运行状况检查检查运行状况状态。我的.tf 文件是:
resource "aws_cloudwatch_metric_alarm" "val1-alarm" {
alarm_name = "val-alarm"
comparison_operator = "LessThanOrEqualToThreshold"
evaluation_periods = "2"
metric_name = "HealthCheckStatus"
namespace = "AWS/Route53"
period = "60"
statistic = "Minimum"
threshold = "0"
dimensions {
HealthCheckId = "${aws_route53_health_check.val1-hc.id}"
}
alarm_description = "This metric monitor whether the server is down or not."
insufficient_data_actions = []
}
resource "aws_route53_health_check" "val1-hc" {
fqdn = "${aws_route53_record.val1-record.name}"
port = 27017
type = "TCP"
failure_threshold = "3"
request_interval = "30"
measure_latency = 1
cloudwatch_alarm_name = "${aws_cloudwatch_metric_alarm.val1-alarm.alarm_name}"
cloudwatch_alarm_region = "eu-central-1"
}
申请时出现这个错误:
Cycle: aws_route53_health_check.val1-hc, aws_cloudwatch_metric_alarm.val1-alarm
循环意味着每个资源调用另一个。当我尝试从运行状况检查中删除 cloudwatch_alarm_name 和 cloudwatch_alarm_region 时,一个 terraform 错误提示我需要这两个参数(即使 doc 指定这两个参数是可选的)。
如何解决?
非常感谢任何帮助或建议!
【问题讨论】:
-
这是 terraform-providers 项目中的一个未解决问题 -> github.com/terraform-providers/terraform-provider-aws/issues/…
标签: amazon-web-services amazon-route53 amazon-cloudwatch terraform