Cuotas

Una aplicación de App Engine puede consumir recursos hasta alcanzar ciertas cuotas. Puedes ver el consumo diario de la aplicación en la página de detalles de cuotas de la consola de Google Cloud.

Tipos de cuotas

Se aplican los siguientes tipos de cuotas a las aplicaciones de App Engine:

  • Gracias a las cuotas gratuitas, tu aplicación recibe una cantidad gratis de cada recurso. Cuando superes esa cuota, se te cobrará según el consumo del recurso en cuestión.

    El entorno estándar es el único que ofrece cuotas gratuitas.

  • Las cuotas diarias protegen todo el sistema de App Engine. Para ello, evita que una aplicación consuma un recurso de forma excesiva en detrimento de otras aplicaciones. Si superas estos límites, se producirá un error. Las cuotas diarias se actualizan cada día a medianoche (hora del Pacífico).
  • Las cuotas por minuto sirven para evitar que la aplicación consuma todos sus recursos en periodos muy cortos, así como para impedir que otras aplicaciones monopolicen un recurso determinado. Si tu aplicación consume un recurso demasiado rápido y se agota una cuota por minuto, aparecerá la palabra "Limitada" junto a la cuota correspondiente en la página Cuotas de la consola de Cloud. Las solicitudes de recursos que hayan agotado su cuota máxima por minuto se denegarán.

Los propietarios de los proyectos y los administradores de facturación pueden habilitar la facturación de un proyecto.

Si habilitas la facturación en la aplicación, se aumentarán los límites de seguridad. Consulta la sección Recursos para obtener más información al respecto.

Consulta este enlace para obtener más información sobre lo que ocurre cuando se supera una cuota y qué pasos debes seguir en este tipo de situaciones.

Nota: Las cuotas máximas por minuto se adaptan a altos niveles de tráfico, de forma que se pueda gestionar un aumento repentino del tráfico en tu sitio web si, por ejemplo, lo mencionan en las noticias. Si crees que una cuota determinada no cumple este requisito, menciónalo en un comentario en la herramienta de seguimiento de incidencias. Dejar un comentario no equivale a solicitar que se aumente tu cuota, pero nos ayudará a entender qué cuotas podrían ser demasiado bajas para los casos prácticos generales.

Si crees que vas a recibir unos niveles de tráfico elevados o necesitas cuotas muy altas para tu aplicación (por ejemplo, para el lanzamiento de un producto importante o para realizar grandes pruebas de carga), te recomendamos que te registres para obtener un paquete de asistencia.

Límites de gasto

Las aplicaciones antiguas de App Engine tenían la función de crear límites de gasto para especificar la cantidad máxima aproximada por la que te podían cobrar por usar los recursos de App Engine. Desde el 12 de diciembre del 2019, ya no es posible hacerlo, pero puedes cambiar o eliminar los límites de gasto actuales.

Para obtener más información sobre otros mecanismos que te ayuden a gestionar tus gastos, consulta la página sobre cómo gestionar los gastos.

Renovación de recursos

En App Engine se realiza un seguimiento del uso de recursos de tu aplicación en comparación con las cuotas del sistema. Además, App Engine pone el contador a cero en todas las mediciones de recursos nada más empezar el día (excepto en la categoría de datos almacenados, donde siempre aparece la cantidad de almacenamiento que se está utilizando en el almacén de datos).

Las cuotas diarias se renuevan cada día a las 00:00 (UTC-7). Las cuotas por minuto se actualizan cada 60 segundos.

¿Qué ocurre cuando se agota un recurso?

Cuando una aplicación consume la totalidad de un recurso asignado, este deja de estar disponible hasta que se restaura la cuota. Por tanto, es posible que tu aplicación deje de funcionar hasta que se reinicie dicha cuota.

Si se agotan los recursos necesarios para iniciar una solicitud, App Engine devuelve de forma predeterminada el código de error HTTP 403 o 503 al realizar la solicitud en lugar de llamar a un controlador de solicitudes. Los siguientes recursos tienen dicho comportamiento:

  • Ancho de banda (de entrada y de salida)
  • Horas de instancia

Nota: Puedes configurar tu aplicación para que se muestre una página de error personalizada cuando se supere la cuota. Para obtener más información, consulta la referencia del archivo de configuración de Python (2.7 y 3), Java, Go, PHP (5.5 y 7) o Node.js.

