Cotas no Amazon Cognito - Amazon Cognito

Cotas no Amazon Cognito

O Amazon Cognito tem cotas padrão, anteriormente chamadas de limites, para o número máximo de operações que você pode executar em sua conta. O Amazon Cognito também tem cotas para o número máximo e o tamanho dos recursos do Amazon Cognito.

Cada cota do Amazon Cognito representa um volume máximo de solicitações em uma Região da AWS, em uma Conta da AWS. Por exemplo, as aplicações podem fazer solicitações de API até a taxa de cota padrão (RPS) para operações UserAuthentication em todos os grupos de usuários na região Leste dos EUA (Norte da Virgínia). As aplicações na região Ásia-Pacífico (Tóquio) podem produzir o mesmo volume de solicitações em todos os grupos de usuários em sua própria região. A AWS pode conceder uma solicitação de aumento de cota em uma região por vez. Um aumento bem-sucedido da cota na região Leste dos EUA (Norte da Virgínia) não afeta a taxa máxima de solicitação na região Ásia-Pacífico (Tóquio).

Noções básicas das cotas de taxas de solicitação de API

Categorização de cotas

O Amazon Cognito define uma taxa máxima de solicitação para operações de API. Para obter mais informações sobre as operações de API que o Amazon Cognito disponibiliza, consulte Referências de API do Amazon Cognito. Para grupos de usuários, essas operações são agrupadas em categorias de casos de uso comuns, como UserAuthentication ou UserCreation. Para obter uma lista das operações de API por categoria, consulte Categorias de operação da API de grupos de usuários do Amazon Cognito e cotas de taxa de solicitação. É possível monitorar o uso da cota do grupo de usuários e solicitar aumentos por categoria no console do Service Quotas.

As cotas de operação são definidas como o número de solicitações permitidas por segundo (RPS) para todas as operações em uma categoria. O serviço de grupos de usuários do Amazon Cognito aplica cotas a todas as operações em cada categoria. Por exemplo, a categoria UserCreation inclui quatro operações, SignUp, ConfirmSignUp, AdminCreateUser e AdminConfirmSignUp. Ela é alocada com uma cota combinada de 50 RPS. Se várias operações ocorrerem ao mesmo tempo, cada uma delas dentro dessa categoria pode chamar até 50 RPS separadamente ou de maneira combinada.

nota

As cotas de categoria só se aplicam aos grupos de usuários. O Amazon Cognito aplica cada cota do grupo de identidades a uma única operação. Para cotas de taxa de solicitação por categoria e por operação, a AWS mede a agregação de todas as solicitações de todos os grupos de usuários ou grupos de identidades em sua Conta da AWS em uma Região da AWS.

Operações de API de grupos de usuários do Amazon Cognito com processamento especial de taxa de solicitação

As cotas de operação são medidas e aplicadas para o total combinado de solicitações no nível da categoria, com exceção das operações AdminRespondToAuthChallenge e RespondToAuthChallenge, em que regras especiais de processamento são aplicadas.

Por exemplo, a categoria UserAuthentication inclui quatro operações: AdminInitiateAuth, InitiateAuth, AdminRespondToAuthChallenge e RespondToAuthChallenge. As operações InitiateAuth e AdminInitiateAuth são medidas e aplicadas por cota de categoria. As operações correspondentes RespondToAuthChallenge e AdminRespondToAuthChallenge estão sujeitas a uma cota separada que é três vezes o limite da categoria UserAuthentication. Essa cota elevada acomoda vários desafios de autenticação configurados nas aplicações dos desenvolvedores. A cota é suficiente para abranger a grande maioria dos casos de uso. Além do limite de três vezes por chamada de autenticação, a taxa de excesso é contabilizada na cota da categoria UserAuthentication.

Por exemplo, se sua cota para a categoria UserAuthentication for 80 RPS, você poderá chamar RespondToAuthChallenge ou AdminRespondToAuthChallenge até 240 RPS (80 RPS x 3). Se a aplicação estiver configurada para ter quatro rodadas de desafio por chamada de autenticação e você tiver 70 logins por segundo, o RespondToAuthChallenge é de 280 RPS (70 x 4), que é 40 RPS acima da cota. Os 40 RPS extras são adicionados a 70 chamadas InitiateAuth, totalizando o uso da categoria UserAuthentication em 110 RPS (40 + 70). Esse valor excede a cota de categoria definida em 80 RPS por 30 RPS, portanto, essa aplicação é limitada.

