Configurar una aplicación con app.yaml

Una aplicación de App Engine se configura mediante un archivo app.yaml, que contiene recursos de CPU, memoria, red y disco, escalado y otros ajustes generales, incluidas las variables de entorno.

Acerca de los archivos app.yaml

Puede especificar la configuración del entorno de ejecución de su aplicación Java, incluidas las versiones y las URLs, en el archivo app.yaml. Este archivo actúa como descriptor de implementación de una versión de servicio específica.

Primero debes crear el archivo app.yaml para el servicio default de tu aplicación antes de poder crear e implementar archivos app.yaml para otros servicios.

En el siguiente ejemplo de app.yaml se muestra cómo configurar tu aplicación para la última versión de Java. Para obtener más información sobre cómo usar los tiempos de ejecución de Java compatibles, consulta el artículo sobre el tiempo de ejecución de Java.

  runtime: java
  env: flex
  runtime_config:
  operating_system: "ubuntu22"
  runtime_version: "21"
  handlers:
  - url: /.*
  script: this field is required, but ignored

  manual_scaling:
  instances: 1

En función de la complejidad del servicio de tu aplicación, es posible que solo tengas que definir algunos elementos en el archivo app.yaml correspondiente. En el siguiente ejemplo se muestra lo que podría necesitar una aplicación Java sencilla en el entorno flexible:

Puedes especificar un nombre único para tus archivos app.yaml, pero también debes especificar el nombre de archivo con el comando deployment. Por ejemplo, si el archivo app.yaml se llama service-name-app.yaml o app.flexible.yaml, debes desplegar tu aplicación de una de estas dos formas:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para obtener más información sobre cómo estructurar varios servicios y archivos app.yaml en tu aplicación, consulta Estructurar servicios web.

Todos los elementos de configuración

Para ver una lista completa de todos los elementos admitidos en este archivo de configuración, consulta la referencia de app.yaml.

Habilitar la recogida de métricas de la máquina virtual Java

Puedes configurar el entorno flexible de App Engine para Java de forma que recoja métricas comunes de los procesos de la máquina virtual de Java (JVM). Las métricas se recogen con el mismo plugin de monitorización de JVM que usa Cloud Monitoring. Para ver la lista completa de métricas de App Engine, consulta la guía de métricas de Google Cloud.

Si quieres recoger estas métricas de JVM de tu aplicación, sigue estos pasos:

  • appengine.googleapis.com/flex/instance/jvm/gc/count
  • appengine.googleapis.com/flex/instance/jvm/gc/time

debes definir las siguientes propiedades del sistema JMX en las variables de entorno de tu app.yaml y desplegar tu aplicación.

JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"