Elastic Beanstalk의 API 조절 또는 "Rate Exceeded" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 10월 17일

AWS Elastic Beanstalk를 사용할 때 API 조절 또는 "Rate Exceeded" 오류를 해결하려면 어떻게 해야 합니까?

간략한 설명

AWS 서비스에 대한 API 호출은 계정 및 AWS 지역당 허용되는 최대 API 요청 속도를 초과할 수 없습니다. 호출이 애플리케이션, AWS CLI(AWS 명령줄 인터페이스) 또는 AWS Management Console에서 오는지 여부는 중요하지 않습니다. API 요청이 최대 속도를 초과하면 "Rate Exceeded" 오류가 수신되고 API 호출이 조절됩니다.

Elastic Beanstalk에 직접 이루어진 API 호출뿐 아니라 Elastic Beanstalk에서 관리하는 다른 AWS 서비스(예: AWS CloudFormation)에 이루어진 API 호출에서도 오류를 수신할 수 있습니다.

해결 방법

"Rate Exceeded" 오류 및 조절을 방지하거나 해결하려면 다음 해결 방법을 시도해 보십시오.

조절되는 API 호출 확인

1.    Elastic Beanstalk 이벤트 스트림에서 조절 오류를 식별합니다. 오류를 수신한 시간대를 기록해 둡니다.

참고: API 호출이 Elastic Beanstalk 외부의 애플리케이션 또는 스크립트에서 오는 경우 해당 애플리케이션 로그에서 이 시간대를 찾습니다.

2.    해당 시간대에서 찾은 RequestLimitExceeded 오류를 포함하는 요청에 대해 AWS CloudTrail을 사용하여 이벤트를 보고 eventName, eventSource(서비스) 및 userAgent를 확인합니다.

Elastic Beanstalk 환경의 "describe" 호출 확인

과도한 "describe" 호출은 허용되는 요청 속도 측정의 기준이 되는 총 API 요청 수를 증가시킵니다.

예를 들어, 다음 방법 중 하나를 사용하여 Elastic Beanstalk 환경에서 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스를 검색하기 위한 "describe" 호출을 확인할 수 있습니다.

EnvironmentResourceDescription을 사용합니다. 다음 예제를 참조하십시오.

$ aws ec2 describe-instances --filters Name="tag:elasticbeanstalk:environment-id",Values="Your_Environment_ID"

-또는-

Elastic Beanstalk 태그에 대한 필터와 함께 DescribeInstances API 호출을 사용합니다. 다음 예제를 참조하십시오.

$ aws ec2 describe-instances --filters Name="tag:elasticbeanstalk:environment-name",Values="Your_Environment_Name"

참고: DescribeInstances API 호출 속도는 EnvironmentResourceDescription API 호출보다 속도 한도가 높은 경향이 있습니다.

타사 애플리케이션의 호출 확인

타사 애플리케이션이 Elastic Beanstalk 또는 Elastic Beanstalk에서 관리하는 다른 AWS 서비스를 지속적으로 호출할 수 있습니다.

타사 애플리케이션이 Elastic Beanstalk 서비스 또는 Elastic Beanstalk 통합 서비스를 불필요하게 호출하지 않는지 확인하려면 CloudTrail을 사용하여 API 호출을 수행하는 사용자 에이전트를 확인합니다.

참고: Datadog 또는 New Relic과 같은 타사 애플리케이션이 Elastic Beanstalk에 대한 API 호출을 수행할 수 있습니다. 자세한 내용은 Datadog 또는 New Relic에대한 속도 제한 알림을 참조하십시오. 타사 애플리케이션은 AWS에서 지원되지 않습니다.

오류 재시도 및 지수 백오프 사용

오류 재시도 및 지수 백오프를 사용하여 API 호출 속도를 제한할 수 있습니다.

참고: 각 AWS SDK는 자동 재시도 로직과 지수 백오프 알고리즘을 구현합니다.

AWS 지원 센터에 서비스 한도 증가 요청

서비스 한도 증가를 요청하기 전에 다음을 완료하십시오.

  • API 호출 및 호출 속도를 식별합니다.
  • 오류 재시도 또는 지수 백오프를 사용해 봅니다.
  • 서비스 한도 증가 요청 내용에 해당 AWS 지역, 조절 문제와 관련된 시간대, 한도 증가가 필요한 사용 사례와 같은 정보를 포함합니다.

서비스 한도 증가를 요청합니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?