Hi, all,
I created a composite alarm that combines checks of all target groups in my ALB into a single health check, and I want to use that alarm to trigger a route53 failover event. But I am not able to use an aws_cloudwatch_composite_alarm for the cloudwatch_alarm_name in the aws_route53_health_check resource. E.g.
resource "aws_cloudwatch_composite_alarm" "route53_status_alarm" {
alarm_name = "my-route53-status-alarm"
alarm_description = "Alert if any target group in ${var.alb.name} ${var.alb.env} is unhealthy. Used to trigger Route53 failover."
alarm_rule = join(" OR ", formatlist("ALARM(%s)", [for a in aws_cloudwatch_metric_alarm.hostcount_alarm: a.alarm_name]))
tags = {
Name = "my-route53-status-alarm"
}
depends_on = [ aws_cloudwatch_metric_alarm.hostcount_alarm ] # this is a for_each created list of hostcount alarms for each TG
}
resource "aws_route53_health_check" "alb_health_check" {
type = "CLOUDWATCH_METRIC"
cloudwatch_alarm_name = aws_cloudwatch_composite_alarm.route53_status_alarm.alarm_name
cloudwatch_alarm_region = data.aws_region.current.name
insufficient_data_health_status = "Healthy"
tags = {
Name = "my-health-check"
}
depends_on = [ aws_cloudwatch_composite_alarm.route53_status_alarm ]
}
Is a composite alarm usable in route 53? Or only single aws_cloudwatch_metric_alarms?
Thanks
Isaac