Usuários ativos mensalmente

Monthly active users (MAUs – Usuários ativos mensalmente) são o benchmark pelo qual o faturamento de grupos de usuários do Amazon Cognito é calculado. Os MAUs também são usadas para determinar se seu grupo de usuários está qualificado para um aumento de cota. Um usuário é contado como MAU se, em determinado mês, houver uma operação de identidade relacionada a esse usuário, como cadastro, login, atualização de token, alteração de senha ou um atributo de conta de usuário for atualizado. O Amazon Cognito também considerará um usuário como ativo se você executar uma ação que desative ou exclua o usuário ou seus atributos.

Gerenciar cotas de taxas de solicitação de API

Identificar os requisitos de cota

Importante

Se você aumentar as cotas do Amazon Cognito para categorias como UserAuthentication, UserCreation ou AccountRecovery, talvez seja necessário aumentar as cotas para outros serviços. Por exemplo, as mensagens enviadas pelo Amazon Cognito com o Amazon Simple Notification Service (Amazon SNS) ou o Amazon Simple Email Service (Amazon SES) podem falhar se as cotas de taxa de solicitação forem insuficientes nesses serviços.

Para calcular os requisitos de cota, determine quantos usuários ativos interagirão com sua aplicação em um período específico. Por exemplo, se você espera que a aplicação faça login em uma média de um milhão de usuários ativos em um período de oito horas, você precisará autenticar uma média de 35 usuários por segundo.

Além disso, presumindo que a sessão média do usuário seja de duas horas e os tokens sejam configurados para expirar após uma hora, cada usuário deve atualizar seus tokens uma vez durante essa sessão. A cota média necessária para a categoria UserAuthentication suportar essa carga é de 70 RPS.

Presumindo uma proporção de pico para média de 3:1 contabilizando a variância da frequência de acesso de usuário durante o período de oito horas, você precisará da cota UserAuthentication desejada de 200 RPS.

nota

Se você chamar várias operações para cada ação do usuário, precisará resumir as taxas de chamada de operação individuais no nível da categoria.

Otimizar cotas

Siga um dos métodos a seguir para processar um pico na taxa de chamadas.

Repetir a tentativa após um período de espera de recuo

Você pode detectar erros em cada chamada de API e, em seguida, tentar novamente após um período de recuo. Você pode ajustar o algoritmo de recuo de acordo com as necessidades da empresa e com a carga. Os SDKs da Amazon têm lógica de repetição de tentativa integrada. Para obter mais informações, consulte Ferramentas para criar na AWS.

Usar um banco de dados externo para atributos atualizados com frequência

Se a aplicação exigir várias chamadas para um grupo de usuários para a leitura ou gravação de atributos personalizados, use armazenamento externo. Você pode usar seu banco de dados preferido para armazenar atributos personalizados ou usar uma camada de cache para carregar um perfil de usuário durante o login. Você pode referenciar esse perfil do cache quando necessário, em vez de recarregar o perfil do usuário de um grupo de usuários.

Validar tokens JWT no lado do cliente

As aplicações têm que validar tokens JWT antes de confiar neles. Você pode verificar a assinatura e a validade dos tokens no lado do cliente sem enviar chamadas de API para um grupo de usuários. Depois que o token é validado, você pode confiar em solicitações no token e usar as solicitações em vez de fazer mais chamadas de API de getUser. Para obter mais informações, consulte Como verificar um token Web JSON.

Acelerar o tráfego para sua aplicação Web com uma sala de espera

Se você espera tráfego de um grande número de usuários fazendo login durante um evento de tempo limitado, como fazer um exame ou participar de um evento ao vivo, você pode otimizar o tráfego de solicitações com mecanismos de autocontrole de utilização. Você pode, por exemplo, configurar uma sala de espera onde os usuários podem ficar até que uma sessão esteja disponível, permitindo que você processe solicitações quando tiver capacidade disponível. Consulte Solução AWS Virtual Waiting Room para uma arquitetura de referência de uma sala de espera.

