EventBridge 글로벌 엔드포인트에 대한 Route 53 상태 확인 설정 - Amazon EventBridge

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

EventBridge 글로벌 엔드포인트에 대한 Route 53 상태 확인 설정

글로벌 엔드포인트를 사용하는 경우 리전 상태를 모니터링하려면 Route 53 상태 확인이 필요합니다. 다음 템플릿은 Amazon CloudWatch 경보를 정의하고 이를 사용하여 Route 53 상태 확인을 정의합니다.

Route 53 상태 확인을 정의하기 위한 CloudFormation 템플릿

다음 템플릿을 사용하여 Route 53 상태 확인을 정의합니다.

Description: |- Global endpoints health check that will fail when the average Amazon EventBridge latency is above 30 seconds for a duration of 5 minutes. Note, missing data will cause the health check to fail, so if you only send events intermittently, consider changing the heath check to use a longer evaluation period or instead treat missing data as 'missing' instead of 'breaching'. Metadata: AWS::CloudFormation::Interface: ParameterGroups: - Label: default: "Global endpoint health check alarm configuration" Parameters: - HealthCheckName - HighLatencyAlarmPeriod - MinimumEvaluationPeriod - MinimumThreshold - TreatMissingDataAs ParameterLabels: HealthCheckName: default: Health check name HighLatencyAlarmPeriod: default: High latency alarm period MinimumEvaluationPeriod: default: Minimum evaluation period MinimumThreshold: default: Minimum threshold TreatMissingDataAs: default: Treat missing data as Parameters: HealthCheckName: Description: Name of the health check Type: String Default: LatencyFailuresHealthCheck HighLatencyAlarmPeriod: Description: The period, in seconds, over which the statistic is applied. Valid values are 10, 30, 60, and any multiple of 60. MinValue: 10 Type: Number Default: 60 MinimumEvaluationPeriod: Description: The number of periods over which data is compared to the specified threshold. You must have at least one evaluation period. MinValue: 1 Type: Number Default: 5 MinimumThreshold: Description: The value to compare with the specified statistic. Type: Number Default: 30000 TreatMissingDataAs: Description: Sets how this alarm is to handle missing data points. Type: String AllowedValues: - breaching - notBreaching - ignore - missing Default: breaching Mappings: "InsufficientDataMap": "missing": "HCConfig": "LastKnownStatus" "breaching": "HCConfig": "Unhealthy" Resources: HighLatencyAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmDescription: High Latency in Amazon EventBridge MetricName: IngestionToInvocationStartLatency Namespace: AWS/Events Statistic: Average Period: !Ref HighLatencyAlarmPeriod EvaluationPeriods: !Ref MinimumEvaluationPeriod Threshold: !Ref MinimumThreshold ComparisonOperator: GreaterThanThreshold TreatMissingData: !Ref TreatMissingDataAs LatencyHealthCheck: Type: AWS::Route53::HealthCheck Properties: HealthCheckTags: - Key: Name Value: !Ref HealthCheckName HealthCheckConfig: Type: CLOUDWATCH_METRIC AlarmIdentifier: Name: Ref: HighLatencyAlarm Region: !Ref AWS::Region InsufficientDataHealthStatus: !FindInMap [InsufficientDataMap, !Ref TreatMissingDataAs, HCConfig] Outputs: HealthCheckId: Description: The identifier that Amazon Route 53 assigned to the health check when you created it. Value: !GetAtt LatencyHealthCheck.HealthCheckId

이벤트 ID는 API 직접 호출에 따라 변경될 수 있으므로 리전 간에 이벤트를 상호 연결하려면 변경이 불가능한 고유 식별자가 필요합니다. 또한 소비자는 멱등성을 염두에 두고 설계되어야 합니다. 이렇게 하면 이벤트를 복제하거나 아카이브에서 재생하는 경우 두 리전에서 이벤트가 처리되더라도 부작용이 발생하지 않습니다.

