애플리케이션이 Amazon EC2 Auto Scaling, AWS Auto Scaling 또는 AWS Application Auto Scaling을 직접적으로 호출할 때 애플리케이션에서 "Rate Exceeded" 오류가 발생합니다.
간략한 설명
API 직접 호출은 AWS 계정 및 AWS 리전당 허용되는 최대 API 요청 속도를 초과할 수 없습니다. 여기에는 AWS Command Line Interface(AWS CLI)와 AWS Management Console에서의 API 직접 호출이 포함됩니다. API 요청이 최대 속도를 초과하면 “Rate Exceeded” 오류가 발생하고 추가 API 직접 호출은 제한됩니다.
Amazon EC2 Auto Scaling, AWS Auto Scaling 및 AWS Application Auto Scaling링에는 자체 API 스로틀 버킷이 있습니다. 즉, 모든 Amazon EC2 Auto Scaling API 직접 호출에는 하나의 공유 API 제한이 있습니다. Amazon EC2 Auto Scaling API 직접 호출은 AWS Application Auto Scaling API의 제한에 영향을 미치지 않습니다.
“Rate Expesed” 오류 및 제한을 방지하려면 애플리케이션이 필요한 호출만 수행하는지 확인하세요.
**참고:**AWS CLI 명령을 실행할 때 오류가 발생하면, AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인합니다.
해결 방법
현재 Auto Scaling API 사용량 확인
현재 Auto Scaling API 사용량을 확인하려면 EC2 Auto Scaling 서비스에 대한 Amazon CloudWatch 지표에서 AWS 사용량 통계를 모니터링하세요. 지표를 사용하여 직접 호출되는 Auto Scaling API를 모니터링하고, 많은 수의 API 호출 또는 "Rate Exceeded" 오류가 발생한 시간을 식별하세요. 그런 다음 이 정보를 사용하여 API 사용량을 최적화하고 줄이세요.
“설명” 직접 호출 유효성 검사
과도한 설명 직접 호출은 허용된 요청 비율에 따라 측정되는 총 API 요청에 영향을 미칩니다. 애플리케이션 설명 직접 호출이 모두 필요한지 확인하고 가능하면 다른 솔루션을 사용하세요. 예를 들어, 인스턴스가 수명 주기 후크을 시작할 때와 같이 상태가 변경될 때 Amazon EventBridge의 푸시 알림을 사용하여 알림을 전송합니다.
인스턴스의 수명 주기 상태를 확인하는 애플리케이션은 설명 직접 호출을 수행하지 않습니다. 대신, 이러한 애플리케이션은 인스턴스 메타데이터를 쿼리합니다. 인스턴스 메타데이터에서 Auto Scaling 그룹의 이름을 포함한 태그 정보를 검색합니다. 시작 템플릿을 사용하여 인스턴스에 대한 태그 정보를 활성화해야 합니다.
타사 애플리케이션의 직접 호출 확인
타사 애플리케이션은 AWS의 Auto Scaling을 지속적으로 호출할 수 있습니다. 타사 애플리케이션에서 불필요한 직접 호출이 있는지 검토하고 타사 애플리케이션의 설정을 업데이트하세요.
오류 재시도 및 지수 백오프 구현
오류 재시도 및 지수 백오프는 API 직접 호출 속도를 제한하는 데 도움이 될 수 있습니다. 각 AWS SDK는 자동 재시도 로직과 지수 백오프 알고리즘을 구현합니다. 자세한 내용은 재시도 동작을 참고하세요.
갑작스러운 활동 피하기
API 직접 호출이 폭증하는 상황을 피하세요. 예를 들어, Amazon EC2 Auto Scaling 그룹에서 인스턴스를 시작할 때는 인스턴스 보호에서 스케일링을 켜도록 설정하지 마세요. Auto Scaling 그룹에 대해 기본적으로 이 옵션을 켜서 모든 인스턴스가 보호되도록 하세요.
서비스 할당량 증가 요청
서비스 할당량을 늘리려면 Support Center 콘솔에서 늘리기를 요청하세요. 서비스 한도 증가 섹션에서 다음 단계를 완료하세요.
- 한도 유형에서 Auto Scaling을 선택합니다.
- Auto Scaling 서비스에서 EC2 Auto Scaling을 선택합니다.
- 한도에서 API 제한을 선택합니다.
- 새 한도 값으로 N/A를 선택합니다.
요청에 다음 정보를 포함하세요.
- API 직접 호출 속도에 대한 검증 및 오류 재사용 또는 지수 백오프 방법의 구현
- 제한 문제와 관련된 지역 및 기간
- AutoScaling API의 전체 워크플로
- 배포 중과 같이 API 사용량이 최고조에 달할 것으로 예상되는 경우
자세한 내용은 AWS Service Quotas를 어떻게 관리하나요?를 참고하세요.
관련 정보
지수 백오프 및 지터
AWS Service Quotas