AWS 서비스를 생성, 업데이트 또는 액세스하려고 할 때 “Rate exceeded” 오류 메시지가 표시됩니다. “Rate exceeded” 오류를 방지하기 위해 Amazon CloudWatch 지표를 사용하여 AWS API 호출 수를 모니터링하려면 어떻게 해야 합니까?
간략한 설명
초당 수행할 수 있는 AWS API 호출 수에는 제한이 있습니다. 이 한도를 초과하면 속도 초과 오류가 발생하고 추가 API 호출이 제한됩니다. 속도 초과 오류를 유발하는 API 호출을 확인하는 방법에 대한 자세한 내용은 "Rate exceeded" 오류를 일으키는 AWS API 호출을 어떻게 찾을 수 있습니까?를 참조하세요.
자동화에서 API 호출을 사용하는 경우 사용량을 모니터링하여 속도 초과 오류를 방지하는 것이 좋습니다. Amazon CloudWatch는 일부 AWS 서비스의 사용량을 추적하는 지표를 수집합니다. 이러한 지표는 AWS 서비스 할당량에 해당합니다. 본 문서의 단계에 따라 이러한 메트릭을 그래프로 표시하고 사용량을 시각화하세요.
해결 방법
이 방법을 사용하여 사용 지표를 게시하는 모든 AWS 리소스의 사용량을 확인하고 모니터링할 수 있습니다. 이 예제에서는 PutMetricData를 사용합니다.
- CloudWatch Service Quotas 설명서에서 PutMetricData API 호출의 기본 한도를 확인합니다. Service Quotas 콘솔을 사용하여 계정에 적용된 한도를 확인할 수도 있습니다.
- CloudWatch 콘솔을 엽니다.
- 탐색 창에서 **지표(Metrics)**를 선택한 다음 **모든 지표(All Metrics)**를 선택합니다.
- 사용량 지표는 네임스페이스 AWS/사용량(AWS/Usage) 아래에 게시되어 있습니다. 이 네임스페이스를 선택한 다음 그래프로 표시할 API 호출을 필터링합니다. 이 경우에서는 PutMetricData를 선택합니다.
- 지표 CallCount를 선택합니다. 이 지표는 API 작업이 수행된 횟수를 제공합니다.
- **그래프로 표시된 지표(Graphed metrics)**를 선택한 다음 사용량을 확인하려는 시간 범위를 선택합니다. 이 경우에서는 속도 초과 오류가 발생한 범위를 선택합니다.
- **기간(Period)**에 대해 **1분(1 minute)**을 선택하고 **통계(Statistic)**에 대해 **합계(SUM)**를 선택합니다. 이렇게 하면 매 분 이루어진 총 API 호출 수를 얻을 수 있습니다. 참고: 대부분의 API 호출에는 초당 수행 가능한 API 호출 수에 제한이 있습니다. 이 값은 초당 트랜잭션(TPS)으로 측정됩니다. PutMetricData의 경우 이 한도는 150TPS입니다.
- 현재 사용량을 보려면 **수학 추가(Add math)**를 선택한 다음 **빈 표현식으로 시작(Start with empty expression)**을 선택합니다.
- 새 행에 다음을 입력합니다.
SERVICE_QUOTA(m1)
관련 정보
CloudWatch 사용량 지표
서비스 할당량 시각화