Rastrear o uso da cota

O Amazon Cognito gera as métricas CallCount e ThrottleCount no Amazon CloudWatch para cada categoria de operação da API no nível da conta. Você pode usar o CallCount para rastrear o número total de chamadas feitas pelos clientes relacionadas a uma categoria. Você pode usar o ThrottleCount para rastrear o número total de chamadas com controle de utilização feitas pelos clientes relacionadas a uma categoria. Você pode usar as métricas CallCount e ThrottleCount usando a estatística Sum para contar o número total de chamadas em uma categoria. Para obter mais informações, consulte Como usar métricas do Amazon CloudWatch.

Ao monitorar cotas de serviço, a utilização é a porcentagem de uma cota de serviço em uso. Por exemplo, se o valor da cota for de 200 recursos e 150 recursos estiverem em uso, a utilização será de 75%. Uso é o número de recursos ou operações em uso para uma cota de serviço.

Monitorar o uso por meio de métricas do CloudWatch

Você pode rastrear e coletar métricas de utilização de grupos de usuários do Amazon Cognito usando o CloudWatch. O painel do CloudWatch exibirá métricas sobre cada AWS service (Serviço da AWS) que você usar. Com o CloudWatch, você pode criar alarmes métricos para notificar você ou alterar um recurso específico que você está monitorando. Para obter informações sobre métricas do CloudWatch, consulte Monitorar métricas de uso do CloudWatch.

Monitorar a utilização por meio de métricas do Service Quotas

Os grupos de usuários do Amazon Cognito estão integrados ao Service Quotas, que é um serviço baseado em navegador que permite visualizar e gerenciar o uso da cota de serviço. No console do Service Quotas, você pode pesquisar o valor de uma cota específica, visualizar informações de monitoramento, solicitar um aumento de cota e configurar alarmes do CloudWatch. Depois que sua conta estiver ativa por um tempo, você poderá visualizar um gráfico da utilização dos seus recursos.

Para obter mais informações sobre como visualizar cotas no console do Service Quotas, consulte Visualizar Service Quotas.

Solicitar um aumento de cota

O Amazon Cognito tem uma cota para o número máximo de operações do grupo de usuários que você pode executar em sua conta. Você pode solicitar um aumento nas cotas ajustáveis de taxas de solicitação de APIs no Amazon Cognito. Para solicitar um aumento de cota, use o console do Service Quotas, o formulário de aumento de limites do serviço ou as operações da API RequestServiceQuotaIncrease ou ListAWSDefaultServiceQuotas.

Importante

Somente cotas ajustáveis podem ser aumentadas. As solicitações de aumento de cotas são avaliadas com base na utilização atual, os MAUs existentes ou esperados e na implementação das práticas recomendadas de otimização. Quando você enviar uma solicitação de aumento de cota, forneça o máximo possível de informações sobre o uso atual, o uso projetado e os métodos de otimização. No caso de aumentos de cota que elevem sua taxa de solicitação, isso significa que sua taxa de solicitação média atual já deve estar próxima da taxa máxima de sua cota atual. Consulte Categorias de operação da API de grupos de usuários do Amazon Cognito e cotas de taxa de solicitação para saber mais sobre cotas ajustáveis.

Considere um exemplo de cenário em que sua aplicação está crescendo para 5 milhões de MAUs. Sua utilização média atual nas operações da categoria UserAuthentication é alta: 60% ou 72 solicitações por segundo em relação à cota atual de 120. Você pode solicitar um aumento de cota UserAuthentication para 40 solicitações por segundo para cada um dos 3 milhões de MAUs acima dos 2 primeiros milhões, elevando sua cota para o máximo de 240 solicitações por segundo.

Categorias de operação da API de grupos de usuários do Amazon Cognito e cotas de taxa de solicitação

