【发布时间】:2021-04-06 21:40:14
【问题描述】:
我已经配置了 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"
}
}
]
}
}
}
}
有什么理由应该在北弗吉尼亚而不是在悉尼工作?
【问题讨论】:
-
鉴于 Route 53 是一项全球服务(类似于 CloudFront),健康检查可能仅在美国东部用完。但是,我找不到任何证实这一点的文件。
-
这有一定的意义!我将尝试为我的健康检查警报提供自己的堆栈并将其部署在
us-east-1(或其他任何有效的地方)!如果是这种情况,关于从云形成中悬挂警报的错误消息会很好......
标签: amazon-web-services amazon-route53 amazon-cloudformation amazon-cloudwatch