Cuotas

Una aplicación de App Engine puede consumir recursos hasta alcanzar ciertas cuotas.

Ve a la página de detalles de cuotas de la consola de Google Cloud para consultar el uso diario y el consumo de las cuotas de los recursos de App Engine de tu proyecto.

Límites de seguridad y de facturación

App Engine cuenta con tres tipos de cuotas o límites:

  • Cuotas gratuitas: todas las aplicaciones reciben una cantidad gratuita de cada recurso. Las cuotas gratuitas solo se pueden superar hasta alcanzar el límite de seguridad o de gasto de la aplicación (el que se alcance primero).
  • Límites de gasto: si eres el propietario del proyecto y el administrador de facturación, puedes establecer el límite de gasto en la configuración de App Engine de la consola de Google Cloud para gestionar los costes de la aplicación. Es posible que se superen ligeramente los límites de gasto cuando se inhabilite la aplicación.
  • Límites de seguridad: Google los configura para proteger la integridad del sistema de App Engine. A través de estas cuotas se garantiza que ninguna aplicación consuma excesivamente los recursos en detrimento de otras aplicaciones. Si superas estos límites, se producirá un error.

Límites de gasto

Si eres el propietario del proyecto y el administrador de facturación, puedes habilitar la facturación de un proyecto.

Al crear la aplicación, puedes fijar un límite de gasto para que haya un control aproximado de la cantidad que se te cobrará cada día. De forma predeterminada, el límite de gasto está configurado como ilimitado, así que te recomendamos que establezcas uno para controlar mejor los gastos de la aplicación. Es posible que se superen ligeramente los límites de gasto cuando se inhabilite la aplicación.

Límites de seguridad

En estos límites se incluyen las cuotas diarias y por minuto:

  • Las cuotas diarias se actualizan cada día a medianoche (hora del Pacífico). Las aplicaciones pueden superar esta cuota gratuita hasta que se agote el límite de gasto o hasta que se alcance el límite de seguridad, lo que ocurra primero.
  • 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 de las cuotas por minuto, la palabra "Limitada" aparecerá junto a la cuota correspondiente en la página Cuotas de la consola de Cloud. Las peticiones de recursos que hayan agotado su cuota por minuto se denegarán.

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 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.

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 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 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.7), Java, Go, PHP (5.5 y 7.2) 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. De lo contrario, puedes enviar una solicitud de aumento de cuota seleccionando la cuota concreta en la consola de Google Cloud y haciendo clic en Editar cuotas.

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 de estas, 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)

Blobstore

Las siguientes cuotas se aplican específicamente al uso de Blobstore.

Datos almacenados en Blobstore
Cantidad total de datos almacenados en Blobstore. Está disponible tanto en aplicaciones gratuitas como de pago.
Recurso Límite predeterminado
Datos almacenados en Blobstore 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 principal. Los tamaños individuales aparecen en las pantallas de versiones y de backends, respectivamente. Se te cobrará por las aplicaciones 0,026 USD mensualmente por cada GB 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 Blobstore. El resto de las cuotas de la sección "Datastore" de la pantalla Cuotas 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 Blobstore 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 menores
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 menores Sin límite

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

Despliegues
Número de veces que un desarrollador ha subido la aplicación. La cuota actual es de 10.000 al día.

Cada aplicación tiene un límite de subida de 10.000 archivos por versión y cada archivo puede tener un tamaño máximo de 32 MB. Además, si el tamaño total de todos los archivos en todas las versiones supera el gigabyte gratuito inicial, se cobrarán 0,026 USD por cada GB al mes.

Horas de instancia

El uso de las instancias se factura con una tarifa por hora y según el tiempo de funcionamiento. El periodo facturable comienza cuando se inicia la instancia y termina 15 minutos después de que esta se detenga. No se facturan las instancias inactivas que superen el límite establecido en la pestaña de configuración del rendimiento de la consola de Cloud.

Las instancias de backend y de frontend tienen sus propias cuotas diarias gratuitas. Cuando utilizas servicios de App Engine, la cuota que se aplica depende de la clase de instancia del servicio.

Recurso o llamada a la API Cuota gratuita
Instancias de interfaz (módulos de escalado automático) 28 horas de instancias F1 gratuitas al día
Instancias de backend (módulos de escalado básico y manual) 9 horas de instancias B1 gratuitas al día

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. Stackdriver proporciona el almacenamiento de registros a las aplicaciones de App Engine. Consulta los precios de Stackdriver 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 de 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, Blobstore 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 Ninguno

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 App Engine Search de la consola de Google Cloud.

Nota: Aunque estos límites se aplican por minuto, se muestran las cantidades máximas diarias en la consola de Cloud. Los clientes que dispongan de asistencia Plata, Oro o Platino pueden solicitar límites de rendimiento más amplios. Para ello, solo tienen que ponerse en contacto con su representante de asistencia.

Sockets

Límites de datos diarios y por minuto (ráfaga)
Los límites de las aplicaciones en que se utilizan sockets se fijan por minuto y por día. Los límites por minuto sirven para administrar el comportamiento de las ráfagas de las aplicaciones.
Recurso Límite por día Límite por minuto (ráfaga)
Cantidad de vinculaciones de sockets3.456.00019.200
Cantidad de creaciones de sockets3.456.00019.200
Cantidad de conexiones de sockets3.456.00019.200
Cantidad de envíos de sockets663.552.0003.686.400
Cantidad de recepciones de sockets663.552.0003.686.400
Bytes recibidos procedentes de sockets3,3 TB2,4 GB
Bytes enviados procedentes de sockets3,3 TB2,4 GB

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 para 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 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 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ón5 tareas
Número máximo de tareas que se pueden conceder en una operación1000 tareas
Tamaño máximo de la carga útil cuando se concede 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 al servicio de obtención de URL
Cantidad de datos enviados al servicio de obtención de URL a modo de solicitudes. Esto también se contabiliza en la cuota de ancho de banda de salida.
Datos recibidos del servicio de 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