Con App Engine, solo pagas por los recursos que usas por fuera de las cuotas gratuitas. Una vez que superas las cuotas gratuitas, los costos se escalan con la cantidad de tráfico que recibe la aplicación.
Para limitar los costos de la app de App Engine, puedes usar cualquiera de los siguientes mecanismos:
- Especifica la cantidad máxima de instancias.
- Crea alertas de presupuesto.
- Inhabilita la app de forma manual.
- Inhabilita la app de manera programática.
Especifica la cantidad máxima de instancias
Dado que los costos de App Engine suelen escalarse en función de la cantidad de tráfico que recibe la app, puedes limitar los costos si limitas la cantidad de instancias que App Engine puede crear.
Si se establece 1 instancia como máximo, por lo general, se mantiene el uso de hora de instancia dentro del nivel gratuito. Sin embargo, si se establece un valor máximo demasiado bajo, es posible que la app no pueda tener suficientes instancias para entregar de forma adecuada las solicitudes entrantes.
Para especificar la cantidad máxima de instancias, usa la opción de configuración max_instances
en el archivo app.yaml
de la app.
Crea alertas de presupuesto
Las alertas de presupuesto envían una notificación cuando los costos superan el límite que especificaste. Cuando recibes una notificación, puedes limitar los costos si disminuyes el valor de la opción de configuración max_instances
o inhabilitas la app.
Para comenzar con las alertas de presupuesto, consulta Configura alertas de presupuesto.
Selecciona el alcance de una alerta de presupuesto
Puedes crear alertas de presupuesto para el costo total de todos los servicios de Google Cloud en uno o más proyectos, o solo para el costo de App Engine.
A fin de crear una alerta de presupuesto solo para costos de App Engine, en el campo Productos de la alerta de presupuesto, selecciona App Engine. La alerta se activará cuando el costo total de todos los recursos de App Engine supere el importe que especificaste, incluidos los siguientes aspectos:
- Las horas de instancia en el entorno estándar de App Engine
- Las horas de instancia y la RAM en el entorno flexible de App Engine
- Servicios de App Engine agrupados
Para obtener una lista completa de los recursos facturables de App Engine, consulta SKU de App Engine.
Inhabilita la app de forma manual
Si inhabilitas la app de forma temporal, esta dejará de entregar contenido y de generar cargos de facturación relacionados con la entrega. No se modificará ninguno de sus datos ni de las opciones de configuración y, cuando estés listo para volver a ejecutar la app, podrás habilitarla.
Mientras la app esté inhabilitada, las solicitudes enviadas a ella fallarán. Es posible que se sigan generando cargos de otros productos de Google Cloud. Por ejemplo, si tu proyecto superó la cuota gratuita de Cloud Storage, se seguirán generando cargos por el almacenamiento.
Para obtener más información, consulta Inhabilita una app.
Inhabilita la app de manera programática
Puedes usar alertas de presupuesto, Pub/Sub y Cloud Functions para inhabilitar la app de forma automática cuando los costos excedan el límite que especificaste.
Al igual que sucede con la inhabilitación manual de una app, en la inhabilitación programática ocurre lo siguiente:
- No se modificará ninguno de los datos ni de las opciones de configuración de la app.
- Cuando estés listo para volver a ejecutar la app, puedes habilitarla.
- Mientras la app esté inhabilitada, las solicitudes enviadas a ella fallarán.
- Es posible que se sigan generando cargos de otros productos de Google Cloud mientras la app está inhabilitada.
Para inhabilitar la app de manera programática, haz lo siguiente:
Crea una alerta de presupuesto que envíe una notificación a un tema de Pub/Sub. Para obtener más información, consulta Administra notificaciones programáticas.
A fin de crear una alerta de presupuesto solo para costos de App Engine, en el campo Productos de la alerta de presupuesto, selecciona App Engine. Para obtener información sobre los recursos que pueden activar esta alerta, consulta Crea alertas de presupuesto.
En Cloud Functions, crea una función que se active mediante el tema de Pub/Sub. Para obtener más información, consulta Crea una función de Cloud Functions.
Cuando crees la función, haz lo siguiente:
Usa el siguiente código fuente:
Agrega las siguientes dependencias al archivo
requirements.txt
de la función:En Función que se ejecutará, ingresa
limit_use_appengine
.Haz clic en Environment variables, networking, timeouts and more.
Selecciona una cuenta de servicio que tenga la función de administrador de App Engine. La cuenta de servicio predeterminada de App Engine tiene esta función de forma predeterminada.
Cuando se activa la alerta de presupuesto, se envía un correo electrónico a los usuarios de la cuenta de Facturación de Cloud, y la función comienza a inhabilitar la app. Este proceso puede llevar unos minutos.
Para verificar que la función se haya ejecutado de forma correcta, consulta el panel de App Engine. Aparecerá un mensaje cerca de la parte superior para indicar que la app está inhabilitada.
Cuando quieras que la app siga entregando solicitudes, ve a Configuración de la aplicación y haz clic en Habilitar aplicación.
Ir a la configuración de la aplicación