ID de región
REGION_ID
es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r
se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
Obtén más información acerca de los ID de región.
En este documento, se describen los límites y las cuotas que se aplican a App Engine.
Google Cloud usa cuotas para garantizar la equidad y reducir los aumentos repentinos en el uso y la disponibilidad de los recursos. Una cuota restringe la cantidad de un recurso de Google Cloud que puede usar tu proyecto de Google Cloud. Las cuotas se aplican a una variedad de tipos de recursos, incluidos los componentes de hardware, software y red. Por ejemplo, las cuotas pueden restringir la cantidad de llamadas a la API para un servicio, la cantidad de balanceadores de cargas que se usan en simultáneo en tu proyecto o la cantidad de proyectos que puedes crear. Las cuotas protegen a la comunidad de usuarios de Google Cloud mediante la prevención de la sobrecarga de los servicios. También te ayudan a administrar tus propios recursos de Google Cloud.
El sistema de cuotas Cloud realiza las siguientes acciones:
- Supervisa el consumo de productos y servicios de Google Cloud.
- Restringe el consumo de esos recursos.
- Proporciona un medio para solicitar cambios en el valor de la cuota.
En la mayoría de los casos, cuando intentas consumir más de lo que permite la cuota de un recurso, el sistema bloquea el acceso al recurso, y la tarea que intentas realizar falla.
Por lo general, las cuotas se aplican a nivel del proyecto de Google Cloud. El uso de un recurso en un proyecto no afecta tu cuota disponible en otro proyecto. Dentro de un proyecto de Google Cloud, las cuotas se comparten entre todas las aplicaciones y direcciones IP.
También existen límites para los recursos de App Engine. Estos límites no están relacionados con el sistema de cuotas. Los límites no se pueden cambiar, a menos que se indique lo contrario.
Una aplicación de App Engine puede consumir recursos hasta alcanzar determinadas cuotas. Puedes ver el consumo diario de tus aplicaciones en la página de detalles de las cuotas en la consola de Google Cloud.
Tipos de cuotas
Los siguientes tipos de cuotas son válidos para las aplicaciones de App Engine:
- Las cuotas gratuitas proporcionan a las aplicaciones una cantidad de cada recurso que puede usarse sin cargo. Puedes encontrar los detalles sobre las cuotas gratuitas en la sección recursos de esta página. Cuando una aplicación supera una cuota gratuita, se te facturará el uso adicional que hagas de ese recurso.
Solo el entorno estándar de App Engine proporciona cuotas gratuitas.
- Las cuotas diarias tienen como fin proteger la integridad del sistema de App Engine, ya que garantizan que ninguna aplicación individual pueda consumir recursos de una forma tan excesiva que perjudique a otras apps. Si sobrepasas estos límites, aparecerá un mensaje de error. Las cuotas diarias se actualizan todos los días a la medianoche (hora del Pacífico).
- Las cuotas por minuto evitan que las aplicaciones consuman la totalidad de los recursos en períodos muy reducidos y, además, impiden que otras apps acaparen por completo cualquier recurso en particular. Si una aplicación consume un recurso demasiado rápido y agota una cuota por minuto, aparecerá el mensaje “Limitado” junto a la cuota correspondiente en la página Cuotas de la consola de Google Cloud. Se denegarán las solicitudes de recursos que alcancen el límite máximo por minuto.
Los propietarios de proyectos y los administradores de facturación pueden habilitar la facturación para un proyecto determinado.
Consulta la sección ¿Qué ocurre cuando se agota un recurso? para obtener detalles acerca de lo que sucede cuando se supera una cuota y cómo manejar las condiciones que se imponen por exceder este límite.
Sugerencia: Las cuotas máximas por minuto son lo suficientemente altas para niveles de tráfico elevados y permiten manejar un aumento repentino en el tráfico cuando, por ejemplo, tu sitio aparece mencionado en un artículo periodístico. Si crees que una cuota en particular no cumple con este requisito, envía tus comentarios en la Herramienta de seguimiento de errores. Ten en cuenta que enviar comentarios no es una solicitud para aumentar tu cuota, pero nos ayudará a comprender qué cuota podría ser demasiado baja en casos de uso general.
Si esperas niveles de tráfico en extremo altos, o por alguna razón tu aplicación requiere cuotas en particular altas (p. ej., debido al lanzamiento significativo del producto o grandes pruebas de carga), te recomendamos que te registres en un paquete de asistencia.
Cómo se reabastecen los recursos
App Engine hace un seguimiento del uso que tu aplicación hace de los recursos en relación con las cuotas del sistema. App Engine restablece todas las mediciones de los recursos al inicio de cada día natural (salvo los datos almacenados, que siempre representan la cantidad de almacenamiento de datos en uso).
Las cuotas diarias se reabastecen a medianoche (hora del Pacífico). Las cuotas por minuto se actualizan cada 60 segundos.
Qué ocurre cuando se agota un recurso
Cuando una aplicación consume por completo un recurso asignado, este deja de estar disponible hasta que se reabastezca la cuota. Esto podría implicar que tu aplicación no funcione hasta el reabastecimiento.
En el caso de los recursos que son necesarios para iniciar una solicitud, cuando se agota el recurso, la conducta predeterminada de App Engine es mostrar un código de error HTTP 403
o 503
para responder a la solicitud en lugar de llamar al controlador de solicitudes. Este comportamiento se aplica al recurso de horas de instancia.
Sugerencia: Puedes configurar tu aplicación para que entregue una página de error personalizada cuando se exceda una cuota. Si quieres obtener detalles, consulta la referencia del archivo de configuración para Python (2.7, 3), Java, Go, PHP (5.5, 7) o Node.js .
En el caso de los demás recursos, se produce una excepción cada vez que la aplicación intenta consumir un recurso después de que este se agota. La aplicación puede capturar esta excepción y hacerse cargo de ella, por ejemplo, mostrando un mensaje que le explique el error al usuario. En la API de Python, esta excepción es apiproxy_errors.OverQuotaError
. En la API para Java, esta excepción es com.google.apphosting.api.ApiProxy.OverQuotaException
. En la API de Go, la función appengine.IsOverQuota
informa si un error representa una falla en una llamada a la API debido a que la cuota disponible es insuficiente.
En el siguiente ejemplo, se muestra cómo detectar el OverQuotaError
, que puede aumentarse a través del método SendMessage()
cuando se supera una cuota basada en un correo electrónico:
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.')
¿Tu aplicación supera los límites predeterminados? Puedes comunicarte con la Atención al cliente de Cloud para solicitar un aumento de los límites de capacidad de procesamiento. Si necesitas una cuota más alta de correo electrónico, puedes usar SendGrid para enviar correos electrónicos.
Recursos
Una aplicación puede usar los siguientes recursos hasta alcanzar el límite de la cuota correspondiente. Los recursos que se miden en relación con los límites de facturación se indican de la siguiente forma: "(facturable)". Las cantidades de cada recurso representan una asignación durante un período de 24 horas.
El costo de los recursos adicionales se indica en la página Precios.
Servicios, instancias y versiones
La cantidad máxima de servicios y versiones que puedes implementar depende de los precios de tu app. El entorno flexible y el estándar comparten los mismos límites para los servicios y las versiones. Por ejemplo, si tienes versiones estándar y flexibles en la misma app, esas versiones se tendrán en cuenta para el mismo límite.
Límite | Aplicación gratuita | Aplicación pagada |
---|---|---|
Número máximo de servicios por app | 5 | 210 |
Número máximo de versiones por app | 15 | 210 |
También existe un límite en la cantidad de instancias para cada servicio con el escalamiento básico o manual:
Máximo de instancias por versión de escalamiento manual/básico | ||
---|---|---|
Aplicación gratuita | Aplicación pagada en EE.UU. | Aplicación pagada en la UE |
20 | 25 (200 para us-central ) |
25 |
También hay un límite para la cantidad de instancias de las versiones estándar que se pueden ejecutar por proyecto y región. La clase de instancia del servicio determina qué límite se aplica y la contribución de una instancia de ese servicio al uso de la cuota. Por ejemplo, 1 instancia F4 cuenta como 4 instancias de frontend normalizadas.
Puedes ver el consumo de la cuota de cantidad de instancias en la página Cuotas de IAM.
Descripción | Límite | Se puede aumentar |
---|---|---|
Cantidad máxima de instancias de frontend por proyecto y región medida en un período de 1 minuto | Depende de la región seleccionada. Este límite puede ser mayor en regiones de alta capacidad o más bajo en regiones abiertas recientemente. | Sí |
Cantidad máxima de instancias de backend por proyecto y región medida durante un período de 1 minuto | Depende de la región seleccionada. Este límite puede ser mayor en regiones de alta capacidad o más bajo en regiones abiertas recientemente. | Sí |
Nota: Puedes seguir los pasos que se describen en esta página para solicitar límites más altos.
También existe un límite en la cantidad de caracteres para la URL de tu aplicación.Descripción | Límite |
---|---|
Cantidad máxima de caracteres en la URL del proyecto para la URL VERSION-dot-SERVICE-dot-PROJECT_ID |
63 |
Bucket predeterminado de Cloud Storage
El bucket predeterminado de Cloud Storage incluye una cuota gratuita de uso diario, como se muestra a continuación. Este bucket predeterminado gratuito para el proyecto se crea en la página de configuración de App Engine de la consola de Google Cloud.
Las siguientes cuotas se aplican en específico al uso del bucket predeterminado. Consulta los precios de los buckets multirregionales de Cloud Storage para ver una descripción de estas cuotas.
Recurso | Límite predeterminado |
---|---|
Datos almacenados en el bucket predeterminado de Cloud Storage | Los primeros 5 GB son gratuitos; no se aplica ningún límite máximo. |
Operaciones de clase A del bucket predeterminado de Cloud Storage | Las primeras 20,000 operaciones por día son gratuitas; no se aplica ningún límite máximo. |
Operaciones de clase B del bucket predeterminado de Cloud Storage | Las primeras 50,000 operaciones por día son gratuitas; no se aplica ningún límite máximo. |
Salida de red del bucket predeterminado de Cloud Storage | El primer GB es gratuito; no se aplica ningún límite máximo. |
Blobstore
Las siguientes cuotas se aplican específicamente al uso del blobstore.
- Datos almacenados en el blobstore
- La cantidad total de datos almacenados en el blobstore. Disponible tanto para apps pagadas como gratuitas.
Recurso | Límite predeterminado |
---|---|
Datos almacenados en el blobstore | Los primeros 5 GB son gratuitos; no se aplica ningún límite máximo. |
Almacenamiento de código y datos estáticos
- Límite de datos estáticos
- En todos los lenguajes, excepto Go, ningún archivo de datos estáticos puede tener más de 32 MB. El límite para Go es de 64 MB.
- Almacenamiento total
- La cuota de almacenamiento se aplica a la cantidad total de código y datos estáticos almacenados mediante todas las versiones de tu aplicación. El tamaño almacenado total de archivos estáticos y de código se enumera en la tabla del panel principal. Los archivos individuales se muestran en las pantallas Versiones y Backends, respectivamente. A las apps se les cobrará $0.026 por GB al mes por el almacenamiento de código y datos estáticos que supere 1 GB.
Firestore en modo Datastore (Datastore)
La cuota de datos almacenados (facturables) se refiere a todos los datos almacenados para la aplicación en Datastore y en el blobstore. Las demás cuotas de la sección “Datastore” de la página de detalles sobre la cuota de Google Cloud Console se refieren en específico al servicio de Datastore.
- Datos almacenados (facturables)
-
La cantidad total de datos almacenados en las entidades del almacén de datos y los índices correspondientes, y el blobstore.
Es importante tener en cuenta que los datos contenidos en el almacén de datos pueden generar gastos considerables. Estos gastos dependen de la cantidad y los tipos de propiedades asociadas. Además, incluyen el espacio que usan los índices integrados y personalizados. Cada entidad guardada en el almacén de datos requiere los siguientes metadatos:
- La clave de la entidad, que incluye el tipo, el ID o el nombre de la clave. También se necesitan las claves de las entidades principales de las que esta depende.
- El nombre y valor de cada propiedad. Dado que el almacén de datos no tiene esquema, el nombre de cada propiedad debe almacenarse con el valor de la propiedad de cada entidad.
- Las filas de los índices integrados y personalizados que hacen referencia a esa entidad. Cada fila contiene el tipo y la clave de la entidad, así como una cantidad variable de valores de propiedades, según la definición del índice.
- Cantidad de índices
- Es la cantidad de índices de Datastore que existen para la aplicación. Esto incluye los índices creados anteriormente que ya no aparecen en la configuración de la aplicación, pero que no se borraron. Consulta la página de límites de Datastore para obtener detalles adicionales sobre los límites.
- Operaciones de escritura
- Es la cantidad total de operaciones de escritura de Datastore.
- Operaciones de lectura
- Es la cantidad total de operaciones de lectura de Datastore.
- Operaciones pequeñas
- Es la cantidad total de operaciones pequeñas de Datastore. Las operaciones pequeñas incluyen las llamadas para asignar ID de Datastore o las búsquedas que solo requieren la clave.
Recurso | Límite predeterminado |
---|---|
Datos almacenados (facturables) | 1 GiB gratis, no hay un valor máximo.
Cuando se supera la cuota gratuita, se aplican tarifas de facturación. |
Cantidad de índices | 200 |
Operaciones de lectura de entidades | 50,000 gratis; no se aplica ningún límite máximo.
Cuando se supera la cuota gratuita, se aplican tarifas de facturación. |
Operaciones de escritura de entidades | 20,000 gratis; no se aplica ningún límite máximo.
Cuando se supera la cuota gratuita, se aplican tarifas de facturación. |
Operaciones de eliminación de entidades | 20,000 gratis; no se aplica ningún límite máximo.
Cuando se supera la cuota gratuita, se aplican tarifas de facturación. |
Operaciones pequeñas | Ilimitado |
Nota: Las operaciones de Datastore que generan el Administrador de Datastore y el Visualizador de Datastore se descuentan de la cuota de tu aplicación.
Implementaciones
Puedes hacer hasta 10,000 implementaciones por día en cada aplicación de App Engine.
Cuando realizas una implementación, Cloud Build compila una imagen de contenedor y la almacena en Artifact Registry. Se generarán cargos si el espacio de almacenamiento total que ocupan las imágenes supera el nivel gratuito.
Archivos
La siguiente cuota se aplica a la cantidad total de archivos de implementación de la app.
Archivos | Máximo |
---|---|
Archivos predeterminados por app | 10,000 archivos Comunícate con el equipo de asistencia para solicitar un aumento. |
Horas de instancia
El uso de instancias se factura por el tiempo de actividad de las instancias a una tarifa por hora determinada.
Las clases de instancias “F” y “B” (también conocidas como clases de instancias de “frontend” y de “backend”) tienen cuotas gratuitas independientes. Ten en cuenta que, cuando usas servicios de App Engine, la clase de instancia del servicio determina cuál de estas cuotas se aplica.
Recurso | Cuota gratuita |
---|---|
Instancias F1 | 28 horas de instancias sin cargo por día |
Instancias B1 | 9 horas de instancias sin cargo por día |
La acumulación de horas de instancia empieza cuando se inicia una instancia y finaliza de acuerdo con lo que se describe a continuación, según el tipo de escalamiento que se especifique para la instancia:
- Ajuste de escala automático o básico: la acumulación finalizará quince minutos después de que una instancia termine de procesar la última solicitud.
- Ajuste de escala manual: la acumulación finalizará quince minutos después de que se desactive una instancia.
Si la cantidad de instancias inactivas creadas por App Engine supera el máximo especificado en la pestaña Configuración de rendimiento de la consola de Google Cloud, las instancias adicionales no acumularán horas de instancia.
Registros
La API de Logs se mide cuando se recuperan los datos de registro.
La asignación de transferencia de registros hace referencia a los registros de solicitud y a los datos de registro de una aplicación. El registro para las apps de App Engine se proporciona mediante Google Cloud Observability. Consulta los precios de Google Cloud Observability para obtener más información sobre las tasas y los límites.
Correo electrónico
El consumo de la API de Mail está disponible para verlo en la página Cuotas de IAM.
Nota: Para ver el consumo de cuota de una aplicación en Cuotas de IAM, asegúrate de que el Servicio de informes de App Engine esté habilitado para el proyecto. Si no puedes habilitar el servicio, comprueba tus permisos y la restricción de la política de la organización constraints/serviceuser.services.
Nota: Puedes seguir los pasos que se describen en esta página para solicitar límites más altos.
App Engine factura el uso del correo electrónico “por mensaje”, para lo cual cuenta cada correo electrónico enviado a cada destinatario. Por ejemplo, si envías un correo electrónico a diez personas, se cuenta como 10 mensajes.
- Mensajes enviados a administradores que no son administradores
- Es la cantidad total de mensajes que envió la aplicación a administradores que no pertenecen a ella.
- Mensajes enviados a administradores
- Es la cantidad total de mensajes que la aplicación envió a sus administradores. El límite de tamaño total para cada correo electrónico enviado a los administradores, incluidos el encabezado, los archivos adjuntos y el cuerpo del mensaje, es de 16 KB.
- Datos enviados en el cuerpo del mensaje
- Es la cantidad de datos que se enviaron en el cuerpo de los mensajes de correo electrónico.
- Archivos adjuntos enviados
- Es la cantidad total de archivos adjuntos enviados junto con los mensajes de correo electrónico.
- Datos de archivos adjuntos enviados
- Es la cantidad de datos entregados como archivos adjuntos de mensajes de correo electrónico.
Recurso | Límite predeterminado diario | Frecuencia máxima |
---|---|---|
Destinatarios contactados por correo electrónico | 100 mensajes | 8 mensajes/minuto |
Administradores contactados por correo electrónico | 5,000 correos electrónicos | 24 correos electrónicos/minuto |
Datos enviados en el cuerpo del mensaje | 60 MB | 340 KB/minuto |
Archivos adjuntos enviados | 2,000 archivos adjuntos | 8 archivos adjuntos/minuto |
Datos de archivos adjuntos enviados | 100 MB | 10 MB/minuto |
Puedes agregar un máximo de 50 remitentes autorizados en la API de Mail.
Envía correos electrónicos más allá de la cuota diaria
Si tu aplicación necesita cuotas más altas para enviar correos electrónicos, puedes usar un proveedor de correo de terceros, como SendGrid, Mailjet o Mailgun.
Solicitudes
- Ancho de banda saliente (facturable)
-
Es la cantidad de datos que envió la aplicación en respuesta a solicitudes.
Incluye lo siguiente:
- datos entregados en respuesta a solicitudes seguras o no seguras de los servidores de la aplicación, de servidores de archivos estáticos o del blobstore
- datos entregados en mensajes de correo electrónico
- datos en solicitudes HTTP de salida que envió el servicio de recuperación de URL
- Ancho de banda de entrada
-
Es la cantidad de datos que recibió la aplicación a partir de solicitudes. Cada solicitud HTTP entrante puede tener un máximo de 32 MB.
Incluye lo siguiente:
- datos recibidos por la aplicación en solicitudes seguras o no seguras
- archivos subidos al blobstore
- datos recibidos en respuesta a solicitudes HTTP del servicio de recuperación de URL
- Ancho de banda saliente seguro
- Es la cantidad de datos que envió la aplicación mediante una conexión segura en respuesta a solicitudes.
- Ancho de banda de entrada seguro
- Es la cantidad de datos que recibió la aplicación mediante una conexión segura a partir de solicitudes.
Búsqueda
La siguiente tabla presenta las cuotas gratuitas que se aplican a la Búsqueda. Consulta la documentación específica de Java, Python y Go para obtener una descripción detallada de cada tipo de llamada de Búsqueda.
Los recursos de la API de Search se cobran con base en las tarifas que figuran en el programa de precios.
Recurso o llamada a la API | Cuota gratuita |
---|---|
Almacenamiento total (índices y documentos) | 0.25 GB |
Consultas | 1,000 consultas por día |
Agregar documentos a los índices | 0.01 GB por día |
La sección de la cuota en la consola de la aplicación muestra un recuento sin procesar de la cantidad de solicitudes a la API. Ten en cuenta que cuando indexas varios documentos en una sola llamada, el recuento de llamadas aumenta en función de la cantidad de documentos.
La API de Search impone los siguientes límites para garantizar la fiabilidad del servicio:
- 100 minutos totales de ejecución de consultas por minuto, dentro de una app y un índice
- 15,000 documentos agregados/borrados por minuto
Nota: Si bien estos límites se hacen cumplir por minuto, la consola de Google Cloud muestra los totales diarios de cada uno. Los clientes con asistencia de nivel Plata, Oro o Platino pueden comunicarse con su representante de asistencia para solicitar el aumento de los límites de capacidad de procesamiento.
Lista de tareas en cola
Cuando se ejecuta una tarea, las solicitudes asociadas se toman en cuenta dentro de las cuotas de solicitudes de la aplicación.
Los siguientes límites se aplican a todas las listas de tareas en cola:
Recurso | Límite diario | Frecuencia máxima |
---|---|---|
Llamadas de administración de la lista de tareas en cola (a través de la consola de Google Cloud) | 10,000 | N/A |
Recurso | Límite predeterminado |
---|---|
Cantidad máxima de listas (incluye las listas de extracción y de aplicaciones en cola, pero no la lista predeterminada) | 100 listas; |
Nota: Una vez que una tarea se ejecuta o se borra, el almacenamiento que usa se libera. Tu cuota de almacenamiento se actualiza a intervalos regulares y podría no mostrar el espacio recuperado de forma inmediata. Consulta la documentación de Python, Java, Go o PHP para obtener más detalles.
Según el tipo, se aplican los siguientes límites a las listas de tareas en cola:
Límites de listas de aplicaciones en cola | |
---|---|
Tamaño máximo por tarea | 100 KB |
Velocidad de ejecución de la lista | 500 invocaciones de tareas por segundo, por lista |
Cuenta regresiva/tiempo previsto de llegada máximo para una tarea | 30 días a partir de la fecha y hora actuales |
Cantidad máxima de tareas que pueden agregarse en un lote | 100 tareas |
Cantidad máxima de tareas que pueden agregarse en una transacción | 5 tareas |
Cantidad máxima predeterminada de listas de tareas en cola | 100 listas; comunícate con el personal de asistencia para solicitar un aumento |
Cron
Las siguientes cuotas se aplican específicamente a los trabajos cron.
- Trabajos cron
- Es la cantidad de trabajos cron.
Recurso | Límite predeterminado |
---|---|
Trabajo cron | 250 trabajos cron |
Recuperación de URL
- Llamadas a la API de UrlFetch
- Es el total de veces que la aplicación accedió al servicio de recuperación de URL para hacer una solicitud HTTP o HTTPS.
- Datos enviados de UrlFetch
- Es la cantidad de datos que se enviaron al servicio de recuperación de URL en las solicitudes.
- Datos recibidos de URL Fetch
- Es la cantidad de datos recibidos del servicio de recuperación de URL en forma de respuesta. También se considera en la cuota de ancho de banda de entrada.
Recurso | Límite diario | Frecuencia máxima |
---|---|---|
Llamadas a la API de UrlFetch | 860,000,000 llamadas | 660,000 llamadas/minuto |
Datos enviados de UrlFetch | 4.5 TB | 3,600 MB/minuto |
Datos recibidos de UrlFetch | 4.5 TB | 3,600 MB/minuto |