CloudWatch 경보 템플릿 속성

참고

모든 editable 필드에 대해 초당 처리량을 고려합니다. 이벤트를 간헐적으로만 전송하는 경우 평가 기간을 늘리거나 누락된 데이터를 breaching 대신 missing으로 처리하도록 상태 확인을 변경하는 것이 좋습니다.

템플릿의 CloudWatch 경보 섹션에는 다음과 같은 속성이 사용됩니다.

지표 설명

AlarmDescription

경보에 대한 설명입니다.

기본값: High Latency in Amazon EventBridge

MetricName

경보와 연결된 지표의 이름입니다. 지표 기반의 경보에 필수적입니다. 수학 표현식을 기반으로 경보를 생성하면 Metrics를 대신 사용해야 하며, MetricName을 지정할 수 없습니다.

기본값: IngestionToInvocationStartLatency

Namespace

경보와 연결된 지표의 네임스페이스입니다. 지표 기반의 경보에 필수적입니다. 수학 표현식을 기반으로 경보를 생성하면 Namespace를 지정할 수 없으며 대신 Metrics를 사용해야 합니다.

기본값: AWS/Events

Statistic

경보와 연결된 백분위수 이외의 지표 통계입니다.

기본값: 평균

Period

통계가 적용되는 기간(초)입니다. 지표 기반의 경보에 필수적입니다. 유효한 값은 10, 30, 60 및 60의 배수입니다.

기본값: 60

EvaluationPeriods

지정 임계값에 대한 데이터 비교가 이루어지는 기간의 일수입니다. 경보를 트리거하기 위해 연속된 여러 데이터 요소를 위반해야 하는 경보를 설정하는 경우 이 값은 해당 일수를 지정합니다. “N 중 M” 경보를 설정하는 경우 이 값은 N이고 DatapointsToAlarm은 M입니다.

기본값: 5

Threshold

지정된 통계와 비교할 값입니다.

기본값: 30,000

ComparisonOperator

지정한 통계와 임계값을 비교하는 경우 사용하는 산술 연산입니다. 지정된 통계 값은 첫 번째 피연산자로 사용됩니다.

기본값: GreaterThanThreshold

TreatMissingData

경보가 누락된 데이터 요소를 처리하는 방법을 설정합니다.

유효한 값: breaching, notBreaching, ignoremissing

기본값: breaching

Route 53 상태 확인 템플릿 속성

참고

모든 editable 필드에 대해 초당 처리량을 고려합니다. 이벤트를 간헐적으로만 전송하는 경우 평가 기간을 늘리거나 누락된 데이터를 breaching 대신 missing으로 처리하도록 상태 확인을 변경하는 것이 좋습니다.

템플릿의 Route 53 상태 확인 섹션에는 다음과 같은 속성이 사용됩니다.

지표 설명

HealthCheckName

상태 확인의 이름입니다.

기본값: LatencyFailuresHealthCheck

InsufficientDataHealthStatus

CloudWatch가 경보 상태를 확인하기에 지표 데이터가 부족한 경우, Amazon Route 53이 상태 확인에 할당할 상태입니다.

유효한 값:

  • Healthy: Route 53이 상태 확인을 정상으로 간주합니다.

  • Unhealthy: Route 53이 상태 확인을 비정상으로 간주합니다.

  • LastKnownStatus: Route 53은 CloudWatch가 경보 상태를 확인하기에 충분한 데이터를 갖고 있던 마지막 시점에 수행한 상태 확인의 상태를 사용합니다. 마지막으로 알려진 상태가 없는 새로운 상태 확인의 경우 상태 확인의 기본 상태는 정상입니다.

기본값: 비정상

참고

이 필드는 TreatMissingData 필드 입력에 따라 업데이트됩니다. TreatingMissingDataMissing으로 설정하면 LastKnownStatus로 업데이트됩니다. TreatingMissingDataBreaching으로 설정하면 Unhealthy로 업데이트됩니다.