En cuanto al resto de los recursos, si se agotan y la aplicación intenta consumirlos, se producirá una excepción. La aplicación puede detectarla y administrarla (por ejemplo, mostrando un mensaje de error explicativo al usuario). En la API de Python, esta excepción es apiproxy_errors.OverQuotaError. En la de Java, sería com.google.apphosting.api.ApiProxy.OverQuotaException. En la API de Go, la función appengine.IsOverQuota sirve para indicar si un error se debe a un fallo en la llamada a la API debido a que la cuota disponible no es suficiente.

En el siguiente ejemplo se indica cómo detectar OverQuotaError, que puede activarse a través del método SendMessage() si se supera una cuota relacionada con los correos electrónicos:

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? Si necesitas una cuota de correo mayor, puedes usar SendGrid para enviar correos electrónicos. Si quieres aumentar cualquier otro tipo de cuota y dispones de un paquete de asistencia Plata, Oro o Platino, puedes ponerte en contacto con tu representante de asistencia para solicitar un incremento de los límites de rendimiento.

Cuotas del entorno flexible de App Engine

Cuando despliegas una aplicación en el entorno flexible de App Engine, se consumen algunos recursos de GCP que quizás no puedas modificar y que se tienen en cuenta para tu cuota.

Recursos

Una aplicación puede usar los siguientes recursos, sujetos a cuotas. Los recursos que se miden en comparación con los límites facturables se muestran como "facturables". Las cantidades del recurso representan una asignación en un periodo de 24 horas.

En la página de precios se muestra el coste de los recursos adicionales.

Segmento de Cloud Storage predeterminado

El segmento de Cloud Storage predeterminado tiene una cuota gratuita de uso diario, tal y como se muestra a continuación. Puedes crear dicho segmento para tu proyecto en la página de configuración de App Engine de la consola de Google Cloud.

Las siguientes cuotas se aplican de forma específica al uso del segmento predeterminado. Para obtener una descripción al respecto, consulta el artículo sobre los precios de los segmentos multirregionales de Cloud Storage.

Recurso Límite predeterminado
Datos almacenados en el segmento predeterminado de Cloud Storage Primeros 5 GB gratis (sin cantidad máxima)
Operaciones de clase A del segmento predeterminado de Cloud Storage Primeras 20.000 operaciones del día gratis (sin cantidad máxima)
Operaciones de clase B del segmento predeterminado de Cloud Storage Primeras 50.000 operaciones del día gratis (sin cantidad máxima)
Salida de red del segmento predeterminado de Cloud Storage Gratis hasta alcanzar la cuota de ancho de banda de salida (sin cantidad máxima)

Almacén de blobs

Las siguientes cuotas son aplicables específicamente al uso del almacén de blobs.

Datos almacenados en el almacén de blobs
Cantidad total de datos almacenados en el almacén de blobs. Está disponible tanto en aplicaciones gratuitas como de pago.
Recurso Límite predeterminado
Datos almacenados en el almacén de blobs Primeros 5 GB gratis (sin cantidad máxima)

Almacenamiento de datos estáticos y de código

Límite de datos estáticos
En el caso de todos los lenguajes menos Go, ningún archivo de datos estáticos puede tener un tamaño superior a 32 MB. El límite en Go es de 64 MB.
Almacenamiento total
La cuota de almacenamiento se aplica a la cantidad total de datos estáticos y de código almacenados en todas las versiones de tu aplicación. El tamaño total de los archivos de estos tipos almacenados se muestra en la tabla del panel de control principal. Los tamaños individuales aparecen en las pantallas de versiones y de backends, respectivamente. Se te cobrarán 0,026 USD/GB mensuales por las aplicaciones cada vez que el almacenamiento de datos estáticos y de código sea superior a 1 GB.

Datastore

La cuota de datos almacenados (facturables) hace referencia a todos los datos de la aplicación almacenados en Datastore y en el almacén de blobs. El resto de las cuotas de la sección "Datastore" de la pantalla de detalles de cuota de la consola de Google Cloud hacen referencia al servicio Datastore.

Datos almacenados (facturables)

Cantidad total de datos almacenados en las entidades de Datastore y en los índices y el almacén de blobs correspondientes.

