Как правильно настроить Route53 HealthCheck Alarm с CF (в Сиднее)

Я настроил Route53 HealthCheck со связанным сигналом тревоги с CloudFormation, но полученная проверка работоспособности показывает, что сигналы тревоги не настроены, а сигналы в консоли CloudWatch остаются мертвыми. Если я вручную создаю будильник в HealthChecks, все заработает.

Хуже того, если я переключаюсь из Сиднея / ap-southeast-2 и создаю такой же стек формирования облаков в Северной Вирджинии / us-east-1, сигнал тревоги правильно связывается с проверкой работоспособности, и все работает!

Еще одна точка данных: при создании сигнала тревоги в Route53 HealthChecks вручную, сигнал тревоги создается в us-east-1, несмотря на то, что Route53 является глобальным, а ap-southeast-1 - по умолчанию на всех других консолях.

Мой упрощенный стек выглядит так:

{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "healthcheck alarm test",
  "Resources": {
    "StatusHealthCheck": {
      "Type": "AWS::Route53::HealthCheck",
      "Properties": {
        "HealthCheckConfig": {
          "Port": "80",
          "Type": "HTTP",
          "ResourcePath": "/status",
          "FullyQualifiedDomainName": "testdomain.com",
          "RequestInterval": "30",
          "FailureThreshold": "1"
        },
        "HealthCheckTags": [
          {
            "Key": "Name",
            "Value": "status reachability check"
          }
        ]
      }
    },
    "StatusHealthCheckFailedAlarm": {
      "Type": "AWS::CloudWatch::Alarm",
      "Properties": {
        "ActionsEnabled": "true",
        "AlarmDescription": "alarmed when status doesn't respond",
        "ComparisonOperator": "LessThanThreshold",
        "EvaluationPeriods": "1",
        "MetricName": "HealthCheckStatus",
        "Namespace": "AWS/Route53",
        "Period": "60",
        "Statistic": "Minimum",
        "Threshold": "1.0",
        "Dimensions": [
          {
            "Name": "HealthCheckId",
            "Value": {
              "Ref": "StatusHealthCheck"
            }
          }
        ]
      }
    }
  }
}

Есть ли причина, по которой он должен работать в Северной Вирджинии, но не в Сиднее?


person Rhythmic Fistman    schedule 25.05.2015    source источник
comment
Учитывая, что Route 53 является глобальной службой (аналогичной CloudFront), вполне возможно, что проверки работоспособности выполняются только за пределами Востока США. Однако мне не удалось найти никаких подтверждающих документов.   -  person John Rotenstein    schedule 28.05.2015
comment
В этом есть определенный смысл! Я попробую предоставить своим будильникам проверки работоспособности отдельный стек и развернуть его в us-east-1 (или где-нибудь еще, что работает)! Если это так, было бы неплохо получить сообщение об ошибке о зависших сигналах тревоги из-за образования облаков ...   -  person Rhythmic Fistman    schedule 29.05.2015


Ответы (2)


Показатели CloudWatch, сгенерированные HealthCheck, видны только в регионе Восток США, как описано в нижней части этой страницы http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-check-monitor-view-status.html. Вот почему ваш стек работает правильно, если он создан в us-east-1.

person Fuzzyfelt    schedule 01.09.2015
comment
Хм, я думаю, что это новый доко, но ты можешь его взять. Интересно, не работает ли не us-east-1 через CloudFormation ... - person Rhythmic Fistman; 02.09.2015

Задача может быть достигнута только с помощью функции lamba, потому что:

  1. Сигналы проверки работоспособности могут быть созданы только в регионе: us-east-1 https://stackoverflow.com/a/32335539/1714171
  2. ресурсы, управляемые стеком CloudFormation, могут находиться только в том же регионе, что и сам стек https://stackoverflow.com/a/46165480/1714171

Это означает, что невозможно использовать только чистый синтаксис CloudFormation.

Вы можете создать сигнал тревоги с помощью лямбда-функции следующим образом: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/cloudwatch-examples-creating-alarms.html#cloudwatch-examples-create-alarms-putmetricalarm

person Sebastian Viereck    schedule 06.04.2021