Solicitação de controle de utilização da API do Elastic Load Balancing - Elastic Load Balancing

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solicitação de controle de utilização da API do Elastic Load Balancing

O Elastic Load Balancing limita suas solicitações de API para cada AWS conta por região. Isso é feito para ajudar na performance e na disponibilidade do serviço. O controle de utilização garante que as solicitações de API do Elastic Load Balancing não excedam os limites máximos permitidos de solicitações da API. As solicitações de API estão sujeitas aos limites de solicitação, quer você as chame ou elas sejam chamadas em seu nome (por exemplo, pelo aplicativo Console de gerenciamento da AWS ou por um aplicativo de terceiros).

Caso você exceda o limite do controle de utilização da API do Elastic Load Balancing, receberá o código de erro ThrottlingException e uma mensagem de erro Rate exceeded.

Recomendamos preparar a utilização do controle de utilização de forma adequada. Para obter mais informações, consulte Tempos limite, novas tentativas e recuo com variação de sinal. Se você tiver um alto nível de limitação, entre em contato AWS Support para ajudá-lo a avaliar o uso da API e as possíveis soluções. Cada caso é avaliado individualmente. Suporte pode aumentar seus limites dentro dos limites de segurança do sistema, para manter a alta disponibilidade e o desempenho previsível.

Como o controle de utilização é aplicado

O Elastic Load Balancing usa o algoritmo de token bucket para implementar o controle de utilização de API. Com esse algoritmo, sua conta tem um bucket que contém um número específico de tokens. O número de tokens no bucket representa seu limite de controle de utilização em qualquer segundo.

O Elastic Load Balancing fornece dois conjuntos de ações de API. A versão 2 da API do ELB é compatível com os seguintes tipos de balanceadores de carga: Application Load Balancers, Network Load Balancers e Gateway Load Balancers. A versão 1 da API do ELB é compatível com Classic Load Balancers. Cada versão da API do ELB tem seus próprios buckets e tokens.

Serviços que chamam a API do Elastic Load Balancing em seu nome, como Amazon, Amazon ECS, EC2 Amazon EC2 Auto Scaling, e AWS CloudFormation têm seus próprios buckets no nível da conta. Esses serviços não consomem tokens de seus buckets.

Limitação de intervalo de solicitações

Com a limitação da taxa de solicitação, o controle de utilização limita o número de solicitações de API que você faz. Cada solicitação feita remove um token do bucket. Por exemplo, o tamanho do bucket de token para uma ação de API sem mutação é de 40 tokens. Você pode fazer até 40 solicitações Describe* no total por segundo. Se você exceder as 40 solicitações Describe* em um segundo, você será limitado pelo controle de utilização e as solicitações excedentes nesse segundo falharão.

Os buckets são recarregados automaticamente a uma taxa definida. Se o bucket ficar abaixo da capacidade máxima, um determinado número de tokens será adicionado novamente a cada segundo até o bucket atingir sua capacidade máxima. Se o bucket estiver cheio quando os tokens de recarga forem adicionados, eles serão descartados. O bucket não pode conter mais do que seu número máximo de tokens. Por exemplo, o tamanho do bucket para uma ação de API sem mutação é de 40 tokens e a taxa de recarga é dez tokens por segundo. Se você fizer 40 solicitações DescribeLoadBalancers em um segundo, o bucket será reduzido para zero (0) tokens. Adicionamos dez tokens de recarga ao bucket a cada segundo até atingir sua capacidade máxima de 40 tokens. Isso significa que um bucket vazio atingirá sua capacidade máxima após 4 segundos se nenhuma solicitação for feita durante esse período.

Para fazer solicitações de API, não é necessário esperar que o bucket esteja completamente cheio. Você pode usar tokens à medida que eles são adicionados ao bucket. Se você usar imediatamente os tokens de recarga, o bucket não atingirá sua capacidade máxima.

Há um limite de controle de utilização no nível da conta que é compartilhado entre todas as ações da API do Elastic Load Balancing. A capacidade do bucket no nível da conta é de 40 tokens e a taxa de recarga é de 10 tokens de solicitação por segundo.

