Como evitar erros de controle de utilização de API do Route 53?

3 minuto de leitura
0

Estou recebendo erros de controle de utilização de API no Amazon Route 53.

Breve descrição

Ao realizar chamadas de API em massa para o Route 53, você pode receber um erro HTTP 400 (solicitação incorreta).

Um cabeçalho de resposta com um valor de elemento de Código de Controle de utilização e um valor de elemento de Mensagem de Taxa excedida indica controle de utilização de taxa. O controle de utilização de taxa acontece quando o número de solicitações de API é maior que o limite rígido de cinco solicitações por segundo, por conta.

Se o Route 53 não conseguir processar a solicitação antes da próxima solicitação para a mesma zona hospedada, ele rejeitará as solicitações subsequentes com outro erro HTTP 400. O cabeçalho da resposta contém os dois elementos a seguir:

  • Um elemento de Código com um valor de PriorRequestNotComplete
  • Um elemento de Mensagem com um valor de a solicitação foi rejeitada porque o Route 53 ainda estava processando uma solicitação anterior.

As chamadas de API de usuários do AWS Identity and Access Management (IAM) na mesma conta contam para o controle de utilização global da taxa da conta. As chamadas de API desses usuários do IAM também afetam as chamadas de API feitas no Console de Gerenciamento da AWS.

Resolução

Observação: Se receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), utilize a versão mais recente da AWS CLI.

Para evitar o controle de utilização da taxa, use um dos métodos a seguir:

Solicitações de agrupamento

Para reduzir as chamadas de API, use a AWS CLI ou seu SDK preferido para agrupar operações individuais do mesmo tipo em uma operação de alterar lote.

Por exemplo, solicite CREATE, DELETE ou UPSERT (atualizar e inserir) vários registros com uma operação em lote. Use o comando change-resource-recorde-sets na AWS CLI para realizar operações de registro de recursos em massa.

Observação:

  • As solicitações UPSERT contam duas vezes.
  • cotas para os elementos e caracteres nas chamadas de API change-resource-record-sets.

Use novas tentativas de erro e recuo exponencial

Para evitar o controle de utilização, adicione novas tentativas de erro e recuo exponencial às chamadas de API do Route 53. Por exemplo, use um algoritmo de recuo exponencial simples que faça novas tentativas de chamada em 2^i segundos, onde i é o número de novas tentativas.

Randomize os horários de início

Randomize a hora de início para chamadas de APIs do Route 53. Não deve haver vários aplicativos processando a lógica ao mesmo tempo. Solicitações simultâneas podem causar controle de utilização.

Introduza o “tempo de espera” entre as chamadas

Se as chamadas da função de código para as APIs do Route 53 forem consecutivas, adicione “tempo de espera” entre as duas chamadas para minimizar o risco de controle de utilização.

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses