Я пытаюсь получить сигнал CloudWatch, работающий с проверкой работоспособности Route53.
Я могу вручную настроить параметры в графическом интерфейсе AWS.
Когда я пытаюсь использовать Terraform, проверка работоспособности показывает«Не настроены тревоги».
Я видел предложения по методам, использующим проверки работоспособности для портов http (или других), но моя служба внутренняя и поэтому не открыта для проверок портов HTTP / TCP, поэтому вместо этого ясмотрю на сигнал тревоги CloudWatch StatusCheckFailed.
Что бы я ни делал, мне кажется, что для моих проверок работоспособности я получаю «Не настроено оповещений» (на этом скриншоте показаны два, созданные вручную с рабочими сигналами, и два, созданные с помощью Terraform).Аварийные сигналы не настроены ").
Кому-нибудь удалось заставить это работать?
- = - = - = - =-
Я вручную добавил тревогу к одному из «Проверок работоспособности, не настроенных выше, в графическом интерфейсе AWS Console», и он появился и обновил свой статус.
При этом я не замечаюИз-за того, что описание проверки работоспособности было названием тревоги CloudWatch, возможно, Terraform обработал хотя бы часть информации о тревоге.
- = - = - = - = - = - = -= - = -
Это код Terraform для одного из сигналов проверки работоспособности Route53 и CloudWatch.
Сигнал CW:
# This is a dummy alarm, for testing.
# CloudWatch alarm for use with Route 53 DNS health Check; this does not have an action.
resource "aws_cloudwatch_metric_alarm" "dummy_alarm" {
provider = "aws.use1"
alarm_name = "smb-nfs-server-dummy-alarm"
alarm_description = "Check the SMB-NFS server is alarm"
comparison_operator = "GreaterThanOrEqualToThreshold"
metric_name = "StatusCheckFailed"
namespace = "AWS/EC2"
period = "60"
evaluation_periods = "2"
statistic = "Maximum"
threshold = "1"
treat_missing_data = "breaching"
#insufficient_data_actions = []
#alarm_actions = []
dimensions {
InstanceId = "${var.server_01_id}"
#HealthCheckId = "${var.dns_hc_01_id}"
}
}
Route53 HC:
resource "aws_route53_health_check" "server_01_health" {
provider = "aws.use1"
child_health_threshold = "0",
#child_healthchecks.# = "0",
#cloudwatch_alarm_name = "awsec2-i-03dc5080f7bd3037d-paul-smb-gw-02-a-High-Status-Check-Failed-Any-",
#cloudwatch_alarm_region = "eu-west-1",
enable_sni = "false",
failure_threshold = "0",
fqdn = "",
#id = "6eb384bc-2129-47ff-9a7a-90adb9f9351f",
#insufficient_data_health_status = "LastKnownStatus",
invert_healthcheck = "false",
#ip_address = "",
measure_latency = "false",
port = "0",
#regions.# = "0",
request_interval = "0",
resource_path = "",
search_string = "",
#tags.% = "1",
#tags.Name = "smb-nfs-gw-02-a-OK",
#type = "CLOUDWATCH_METRIC"
#----------------------
cloudwatch_alarm_name = "${aws_cloudwatch_metric_alarm.dummy_alarm.alarm_name}"
#cloudwatch_alarm_name = "${aws_cloudwatch_metric_alarm.smb_nfs_server_01_alarm.alarm_name}"
cloudwatch_alarm_region = "us-east-1"
#cloudwatch_alarm_region = "${var.aws_region}"
insufficient_data_health_status = "LastKnownStatus"
tags = "${merge(var.tags, map("Name", "${var.tags["Name"]}_server_01_health"))}"
type = "CLOUDWATCH_METRIC"
}
(Как видите, я экспериментировал с опциями, включая регион.
- = - = - = - = - = - = - = - = -