Como o Amazon Cognito tem classes sobrepostas de operações de API com diferentes modelos de autorização, cada operação pertence a uma categoria. Cada categoria tem sua própria cota combinada para todas as operações da API de membros, em todos os grupos de usuários em uma Região da AWS em sua conta. Você só pode solicitar um aumento das cotas das categorias ajustáveis. Para obter mais informações, consulte Solicitar um aumento de cota. Os ajustes de cota se aplicam aos grupos de usuários em sua conta em uma única região. O Amazon Cognito restringe as operações em algumas categorias1 a 5 solicitações por segundo (RPS), por grupo de usuários. A cota padrão (RPS) também se aplica a todos os grupos de usuários em uma conta.

nota

A cota para cada categoria é medida em usuários ativos mensais (MAUs). Contas da AWScom menos de dois milhões de MAUs podem operar dentro da cota padrão. Se você tiver menos de um milhão de MAUs, não deverá solicitar aumento de cota.

Cotas de operação de categoria são aplicadas a todos os usuários em todos os grupos de usuários em uma Região da AWS. O Amazon Cognito também mantém uma cota para o número de solicitações que a aplicação pode gerar com relação a um usuário. Você deve limitar as solicitações de API por usuário conforme mostrado na tabela a seguir.

Cotas de taxa de solicitação por usuário de grupos de usuários do Amazon Cognito

Operação Operações por usuário por segundo
Ler perfil de usuário

Exemplos: AdminInitiateAuth, GetUser, GetDevice

10
Gravar perfil de usuário

Exemplos: UpdateUserAttributes, SetUserSettings, AdminLinkProviderForUser

10

Você deve limitar as solicitações de API por categoria conforme mostrado na tabela a seguir.

Cotas de taxa de solicitação por categoria de grupos de usuários do Amazon Cognito

Categoria Descrição Cota padrão (RPS)2 Ajustável Qualificação para aumento de cota3
UserAuthentication Operações que autenticam (fazem login) um usuário.

Essas operações estão sujeitas a Operações de API de grupos de usuários do Amazon Cognito com processamento especial de taxa de solicitação .

120 Sim 40 RPS para cada 1 milhão de MAUs adicionais
UserCreation Operações que criam ou confirmam um usuário nativo do Amazon Cognito. Este é um usuário criado e verificado diretamente por seus grupos de usuários do Amazon Cognito. 50 Sim 10 RPS para cada 1 milhão de MAUs adicionais
UserFederation

As operações gerenciadas do Amazon Cognito para federar um usuário por meio de um IdP de terceiros no Amazon Cognito.

Operações que federam (autenticam) usuários com um provedor de identidade de terceiros em seus grupos de usuários do Amazon Cognito. 25 Sim 10 RPS para cada 1 milhão de MAUs adicionais
UserAccountRecovery Operações que recuperam a conta do usuário ou alteram ou atualizam a senha do usuário. 30 Não N/D
UserRead Operações que recuperam um usuário dos grupos de usuários. 120 Sim 40 RPS para cada 1 milhão de MAUs adicionais
UserUpdate As operações que os clientes usam para gerenciar usuários e atributos de usuários. 25 Não N/D
UserToken Operações para gerenciamento de tokens 120 Sim 40 RPS para cada 1 milhão de MAUs adicionais
UserResourceRead As operações que recuperam informações de recursos de usuários do Amazon Cognito, como um dispositivo lembrado ou uma associação de grupo. 50 Sim 20 RPS para cada 1 milhão de MAUs adicionais
UserResourceUpdate As operações que atualizam informações de recursos de um usuário, como um dispositivo lembrado ou uma associação de grupo. 25 Não N/D
UserList Operações que retornam uma lista de usuários. 30 Não N/D
UserPoolRead Operações que leem seus grupos de usuários. 15 Não N/D
UserPoolUpdate Operações que criam, atualizam ou excluem seus clientes do grupo de usuários. 15 Não N/D
UserPoolResourceRead Operações que recuperam informações sobre recursos, como grupos ou servidores de recursos, de um grupo de usuários.1 20 Não N/D
UserPoolResourceUpdate Operações que modificam recursos, como grupos ou servidores de recursos, em um grupo de usuários.1 15 Não N/D
UserPoolClientRead Operações que recuperam informações sobre seus clientes do grupo de usuários.1 15 Não N/D
UserPoolClientUpdate Operações que criam, atualizam e excluem seus clientes do grupo de usuários.1 15 Não N/D
ClientAuthentication

