私は現在、サーバの正常性状態を検出するAWS CloudWatchアラームを設定しています。Terraformです。健康状態は、AWS Route 53 Health Checkでチェックされます。私.tf
ファイルは次のとおりです。Terraformを使用してAWS CloudWatchアラームをAWS Route53ヘルスチェックにリンクする方法は?
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
を削除しようとすると、これらの2つの引数が必要であることを示すテーラフォームエラーが表示されます(ただし、docはこれらの2つがオプションであると指定しています)。 これを修正するには?
ご協力いただきありがとうございます。
これは今テラフォーム・プロバイダのプロジェクトで開いて問題です - > https://github.com/terraform-providers/terraform-provider -aws/issues/712 – aimless