CloudFormation에서 ‘속도가 초과됨(Rate exceeded)’ 오류를 방지하려면 어떻게 해야 합니까?

2분 분량
0

AWS CloudFormation을 사용할 때 ‘속도가 초과됨(Rate exceeded)’ 오류가 발생하는 경우가 있습니다. 이 오류가 발생하지 않도록 하려면 어떻게 해야 합니까?

간략한 설명

속도 초과(Rate exceeded) 오류는 AWS 서비스에 대한 API 호출이 허용되는 최대 API 요청을 초과하고 API 호출이 제한될 때 발생합니다. 일반적으로 이러한 오류는 일시적이며 API 호출이 줄어들면 스스로 해결됩니다.

속도 초과(Rate exceeded) 오류를 방지하려면 다음을 수행할 수 있습니다.

  • 지수 백오프 구현
  • 한 번에 하나씩 스택 생성 또는 업데이트
  • DependsOn 속성을 사용합니다.
  • 할당량 증가 요청

해결 방법

지수 백오프 구현

AWS API 엔드포인트를 사용할 때 지수 백오프를 구현하여 수행되는 API 호출 수를 줄입니다.

DescribeStacks API 호출에 대한 다음 예제 의사 코드는 특정 시간이 지난 후 API 호출을 다시 시도하도록 구성되어 있습니다.

{
Make ‘DescribeStacks’ API call 

if throttled: wait 2 sec; Make ‘DescribeStacks’ API call 
if throttled: wait 4 sec; Make ‘DescribeStacks’ API call 
if throttled: wait 8 sec; Make ‘DescribeStacks’ API call 
if throttled: wait 16 sec; Make ‘DescribeStacks’ API call 
if throttled: wait 32 sec; Make ‘DescribeStacks’ API call 
}

한 번에 하나씩 스택 생성 또는 업데이트

여러 CloudFormation 스택을 동시에 생성하거나 업데이트하면 동시에 많은 API 호출이 이루어질 수 있습니다. API 호출이 허용되는 최대 API 요청을 초과하지 않도록 하려면 한 번에 하나의 스택을 생성하거나 업데이트하세요.

DependsOn 속성을 사용합니다.

리소스 간에 종속성이 정의되지 않는 한 CloudFormation은 동시에 리소스를 생성하고 업데이트합니다. DependsOn 속성은 리소스 간의 종속성을 정의하여 동시 업데이트를 제어합니다.

DependsOn 특성을 사용하면 각 종속 리소스가 생성되거나 업데이트되는 시기를 지정할 수 있습니다. 예를 들어 리소스 B가 리소스 A에 종속된 경우 리소스 A가 리소스 B보다 먼저 생성 또는 업데이트되도록 지정할 수 있습니다. 이렇게 하면 동시에 수행되는 API 호출 수가 제한되고 제한 발생이 줄어듭니다. 중첩된 스택에 DependsOn 특성을 사용할 수도 있습니다.

할당량 증가 요청

위의 해결 방법이 상황에 맞지 않으면 할당량 증가를 요청할 수 있습니다. 할당량 증가를 요청하기 전에 API 호출을 식별하여 통화율을 초과하는 호출을 확인합니다.

할당량 증가 요청에는 AWS 리전, API 제한 기간 및 증가 이유를 포함합니다.


AWS 공식
AWS 공식업데이트됨 2년 전