Es importante tener en cuenta que los datos almacenados en el almacén de datos pueden traer consigo costes significativos. Estos dependen del número y de los tipos de propiedades asociadas y, además, incluyen el espacio ocupado por los índices integrados y personalizados. Cada entidad almacenada en el almacén de datos requiere los siguientes metadatos:

  • La clave de la entidad, incluido el tipo, el ID o el nombre de la clave, así como las claves de los antecedentes de la entidad.
  • El nombre y el 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 en todas las entidades.
  • Todas las filas de índice integrado y personalizado que hagan referencia a esta entidad. Cada fila contiene el tipo de entidad, una cantidad determinada de valores de propiedad en función de la definición del índice y la clave de la entidad.

Consulta esta página sobre el almacenamiento de entidades e índices para ver un desglose completo de los metadatos necesarios para almacenar índices y entidades en Bigtable.

Número de índices
Número de índices de Datastore que hay en la aplicación. Aquí se incluyen aquellos que se crearon anteriormente y que ya no aparecen en la configuración de la aplicación, pero que no se han eliminado. Consulta la página de límites de Datastore para obtener más información sobre estos límites.
Operaciones de escritura
Número total de operaciones de escritura de Datastore.
Operaciones de lectura
Número total de operaciones de lectura de Datastore.
Operaciones pequeñas
Número total de operaciones menores de Datastore. Entre estas se incluyen las llamadas para asignar IDs de Datastore o consultas para obtener solo las claves.
Recurso Límite predeterminado
Datos almacenados (facturables) 1 GB gratis (sin cantidad máxima).
Una vez superada la cuota gratuita, se aplicarán las tarifas de facturación.
Número de índices 200
Lecturas de entidades 50.000 gratis (sin cantidad máxima).
Una vez superada la cuota gratuita, se aplicarán las tarifas de facturación.
Escrituras de entidades 20.000 gratis (sin cantidad máxima).
Una vez superada la cuota gratuita, se aplicarán las tarifas de facturación.
Eliminaciones de entidades 20.000 gratis (sin cantidad máxima).
Una vez superada la cuota gratuita, se aplicarán las tarifas de facturación.
Operaciones pequeñas Ilimitado

Nota: Las operaciones de Datastore que generen el administrador y el lector de dicho servicio se tienen en cuenta en la cuota de la aplicación.

Despliegues

Puedes hacer hasta 10.000 despliegues al día en cada aplicación de App Engine.

Al hacer un despliegue, Cloud Build crea una imagen de contenedor y la almacena en Container Registry. Si el espacio de almacenamiento total consumido por las imágenes supera el nivel gratuito, se te cobrará una tarifa.

Horas de instancia

Las instancias se facturan por horas según el tiempo de funcionamiento.

Se aplican cuotas gratuitas diferentes a las clases de instancia F y B (también denominadas "frontend" y "backend"). Cuando utilizas los servicios de App Engine, la cuota que se aplica depende de la clase de instancia del servicio.

Recurso Cuota gratuita
Instancias F 28 horas gratuitas al día
Instancias B 9 horas gratuitas al día

La acumulación de horas de instancia comienza cuando una instancia se inicia y finaliza tal y como se describe abajo, y varía según el tipo de escalado que especifiques para ella:

  • Escalado básico o automático: se deja de acumular 15 minutos después de que la instancia termine de procesar su última solicitud.
  • Escalado manual: se deja de acumular 15 minutos después de que se apague la instancia.

Si el número de instancias inactivas creadas por App Engine supera el límite máximo establecido en la pestaña de configuración del rendimiento, las instancias extra no acumulan horas de instancia.

Registros

La API de registros se mide cuando se muestran los datos de registro.

La asignación de ingestión de registros hace referencia a los datos de registros de solicitudes y de aplicaciones. La suite de operaciones de Google Cloud proporciona el almacenamiento de registros a las aplicaciones de App Engine. Consulta la página de precios de la suite de operaciones de Google Cloud para obtener más información sobre las tarifas y los límites.

Correo

App Engine factura el uso del correo electrónico por mensaje a cada destinatario. Por ejemplo, si envías un mismo mensaje a diez destinatarios, contará como 10 mensajes.

