ID da região
O REGION_ID é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para apps criados após
fevereiro de 2020, o REGION_ID.r está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Saiba mais sobre IDs de região.
Neste documento, listamos as cotas e limites que se aplicam ao App Engine.
- As cotas têm valores definidos por padrão, mas geralmente é possível solicitar ajustes.
- Os limites do sistema são valores fixos que não podem ser alterados.
OGoogle Cloud usa cotas para garantir a distribuição justa e reduzir sobrecargas no uso e na disponibilidade dos recursos. Uma cota restringe a alocação de um recurso doGoogle Cloud para uso do seu projeto do Google Cloud . As cotas se aplicam a vários tipos de recursos, incluindo hardware, software e componentes de rede. Por exemplo, elas podem restringir o número de chamadas de API para um serviço, o número de balanceadores de carga usados simultaneamente pelo projeto ou o número de projetos que podem ser criados. As cotas protegem a comunidade de usuários doGoogle Cloud , impedindo a sobrecarga de serviços. Elas também ajudam você a gerenciar seus próprios recursos do Google Cloud .
O sistema de cotas do Cloud faz o seguinte:
- Monitora o consumo de produtos e serviços do Google Cloud .
- Restringe o consumo desses recursos.
- Possibilita a solicitação de mudanças no valor das cotas e a automatização de ajustes de cotas.
Na maioria dos casos, quando você tenta consumir mais de um recurso do que a cota permite, o sistema bloqueia o acesso ao recurso, e a tarefa que você está tentando executar falha.
As cotas geralmente se aplicam ao nível do projeto do Google Cloud . O uso de um recurso em um projeto não afeta a cota disponível em outro. Em um projeto do Google Cloud , as cotas são compartilhadas entre todos os aplicativos e endereços IP.
Saiba mais em Visão geral das cotas do Cloud.
Também há limites do sistema para os recursos do App Engine. Não é possível alterar esses limites.
Um aplicativo do App Engine pode consumir recursos até determinadas cotas. É possível conferir o consumo diário do aplicativo na página Detalhes da cota do console do Google Cloud .
Tipos de cotas
Os seguintes tipos de cotas são válidos para aplicativos do App Engine:
- Cotas sem custo financeiro fornecem ao aplicativo uma quantidade sem custo financeiro de cada recurso. Os
detalhes sobre cotas sem custos financeiros podem ser encontrados na seção recursos desta
página. Depois que o aplicativo ultrapassar a cota sem custo financeiro, você receberá a cobrança
por todo o uso extra desse recurso.
Apenas o ambiente padrão do App Engine oferece cotas sem custo financeiro.
- As cotas diárias protegem a integridade do sistema do App Engine, garantindo que nenhum app consuma demais um recurso em detrimento de outros. Se você ultrapassar esses limites, um erro será exibido. As cotas diárias são atualizadas todos os dias à meia-noite do horário do Pacífico.
- As cotas por minuto protegem o aplicativo de consumir todos os recursos em períodos muito curtos e evitam que outros apps monopolizem um determinado recurso. Se o aplicativo consumir um recurso rápido demais e esgotar a cota por minuto, a palavra "Limitado" será exibida ao lado da cota correspondente na página Cotas do console do Google Cloud . As solicitações dos recursos que atingirem o máximo por minuto serão negadas.
Proprietários do projeto e administradores de faturamento podem ativar o faturamento de um projeto.
Para detalhes sobre o que acontece quando uma cota é excedida e como lidar com as condições de excesso de cota, consulte Quando um recurso está esgotado.
Dica: as cotas máximas por minuto acomodam altos
níveis de tráfego para lidar com um aumento no tráfego do seu site se ele for
mencionado em algum conteúdo. Se você acredita que determinada cota não atende
a esse requisito, envie
feedback no rastreador de problemas. Enviar feedback não é uma
solicitação para aumentar sua cota, mas isso nos ajudará a entender qual cota
será possivelmente muito baixa para os casos de uso geral.
Se você espera níveis muito altos de tráfego, ou
seu app exige cotas particularmente elevadas, por exemplo, devido ao
lançamento de produtos significativos ou
testes de carga grandes, é recomendado se inscrever em um pacote de suporte.
Como os recursos são renovados
O App Engine rastreia o uso dos recursos de seu aplicativo em comparação às cotas do sistema. O App Engine redefine todas as medições de recursos no início de cada dia (exceto para dados armazenados, que sempre representam a quantidade de armazenamento de dados em uso).
As cotas diárias são renovadas diariamente à meia-noite do horário do Pacífico. As cotas por minuto são atualizadas a cada 60 segundos.
Quando um recurso está esgotado
Quando todo o recurso alocado é consumido por um aplicativo, ele fica indisponível até que a cota seja renovada. Isso significa que o aplicativo não funcionará até que a cota seja renovada.
Quando os recursos necessários para iniciar uma solicitação se esgotarem,
o App Engine retornará por padrão um código de erro HTTP 403 ou
503 para a solicitação em vez de chamar um
gerenciador. Esse comportamento é válido para o recurso
instância/horas.
Dica: configure o aplicativo para que ele exiba uma página de erro personalizada ao exceder uma cota. Para mais detalhes, consulte a referência do arquivo de configuração para Python (2.7, 3), Java, Go, PHP (5.5, 7) ou Node.js .
Quando qualquer outro recurso está esgotado, uma tentativa de consumi-lo no aplicativo
resulta em uma exceção. Essa exceção pode ser capturada pelo aplicativo e processada,
por exemplo, com a exibição de uma mensagem de erro amigável para o usuário. Na API Python, essa exceção é
apiproxy_errors.OverQuotaError. Na API para Java, essa exceção é
com.google.apphosting.api.ApiProxy.OverQuotaException. Na API Go, a função
appengine.IsOverQuota informa se um erro representa uma falha na chamada da API,
devido à insuficiência de uma cota disponível.
O exemplo a seguir ilustra como detectar o erro OverQuotaError, que pode ser
gerado pelo método SendMessage() se uma cota relacionada a e-mails tiver sido excedida:
try: mail.SendMessage(to='test@example.com', from='admin@example.com', subject='Test Email', body='Testing') except apiproxy_errors.OverQuotaError, message: # Log the error. logging.error(message) # Display an informative message to the user. self.response.out.write('The email could not be sent. ' 'Please try again later.')
Seu app está ultrapassando os limites padrão? Entre em contato com o Cloud Customer Care para solicitar limites de capacidade de processamento mais altos. Se for necessário contar com uma cota de e-mails maior, envie e-mails usando o SendGrid.
Recursos
Um aplicativo pode usar os recursos a seguir, sujeitos às cotas. Os recursos medidos em comparação com os limites faturáveis são indicados com "(faturável)". A quantidade de recursos representa uma alocação em um período de 24 horas.
O custo dos recursos extras está listado na página Preços.
Serviços, versões e instâncias
O número máximo de serviços e versões implantadas depende do preço do seu app. Os ambientes flexível e padrão compartilham os mesmos limites de serviços e versões. Por exemplo, se você tiver versões padrão e versões flexíveis no mesmo app, elas serão contabilizadas com relação ao mesmo limite.
| Limite | App sem custo financeiro | App pago |
|---|---|---|
| Número máximo de serviços por app | 5 | 210 |
| Número máximo de versões por app | 15 | 210 |
Há também um limite para o número de instâncias de cada serviço com escalonamento básico ou manual:
| Número máximo de instâncias por versão de escalonamento manual/básico | ||
|---|---|---|
| App sem custo financeiro | App pago nos EUA | App pago na UE |
| 20 | 25 (200 para us-central) |
25 |
Também há um limite para o número de instâncias em versões padrão que podem ser executadas por projeto e região. A classe de instância do serviço determina qual limite é aplicado e a contribuição de uma instância desse serviço para o uso da cota. Por exemplo, uma instância F4 conta como quatro instâncias de front-end normalizadas.
É possível acessar o consumo da cota de contagem de instâncias na página "Cotas" do IAM.
| Descrição | Limite | Pode aumentar? |
|---|---|---|
| Número máximo de instâncias de front-end por projeto e região medido em um período de um minuto | Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. | Sim |
| Número máximo de instâncias de back-end por projeto e região medido em um período de 1 minuto | Depende da região selecionada. Esse limite pode ser maior em regiões de alta capacidade ou menor em regiões abertas recentemente. | Sim |
Observação: siga as etapas descritas nesta página para solicitar limites mais altos.
Há também um limite para o número de caracteres no URL do aplicativo.| Descrição | Limite |
|---|---|
Máximo de caracteres no URL do projeto para
o URL VERSION-dot-SERVICE-dot-PROJECT_ID |
63 |
Bucket padrão do Cloud Storage
O bucket padrão do Cloud Storage tem uma cota sem custo financeiro para uso diário, conforme mostrado abaixo. Crie esse bucket padrão sem custos na página Configurações do App Engine do console do Google Cloud para seu projeto.
As cotas a seguir aplicam-se especificamente ao uso do bucket padrão. Consulte os preços dos buckets multirregionais do Cloud Storage para uma descrição dessas cotas.
| Recurso | Limite padrão |
|---|---|
| Dados armazenados no bucket padrão do Cloud Storage | Primeiros 5 GB sem custo financeiro e sem valor máximo |
| Operações de classe A do bucket padrão do Cloud Storage | Primeiras 20.000 operações/dia sem custo e sem valor máximo |
| Operações de classe B do bucket padrão do Cloud Storage | Primeiras 50.000 operações/dia sem custo financeiro,sem máximo |
| Saída de rede do bucket padrão do Cloud Storage | Primeiro 1 GB sem custo financeiro, sem limite máximo |
Blobstore
As cotas a seguir se aplicam especificamente ao uso do Blobstore.
- Dados armazenados no Blobstore
- A quantidade total de dados armazenados no Blobstore. Disponível para apps pagos e sem custo financeiro.
| Recurso | Limite padrão |
|---|---|
| Dados armazenados no Blobstore | Primeiros 5 GB sem custo financeiro e sem valor máximo |
Armazenamento de dados estáticos e códigos
- Limite de dados estáticos
- Em todas as linguagens, exceto em Go, nenhum arquivo de dados estático pode ser maior do que 32 MB. O limite em Go é de 64 MB.
- Armazenamento total
- A cota de armazenamento se aplica à quantidade total de códigos e dados estáticos armazenados por todas as versões do aplicativo. O tamanho total armazenado de códigos e arquivos estáticos está listado na tabela "Painel principal". Os tamanhos individuais são exibidos nas telas "Versões" e "Back-ends", respectivamente. Nos aplicativos, serão cobrados US$ 0,026 por GB ao mês para qualquer armazenamento de dados estáticos e códigos que ultrapasse 1 GB.
| Recurso | Custo |
|---|---|
| Armazenamento de dados estáticos e códigos: primeiro 1 GB | Sem custo financeiro |
| Armazenamento de dados estáticos e códigos: além de 1 GB | US$ 0,026/GB/mês |
| Recurso | Custo |
|---|---|
| Armazenamento de dados estáticos e códigos: primeiro 1 GB | Sem custo financeiro |
| Armazenamento de dados estáticos e códigos: além de 1 GB | 0,023/GB/mês"> |
Firestore no modo Datastore (Datastore)
A cota de dados armazenados (faturável) refere-se a todos os dados armazenados para o aplicativo no Datastore e Blobstore. Outras cotas na seção "Datastore" da tela Detalhes da cota no console do Google Cloud se referem especificamente ao serviço do Datastore.
- Dados armazenados (faturáveis)
-
A quantidade total de dados armazenados em entidades de armazenamento de dados e índices e no Blobstore.
É importante notar que os dados armazenados no repositório de dados podem causar uma sobrecarga significativa. Essa sobrecarga depende do número e dos tipos de propriedades associadas, e inclui o espaço usado pelos índices incorporados e personalizados. Cada entidade armazenada no repositório de dados exige os seguintes metadados:
- A chave da entidade, incluindo o tipo, o ID ou o nome da chave, e as chaves dos ancestrais da entidade.
- O nome e o valor de cada propriedade. Como o repositório de dados não tem esquema, o nome de cada propriedade precisa ser armazenado com o valor da propriedade de qualquer entidade fornecida.
- As linhas de índice incorporado e personalizado que se referem a essa entidade. Cada linha contém o tipo de entidade, o número de valores da propriedade dependendo da definição do índice e a chave da entidade.
- Número de índices
- O número de índices atuais do Datastore no aplicativo. Inclui índices criados no passado e que não aparecem mais na configuração do aplicativo, mas não foram excluídos. Consulte a página "Limites do Datastore" para mais detalhes sobre limites.
- Operações de gravação
- O número total de operações de gravação do Datastore.
- Operações de leitura
- O número total de operações de leitura do Datastore.
- Operações pequenas
- O número total de operações pequenas do Datastore. Operações pequenas incluem chamadas para alocar IDs do Datastore ou consultas somente para chaves.
| Recurso | Limite padrão |
|---|---|
| Dados armazenados (faturáveis) | 1 GiB sem custos e sem valor máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota sem custos. |
| Número de índices | 200 |
| Leituras de entidades | 50.000 sem custos e sem valor máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota sem custos. |
| Gravações de entidades | 20.000 sem custos e sem valor máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota sem custos. |
| Exclusões de entidades | 20.000 sem custos e sem valor máximo.
Aplicam-se taxas de cobrança ao ultrapassar a cota sem custos. |
| Operações pequenas | Ilimitado |
Observação: as operações do Datastore, geradas pelo Admin do Datastore e pelo Leitor do Datastore , são contabilizadas na cota do aplicativo.
Implantações
Em cada aplicativo do App Engine, é possível implantar até 10.000 vezes por dia.
Quando você implanta, o Cloud Build cria uma imagem de contêiner e a armazena no Artifact Registry. Você receberá cobrança se o espaço de armazenamento total consumido pelas imagens exceder o nível sem custos financeiros.
Arquivos
As cotas a seguir se aplicam ao número total de arquivos de implantação do app.
| Arquivos | Máximo |
|---|---|
| Arquivos padrão por app | 10.000 arquivos Entre em contato com o suporte para solicitar um aumento. |
| Arquivos por diretório | 1.000 arquivos Esse é um limite rígido que não pode ser aumentado. |
Instância/hora
O uso da instância é cobrado pelo tempo de atividade da instância, a uma determinada taxa por hora.
Há cotas sem custo financeiro separadas para as classes de instâncias "F" e "B", também conhecidas como classes de instâncias de "front-end" e "back-end". Quando você usa os Serviços do App Engine, a classe da instância do serviço determina qual cota é aplicada.
| Recurso | Cota sem custo financeiro |
|---|---|
| Instâncias F1 | 28 instâncias/hora sem custos por dia |
| Instâncias B1 | 9 instâncias/hora sem custos por dia |
A contagem de instância/hora começa quando a instância é iniciada e termina como descrito abaixo, dependendo do tipo de escalonamento especificado para a instância:
- Escalonamento básico ou automático: a contagem acaba 15 minutos depois que a instância finaliza o processamento da última solicitação.
- Escalonamento manual: a contagem acaba quinze minutos depois que a instância é desligada.
Se o número de instâncias inativas criadas pelo App Engine ultrapassar o máximo especificado na guia "Configurações de desempenho" do console do Google Cloud , as instâncias excedentes não serão contabilizadas no cálculo de instância/hora.
Registros
A API Logs é medida quando os dados do registro são recuperados.
A cota de ingestão de registros se refere a registros de solicitação e dados de registros de um aplicativo para um aplicativo. A geração de registros para apps do App Engine é fornecida pelo Google Cloud Observability. Consulte os Preços do Google Cloud Observability para mais informações sobre taxas e limites.
O consumo da API Mail está disponível na página Cotas do IAM.
Observação: para acessar o consumo da cota de um aplicativo na página "Cotas do IAM", verifique se o Serviço de relatórios do App Engine está ativado no projeto. Se não for possível ativar o serviço, verifique suas permissões e a restrição da política da organização constraints/serviceuser.services.
Observação: siga as etapas descritas nesta página para solicitar limites mais altos.
No App Engine, a conta para uso de e-mail é "por mensagem", contando cada e-mail para cada destinatário. Por exemplo, enviar um e-mail para dez destinatários conta como dez mensagens.
- Mensagens enviadas para usuários que não são admins
- O número total de mensagens enviadas pelo aplicativo para não admins do aplicativo.
- Mensagens enviadas para admins
- O número total de mensagens aos admins do aplicativo enviadas pelo aplicativo. O limite de tamanho total para cada e-mail de admin, incluindo cabeçalhos, anexos e corpo, é de 16 KB.
- Dados de corpo da mensagem enviados
- A quantidade de dados enviados no corpo de mensagens de e-mail.
- Anexos enviados
- O número total de anexos enviados com mensagens de e-mail.
- Dados de anexos enviados
- A quantidade de dados enviados como anexos de mensagens de e-mail.
| Recurso | Limite diário padrão | Taxa máxima |
|---|---|---|
| Destinatários contatados por e-mail | 100 mensagens | 8 mensagens/minuto |