client_credentials concede solicitações de tipo para o endpoint TOKEN.

Operações que geram credenciais a serem usadas na autorização de solicitações de máquina a máquina 150 Não N/D

1 Qualquer operação individual nesta categoria tem uma restrição que impede que a operação seja chamada a uma taxa superior a 5 RPS para um único grupo de usuários.

2 Taxa de solicitação para todos os grupos de usuários com menos de 2 milhões de MAUs.

3 Os aumentos da taxa de solicitação serão considerados quando você tiver entre 1 milhão e 10 milhões de MAUs. As solicitações de aumento de cotas são avaliadas com base na utilização atual, nos MAUs existentes ou esperados e na implementação das práticas recomendadas de otimização. O Amazon Cognito reserva para si o direito de negar solicitações de aumento de cotas a fim de evitar o uso indevido e proteger a disponibilidade do serviço para todos os clientes. Se você tiver mais de 10 milhões de MAUs, é recomendável trabalhar com um arquiteto de soluções AWS para projetar sua solução de forma otimizada para cotas do Amazon Cognito. Entre em contato com a equipe de sua conta da AWS para obter ajuda.

Cotas de taxa de solicitação de operação da API de grupos de identidades (identidades federadas) do Amazon Cognito

Operação Descrição Cota padrão (RPS) Ajustável Qualificação para aumento de cota
GetId Recupere um ID de identidade de um grupo de identidades. 25 Sim Entre em contato com a equipe da conta.
GetOpenIdToken Recupere um token OpenID de um grupo de identidades no fluxo de trabalho clássico. 200 Sim Entre em contato com a equipe da conta.
GetCredentialsForIdentity Recupere as credenciais da AWS de um grupo de identidades no fluxo de trabalho aprimorado. 200 Sim Entre em contato com a equipe da conta.
GetOpenIdTokenForDeveloperIdentity Recupere um token OpenID de um grupo de identidades no fluxo de trabalho de desenvolvedor. 200 Sim Entre em contato com a equipe da conta.

Cotas de número e tamanho do recurso

As cotas de recursos são o número ou tamanho máximo de recursos, campos de entrada, duração do tempo e outros recursos diversos no Amazon Cognito.

É possível solicitar um ajuste em algumas cotas de recursos no console do Service Quotas ou em um formulário de aumento de limite de serviço. Para solicitar um aumento de cota usando o console do Service Quotas, consulte Solicitar um aumento de cota no Guia do usuário do Service Quotas. Se a cota ainda não estiver disponível no Service Quotas, use o formulário de aumento de limites do serviço.

nota

As cotas de recursos no nível da Conta da AWS, como grupos de usuários por conta, se aplicam aos recursos do Amazon Cognito em cada Região da AWS. Por exemplo, você pode ter 1.000 grupos de usuários na região Leste dos EUA (Norte da Virgínia) e outros 1.000 na região Europa (Estocolmo).

As tabelas a seguir indicam as cotas de recursos padrão e se elas são ajustáveis.

Cotas de recursos de grupos de usuários do Amazon Cognito

Recurso Quota Ajustável Cota máxima
Clientes da aplicação por grupo de usuários 1.000 Sim 10.000
Grupos de usuários por conta 1.000 Sim 10.000
Provedores de identidade por grupo de usuários 300 Sim 1.000
Servidores de recursos por grupo de usuários 25 Sim 300
Usuários por grupo de usuários 40.000.000 Sim Entre em contato com a equipe da conta.
Atributos personalizados por grupo de usuários 50 Não N/D
Caracteres por atributo 2.048 bytes Não N/D
Caracteres no nome de um atributo personalizado 20 Não N/D
Caracteres de senha mínimos necessários na política de senha 6 a 99 Não N/D
Mensagens de e-mail enviadas diariamente por Conta da AWS¹ 50 Não N/D
Caracteres no assunto do e-mail 140 Não N/D
Caracteres na mensagem de e-mail 20.000 Não N/D
Caracteres na mensagem de verificação por SMS 140 Não N/D
Caracteres na senha 256 Não N/D
Caracteres no nome do provedor de identidade 40 Não N/D
Identificadores por provedor de identidade 50 Não N/D
Identidades vinculadas a um usuário 5 Não N/D
URLs de retorno de chamada por cliente da aplicação 100 Não N/D
URLs de saída por cliente da aplicação 100 Não N/D
Escopos por servidor de recursos 100 Não N/D
Escopos por cliente da aplicação 50 Não N/D
Domínios personalizados por conta 4 Não N/D
Grupos aos quais cada usuário pode pertencer 100 Não N/D
Grupos por grupo de usuários 10.000 Não N/D