Mensajes enviados
Cantidad total de mensajes que ha enviado la aplicación. La cuota máxima para los mensajes enviados es gratuita hasta que se abona el primer cargo de la aplicación.
Mensajes enviados a administradores
Cantidad total de mensajes que ha enviado la aplicación a los administradores. Los correos enviados a los administradores pueden tener un tamaño máximo de 16 KB, incluidos los encabezados, los archivos adjuntos y el cuerpo del mensaje.
Datos del cuerpo de los mensajes enviados
Cantidad de datos enviados en el cuerpo de los mensajes de correo electrónico. Esto también se contabiliza en la cuota de ancho de banda de salida.
Archivos adjuntos enviados
Número total de archivos adjuntos enviados con los mensajes de correo electrónico.
Datos de archivos adjuntos enviados
Cantidad de datos enviados como archivos adjuntos en los mensajes de correo electrónico. Esto también se contabiliza en la cuota de ancho de banda de salida.
Recurso Límite diario predeterminado Frecuencia máxima
Destinatarios de mensajes de correo electrónico 100 mensajes 8 mensajes por minuto
Administradores contactados por correo electrónico 5000 correos electrónicos 24 correos electrónicos por minuto
Datos del cuerpo de los mensajes enviados 60 MB 340 KB por minuto
Archivos adjuntos enviados 2000 archivos adjuntos 8 archivos adjuntos por minuto
Datos de archivos adjuntos enviados 100 MB 10 MB por minuto

Puedes añadir un máximo de 50 remitentes autorizados en la API de correo electrónico.

Enviar más correos que los permitidos en la cuota diaria

Si tu aplicación necesita un aumento de las cuotas para enviar correos, puedes utilizar un proveedor de correo electrónico de terceros (como SendGrid, Mailjet o Mailgun).

Solicitudes

Ancho de banda de salida (facturable)

Cantidad de datos enviados por la aplicación en respuesta a las solicitudes.

Entre estos datos se incluyen:

  • Datos proporcionados para responder a las solicitudes seguras y no seguras realizadas por los servidores de la aplicación, el almacén de blobs o los servidores de archivos estáticos
  • Datos enviados en los mensajes de correo electrónico
  • Datos de solicitudes HTTP de salida enviadas por el servicio de obtención de URL
Ancho de banda de entrada

Cantidad de datos que recibe la aplicación a raíz de las solicitudes. Ninguna solicitud HTTP entrante debe superar los 32 MB.

Entre estos datos se incluyen:

  • Datos recibidos por la aplicación en solicitudes seguras y no seguras
  • Subidas al almacén de blobs
  • Datos recibidos como respuesta a solicitudes HTTP del servicio de obtención de URL
Ancho de banda de salida seguro
Cantidad de datos enviados por la aplicación a través de una conexión segura como respuesta a las solicitudes. El ancho de banda de salida seguro también se contabiliza en la cuota de ancho de banda de salida.
Ancho de banda de entrada seguro
Cantidad de datos recibidos por la aplicación a través de una conexión segura y que proceden de las solicitudes. El ancho de banda de entrada seguro también se contabiliza en la cuota de ancho de banda de entrada.
Recurso Límite diario Frecuencia máxima
Ancho de banda de salida (facturable, incluye HTTPS) 1 GB gratuito (14.400 GB como máximo) 10 GB por minuto
Ancho de banda de entrada (incluye HTTPS) Ninguno Ninguna

En la siguiente tabla se incluyen las cuotas gratuitas de búsqueda. Consulta la documentación de Java, Python y Go para obtener una descripción detallada de cada tipo de llamada de búsqueda.

Se aplicarán cargos a los recursos de la API de búsqueda en función de las tarifas que aparecen en la tabla de precios.

Recurso o llamada a la API Cuota gratuita
Almacenamiento total (documentos e índices) 0,25 GB
Consultas 1000 consultas al día
Añadir documentos a los índices 0,01 GB al día

En la sección de cuotas de la consola de la aplicación aparece un recuento sin procesar de las solicitudes a API. Si se indexan varios documentos en una misma llamada, su recuento aumenta debido al número de documentos.

En la API de búsqueda se establecen estos límites para garantizar la fiabilidad del servicio:

  • Minutos sumados al tiempo de ejecución de las consultas por minuto en una aplicación y un índice: 100
  • Documentos añadidos o eliminados por minuto: 15.000
