

# Limits
<a name="alarm-limits"></a>

## 일반적인 CloudWatch 할당량
<a name="general-cloudwatch-quotas"></a>

경보에 적용되는 일반적인 CloudWatch 서비스 할당량에 대한 자세한 내용은 [CloudWatch 서비스 할당량](cloudwatch_limits.md) 섹션을 참조하세요.

## 지표 수학 표현식을 기반으로 경보에 적용되는 제한
<a name="metric-math-alarm-limits"></a>

지표 수학 표현식에 기반한 경보에서는 최대 10개의 지표를 참조할 수 있습니다. 이는 하드 제한으로 늘릴 수 없습니다. 단일 경보에서 10개가 넘는 지표를 모니터링해야 하는 경우 다음 방법 중 하나를 고려합니다.
+ 지표가 동일한 네임스페이스에 있는 경우 지표 수학 표현식 대신 경보에서 Metrics Insights 쿼리를 사용합니다. Metrics Insights는 단일 쿼리로 여러 지표에서 집계를 수행할 수 있습니다.
+ Lambda 함수를 사용하여 지표를 사용자 지정 지표로 사전 집계한 후, 경보 표현식에서 집계된 지표를 참조합니다.
+ 로직을 여러 경보로 분할하고 복합 경보를 사용하여 결합합니다.

## Metrics Insights 쿼리를 기반으로 경보에 적용되는 제한
<a name="metrics-insights-alarm-limits"></a>

CloudWatch Metrics Insights 경보를 사용하는 경우 다음과 같은 기능적 제한에 유의합니다.
+ 리전별 계정당 Metrics Insights 쿼리를 사용하는 기본 경보 200개
+ 경보 상태를 평가하는 데 최근 3시간의 데이터만 사용할 수 있습니다. 그러나 경보 세부 정보 페이지 그래프에서는 최대 2주의 데이터를 시각화할 수 있습니다.
+ 여러 시계열을 평가하는 경보는 ALARM 상태의 기고자 수를 100개로 제한합니다.
  + 쿼리가 150개의 시계열을 검색한다고 가정하는 경우:
    +  ALARM 상태의 기고자가 100개 미만인 경우(예: 95) `StateReason`은 '150개 시계열 중 95개가 ALARM으로 평가됨'이 됩니다.
    +  예를 들어 ALARM 상태의 기고자가 100개를 초과하는 경우(예: 105) `StateReason`은 '100개 이상의 시계열이 ALARM으로 평가됨'이 됩니다.
  + 또한 속성 볼륨이 너무 크면 ALARM의 기고자 수를 100개 미만으로 제한할 수 있습니다.
+ 분석되거나 반환된 최대 시계열 수에 대한 Metrics Insights 제한
+ 경보 평가 중에 `EvaluationState`는 다음 제한에 대해 `PARTIAL_DATA`로 설정됩니다.
  +  Metrics Insights 쿼리가 500개가 넘는 시계열을 반환하는 경우.
  +  Metrics Insights 쿼리가 10,000개가 넘는 지표와 일치하는 경우.

CloudWatch 서비스 할당량 및 제한에 대한 자세한 내용은 [CloudWatch Metrics Insights 서비스 할당량](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-limits.html)을 참조하세요.

## PromQL 쿼리를 기반으로 경보에 적용되는 제한
<a name="promql-limits"></a>

CloudWatch PromQL 경보를 사용하는 경우 유의해야 할 기능적 제한:
+ 여러 시계열을 평가하는 경보는 ALARM 상태의 기고자 수를 100개로 제한합니다.
  +  ALARM 상태의 기고자가 100개 미만인 경우(예: 95) `StateReason`은 '95개 시계열이 ALARM으로 평가됨'이 됩니다.
  +  예를 들어 ALARM 상태의 기고자가 100개를 초과하는 경우(예: 105) `StateReason`은 '100개 이상의 시계열이 ALARM으로 평가됨'이 됩니다.
  + 또한 속성 볼륨이 너무 크면 ALARM의 기고자 수를 100개 미만으로 제한할 수 있습니다.