Solicitação de tamanhos de buckets de token e taxas de recarga

Para fins de limitação da taxa de solicitação, as ações da API são agrupadas em categorias. Cada categoria possui seus próprios limites.

Categorias
  • Ações mutantes: as ações de API que criam. modificam ou excluem recursos. Essa categoria geralmente inclui todas as ações de API que não são categorizadas como ações não mutantes. Essas ações têm um limite de controle de utilização menor do que as ações de API não mutantes.

  • Ações não mutantes: ações de API que recuperam dados sobre recursos. Essas ações de API geralmente têm os maiores limites de controle de utilização de API.

  • Ações que consomem muitos recursos: ações de API que levam mais tempo e consomem mais recursos para serem concluídas. Essas ações têm um limite de controle de utilização até menor do que as ações mutantes. Essas ações têm controle de utilização separado de outras ações de API mutantes.

  • Ações de registro: ações de API que registram ou cancelam o registro de destinos. Essas ações de API têm controle de utilização separado de outras ações mutantes.

  • Ações não categorizadas: essas ações de API recebem seus próprios tamanhos de bucket de tokens e taxas de recarga, embora se encaixem em uma das outras categorias.

A tabela a seguir mostra a capacidade padrão e as taxas de recarga dos buckets de tokens de solicitação categorizados.

Categoria ELBv2 ações ELBv1 ações Capacidade do bucket Taxa de reabastecimento (por segundo)
Consome muitos recursos CreateLoadBalancer, SetSubnets CreateLoadBalancer, AttachLoadBalancerToSubnets, DetachLoadBalancerFromSubnets, EnableAvailabilityZonesForLoadBalancer, DisableAvailabilityZonesForLoadBalancer 10 0,2
Registro RegisterTargets, DeregisterTargets RegisterInstancesWithLoadBalancer, DeregisterInstancesFromLoadBalancer 20 4
Não mutante DescribeAccountLimits, DescribeCapacityReservation, DescribeListenerAttributes, DescribeListenerCertificates, DescribeListeners, DescribeLoadBalancerAttributes, DescribeLoadBalancers, DescribeRules, DescribeSSLPolicies, DescribeTags, DescribeTargetGroupAttributes, DescribeTargetGroups, DescribeTargetHealth Describe* 40 10
Mutando AddListenerCertificates, AddTags, CreateListener, CreateRule, CreateTargetGroup, DeleteListener, DeleteLoadBalancer, DeleteRule, DeleteTargetGroup, ModifyCapacityReservation, ModifyIpPools, ModifyListener, ModifyListenerAttributes, ModifyLoadBalancerAttributes, ModifyRule, ModifyTargetGroup, ModifyTargetGroupAttributes, RemoveListenerCertificates, RemoveTags, SetIpAddressType, SetRulePriorities, SetSecurityGroups AddTags, ApplySecurityGroupsToLoadBalancer, ConfigureHealthCheck, CreateAppCookieStickinessPolicy, CreateLbCookieStickinessPolicy, CreateLoadBalancerListener, CreateLoadBalancerPolicy, Delete*, ModifyLoadBalancerAttributes, RemoveTags, SetLoadBalancer* 20 3

A tabela a seguir mostra a capacidade padrão e as taxas de recarga dos buckets de tokens de solicitação não categorizados para. ELBv2

ELBv2 ações Capacidade do bucket Taxa de reabastecimento (por segundo)
CreateTrustStore 10 0,2
AddTrustStoreRevocations, DeleteSharedTrustStoreAssociation, DeleteTrustStore, ModifyTrustStore, RemoveTrustStoreRevocations 10 0,2
GetResourcePolicy, GetTrustStoreCaCertificatesBundle, GetTrustStoreRevocationContent 20 4
DescribeTrustStoreAssociations, DescribeTrustStoreRevocations, DescribeTrustStores 40 10

As taxas de recarga fracionárias requerem vários segundos para gerar um token completo.

Monitoramento de solicitações de API

Você pode usar AWS CloudTrail para monitorar suas solicitações da API Elastic Load Balancing. Para obter mais informações, consulte Registre chamadas de API para o Elastic Load Balancing usando AWS CloudTrail.