Además, hay un límite de almacenamiento de 10 GB por índice. Cuando una aplicación intenta superar esta cantidad, se produce un error en el que se indica que la cuota no es suficiente. Puedes enviar una solicitud para incrementar dicho límite a 200 GB desde la página de búsqueda de App Engine de la consola de Google Cloud.

Nota: Aunque estos límites se aplican por minuto, en la consola de Cloud se muestran las cantidades máximas diarias. Los clientes que tengan un paquete de asistencia Plata, Oro o Platino pueden solicitar límites de rendimiento más amplios a través de su representante de asistencia.

Cola de tareas

Llamadas a la API de la cola de tareas
Número total de veces que la aplicación ha llamado a la API de la cola de tareas para enviar una tarea a la cola.
Número de tareas almacenadas en la cola de tareas
Número total de tareas que la aplicación ha enviado a la cola y que aún no se han ejecutado.
Bytes de tareas almacenadas en la cola de tareas
Bytes consumidos por las tareas que la aplicación ha enviado a la cola y que aún no se han ejecutado.

Cuando se ejecuta una tarea, las solicitudes asociadas se incluyen en las cuotas de solicitudes de la aplicación.

Estos límites se aplican a todas las colas de tareas:

Recurso Límite diario Frecuencia máxima
Llamadas a la API de la cola de tareas 1.000.000.000 N/D
Llamadas de gestión de la cola de tareas (mediante la consola de Cloud) 10.000 N/D
Recurso Límite predeterminado
Número de tareas almacenadas en la cola de tareas 10.000.000.000
Bytes de tareas almacenadas en la cola de tareas Ninguno
Número máximo de colas (no se incluye la cola predeterminada, pero sí las de salida y las de tareas extraídas) 100 colas

Nota: Cuando se ejecuta o elimina una tarea, el espacio que ocupaba se queda libre. La cuota de almacenamiento se actualiza en intervalos regulares y es posible que el espacio reclamado no aparezca inmediatamente. Ajusta la configuración de la cola para fijar el límite de bytes de tareas almacenadas. Para obtener más información, consulta la documentación de Python, Java, Go o PHP.

Los siguientes límites se aplican a las colas de tareas en función de su tipo:

Límites de colas de salida
Tamaño máximo de la tarea100 KB
Frecuencia de ejecución de colas500 invocaciones de tareas por segundo y por cola
Plazo máximo o tiempo previsto para la ejecución de una tarea30 días a partir de la fecha y hora actuales
Número máximo de tareas que se pueden añadir a un lote100 tareas
Número máximo de tareas que se pueden añadir a una transacción5 tareas
Número máximo predeterminado de colas de tareas100 colas (para solicitar un aumento, ponte en contacto con el equipo de asistencia)
Límites de colas para tareas extraídas
Tamaño máximo de la tarea1 MB
Plazo máximo o tiempo previsto para la ejecución de una tarea30 días a partir de la fecha y hora actuales
Número máximo de tareas que se pueden añadir a un lote100 tareas
Número máximo de tareas que se pueden añadir a una transacción 5 tareas
Número máximo de tareas que se pueden asignar en una operación 1000 tareas
Tamaño máximo de la carga útil cuando se asigna un lote de tareas32 MB
Número máximo predeterminado de colas de tareas100 colas (para solicitar un aumento, ponte en contacto con el equipo de asistencia)

Cron

Las siguientes cuotas se aplican de forma específica a las tareas cron.

Tareas cron
Número de tareas cron
Recurso Límite predeterminado
Tarea cron 250 tareas cron

Obtención de URL

Llamadas a la API de obtención de URL
Número total de veces que la aplicación ha accedido al servicio de obtención de URL para realizar una solicitud HTTP o HTTPS.
Datos enviados a la obtención de URL
Cantidad de datos enviados al servicio de obtención de URL en forma de solicitudes. Esto también se contabiliza en la cuota de ancho de banda de salida.
Datos recibidos de la obtención de URL
Cantidad de datos recibidos del servicio de obtención de URL en forma de respuestas. Esto también se contabiliza en la cuota de ancho de banda de entrada.
Recurso Límite diario Frecuencia máxima
Llamadas a la API de obtención de URL 860.000.000 llamadas 660.000 llamadas por minuto
Datos enviados al servicio de obtención de URL 4,5 TB 3600 MB por minuto
Datos recibidos del servicio de obtención de URL 4,5 TB 3600 MB por minuto