+ 분석되거나 반환된 최대 시계열 수에 대한 PromQL 제한
+ 경보 평가 중에 PromQL 쿼리가 500개를 초과하는 시계열을 반환하면 `EvaluationState`가 `PARTIAL_DATA`로 설정됩니다.

## 연결된 데이터 소스를 기반으로 경보에 적용되는 제한
<a name="MultiSource_Alarm_Details"></a>
+ CloudWatch는 경보를 평가할 때 경보 기간이 1분 이상이더라도 1분마다 평가를 수행합니다. 경보가 작동하려면 Lambda 함수가 기간 길이의 배수뿐만 아니라 임의의 분에 시작하는 타임스탬프 목록을 반환할 수 있어야 합니다. 이러한 타임스탬프는 한 기간 길이 간격으로 떨어져 있어야 합니다.

  따라서 Lambda에서 쿼리한 데이터 소스가 기간 길이의 배수인 타임스탬프만 반환할 수 있는 경우 함수는 `GetMetricData` 요청에서 예상하는 타임스탬프와 일치하도록 가져온 데이터를 '다시 샘플링'해야 합니다.

  예를 들어, 기간이 5분인 경보는 매번 1분씩 이동하는 5분 기간을 사용하여 1분마다 평가됩니다. 이 경우
  + 12:15:00의 경보 평가에 대해 CloudWatch는 타임스탬프가 `12:00:00`, `12:05:00` 및 `12:10:00`인 데이터 포인트를 예상합니다.
  + 그런 다음 12:16:00의 경보 평가에 대해 CloudWatch는 타임스탬프가 `12:01:00`, `12:06:00` 및 `12:11:00`인 데이터 포인트를 예상합니다.
+ CloudWatch가 경보를 평가할 때 Lambda 함수에서 반환한 데이터 포인트 중 예상 타임스탬프와 일치하지 않는 모든 데이터 포인트는 삭제되고 나머지 예상 데이터 포인트를 사용하여 경보가 평가됩니다. 예를 들어, 경보가 `12:15:00`에 평가되면 CloudWatch는 타임스탬프가 `12:00:00`, `12:05:00` 및 `12:10:00`인 데이터를 예상합니다. 타임스탬프가 `12:00:00`, `12:05:00`, `12:06:00` 및 `12:10:00`인 데이터를 수신하면 `12:06:00`의 데이터가 삭제되고 CloudWatch는 다른 타임스탬프를 사용하여 경보를 평가합니다.

  그런 다음 `12:16:00`의 다음 평가에 대해 CloudWatch는 타임스탬프가 `12:01:00`, `12:06:00` 및 `12:11:00`인 데이터를 예상합니다. 타임스탬프가 `12:00:00`, `12:05:00` 및 `12:10:00`인 데이터만 있는 경우 12:16:00에 이러한 데이터 포인트가 모두 무시되고 누락된 데이터를 처리하기 위해 경보를 지정한 방법에 따라 알람이 해당 상태로 전환됩니다. 자세한 내용은 [경보 평가](alarm-evaluation.md) 섹션을 참조하세요.
+ `INSUFFICIENT_DATA` 상태로 전환될 때 조치를 취하도록 이러한 경보를 생성하는 것이 좋습니다. 여러 Lambda 함수 실패 사용 사례에서는 누락된 데이터를 처리하기 위해 경보를 설정한 방식에 관계없이 경보가 `INSUFFICIENT_DATA`로 전환되기 때문입니다.
+ Lambda 함수가 오류를 반환하는 경우:
  + Lambda 함수를 호출하는 데 권한 문제가 있는 경우, 생성 시 누락된 데이터를 처리하도록 경보를 지정한 방법에 따라 경보에서 누락된 데이터 전환이 발생하기 시작합니다.
  + Lambda 함수에서 발생하는 다른 오류로 인해 경보가 `INSUFFICIENT_DATA`로 전환됩니다.
+ Lambda 함수에서 요청한 지표에 약간의 지연이 발생하여 마지막 데이터 포인트가 항상 누락되는 경우 해결 방법을 사용해야 합니다. N개 중 M개의 경보를 생성하거나 경보 평가 기간을 늘릴 수 있습니다. M개 중 N개의 경보에 대한 자세한 내용은 [경보 평가](alarm-evaluation.md) 섹션을 참조하세요.