Como evitar erros de “Taxa excedida” no CloudFormation?

Data da última atualização: 12/04/2022

Às vezes, recebo erros de “Taxa excedida” quando uso o AWS CloudFormation. Como posso evitar que esse erro aconteça?

Breve descrição

O erro Taxa excedida ocorre quando as chamadas de API para um serviço da AWS excedem o máximo permitido de solicitações de API, e as chamadas de API são limitadas. Geralmente, esses erros são temporários e se resolvem sozinhos à medida que as chamadas de API diminuem.

Para evitar erros de Taxa excedida, você pode:

  • Implementar o recuo exponencial
  • Criar ou atualizar uma pilha de cada vez
  • Usar o atributo DependsOn
  • Solicitar um aumento de cota

Resolução

Implementar o recuo exponencial

Ao usar endpoints de API da AWS, implemente o recuo exponencial para diminuir o número de chamadas de API que estão sendo feitas.

O exemplo a seguir de pseudocódigo para uma chamada de API DescribeStacks é configurado para repetir a chamada de API após períodos específicos de tempo:

{
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 
}

Criar ou atualizar uma pilha de cada vez

Criar ou atualizar várias pilhas do CloudFormation simultaneamente pode resultar em muitas chamadas de API sendo feitas ao mesmo tempo. Para evitar que as chamadas de API excedam o máximo permitido de solicitações de API, crie ou atualize uma pilha de cada vez.

Usar o atributo DependsOn

A menos que uma dependência seja definida entre os recursos, o CloudFormation cria e atualiza recursos ao mesmo tempo. O atributo DependsOn define dependências entre recursos para controlar atualizações simultâneas.

O atributo DependsOn permite especificar quando cada recurso dependente é criado ou atualizado. Por exemplo, se o recurso B for dependente do recurso A, você poderá especificar que o recurso A seja criado ou atualizado antes do recurso B. Isso limita o número de chamadas de API feitas ao mesmo tempo e reduz a ocorrência do controle de utilização. Você também pode usar o atributo DependsOn com pilhas aninhadas.

Solicitar um aumento de cota

Se as resoluções anteriores não funcionarem para a sua situação, você poderá solicitar um aumento de cota. Antes de solicitar um aumento de cota, identifique a chamada de API para determinar aquela que está excedendo a taxa de chamadas.

Na sua solicitação de aumento de cota, inclua sua região da AWS, o período de tempo da limitação da API e o motivo do aumento.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?