¹ Essa cota se aplicará somente se você estiver usando o recurso de e-mail padrão para um grupo de usuários do Amazon Cognito. Para permitir um volume de entrega de e-mails maior, configure o grupo de usuários para usar a configuração de e-mail do Amazon SES. Para obter mais informações, consulte Configurações de e-mail para grupos de usuários do Amazon Cognito.

Parâmetros de validade de sessão de grupos de usuários do Amazon Cognito

Token Quota
Token de ID 5 minutos – 1 dia
Token de atualização 1 hora – 3.650 dias
Token de acesso 5 minutos – 1 dia
Cookie de sessão da interface de usuário hospedada 1 hora
Token de sessão de autenticação Três a quinze minutos

Cotas de recursos de segurança de código de grupos de usuários do Amazon Cognito

Recurso Quota
Período de validade do código de confirmação de cadastro 24 horas
Período de validade do código de verificação do atributo do usuário 24 horas
Período de validade do código de autenticação multifator (MFA) De 3 a 15 minutos
Período de validade do código de esquecimento de senha 1 hora
Número máximo de chamadas de ConfirmForgotPassword por usuário Cinco a vinte tentativas por hora, dependendo da pontuação de risco
Número máximo de chamadas de ResendConfirmationCode por usuário 5 tentativas por hora
Número máximo de chamadas de ConfirmSignUp por usuário 15 tentativas por hora
Número máximo de chamadas de ChangePassword por usuário 5 tentativas por hora
Número máximo de chamadas de GetUserAttributeVerificationCode por usuário 5 tentativas por hora
Número máximo de chamadas de VerifyUserAttribute por usuário 15 tentativas por hora

Cotas de recursos de trabalho de importação de usuários do grupo de usuários do Amazon Cognito (não ajustáveis)

Recurso Quota
Trabalhos de importação de usuário por grupo de usuários 1.000
Máximo de caracteres por linha do CSV de importação de usuários 16.000
Tamanho máximo do arquivo CSV 100 MB
Número máximo de usuários por arquivo CSV 500.000

Cotas de recursos de grupos de identidades do Amazon Cognito (identidades federadas)

Recurso Quota Ajustável Cota máxima
Grupos de identidades por conta 1.000 Não N/D
Provedores de grupos de usuários do Amazon Cognito por grupo de identidades 50 Sim 1000
Caracteres de um nome do grupo de identidades 128 bytes Não N/D
Caracteres de um nome do provedor de login 2.048 bytes Não N/D
Identidades por grupo de identidades Ilimitado Não N/D
Provedores de identidade para os quais podem ser especificados mapeamentos de função 10 Não N/D
Resultados de uma única chamada de lista ou pesquisa 60 Não N/D
Regras de Role-based access control (RBAC – Controle de acesso com base em função) 25 Não N/D

Cotas de recursos do Amazon Cognito Sync

Recurso Quota Ajustável Cota máxima
Conjuntos de dados por identidade 20 Sim Entre em contato com a equipe da conta.
Registros por conjunto de dados 1.024 Sim Entre em contato com a equipe da conta.
Tamanho de um único conjunto de dados 1 MB Sim Entre em contato com a equipe da conta.
Caracteres no nome do conjunto de dados 128 bytes Não N/D
Tempo de espera para uma publicação em massa após uma solicitação bem-sucedida 24 horas Não N/D