Pular para o conteúdo principal

Limitação de taxa

A limitação de taxa contém inundação de requisições HTTP e abuso de uso. Ela conta requisições por cliente e devolve 429 para o que passar do limite — antes de a requisição consumir a sua origem.

Rate limiting​

ParâmetroOpções
Unidaderequisições por segundo, por minuto ou por hora
Chave de contagemendereço IP do cliente
Alcanceo domínio inteiro, um caminho exato ou um prefixo de caminho
Resposta ao excesso429

Você configura o limite em dois lugares: na política do domínio, para o tráfego geral, e em regras personalizadas com ação RATE_LIMIT, para caminhos específicos. Quando os dois valem, o mais restritivo para aquele caminho é o que decide.

O limite existe para conter abuso dentro da capacidade da plataforma — formulário sendo varrido, endpoint caro sendo martelado, POST repetido por um único cliente. Ele não é uma cota de contrato nem um medidor de consumo.

Limites por instância​

O limite é aplicado por instância de borda. Quando o tráfego de um domínio é distribuído por várias instâncias, o total efetivo aceito pode ser maior do que o valor configurado — na proporção do número de instâncias que atendem aquele domínio naquele momento.

Diga isso em voz alta antes de calibrar: um limite de 100 requisições por segundo configurado pode aceitar mais de 100 por segundo no total. Se você precisa de um teto global rígido para um caminho caro, configure o limite com folga para o número de instâncias e mantenha a proteção real na aplicação, com autenticação e cota por consumidor.

Limitação de taxa e DDoS​

AtaqueQuem contém
Inundação de requisições HTTP (camada 7)Limitação de taxa do WAF
Varredura de formulário, POST repetido, abuso de endpointLimitação de taxa e regras personalizadas
Inundação UDP ou SYN (camada 3 e 4)Proteção de rede à frente do WAF
Saturação de link, ataque volumétricoProteção de rede à frente do WAF

A limitação de taxa do WAF não protege contra ataque volumétrico de camada 3 ou 4. Ataque de volume precisa ser absorvido na rede. Trate as duas coisas como camadas distintas: o WAF cuida do conteúdo da requisição, a rede cuida do volume.

Diferença em relação às quotas do API Gateway​

Limitação de taxa do WAFQuota do API Gateway
O que contaRequisições por IP de clienteConsumo por consumidor e por chave de API
Para que serveConter abuso e inundaçãoContrato comercial, fair use, cobrança
Quem configuraQuem administra o WAFQuem administra o produto de API
Requisição bloqueada consome cotaNão—

São produtos diferentes: o WAF não consome quota do API Gateway, e uma requisição bloqueada pelo WAF não consome cota de API. Quem precisa limitar um consumidor identificado por chave usa a quota do Gateway; quem precisa conter inundação por IP usa a limitação de taxa do WAF.

Calibrando​

  1. Meça o tráfego normal por caminho, em requisições por segundo, por minuto e por hora.
  2. Comece com um limite generoso e ação de observação nas regras, para ver quem seria afetado.
  3. Aperte aos poucos, acompanhando os eventos de 429.
  4. Lembre do número de instâncias de borda ao definir o valor final.
  5. Avise os integradores antes de apertar um limite que afete API pública.
429 é resposta esperada, não incidente

Um pico de 429 num caminho caro costuma ser o limite funcionando. Só trate como problema quando o 429 atinge cliente legítimo em volume normal — nesse caso, o limite está baixo ou a chave de contagem não serve para o seu caso.

Próximos passos​