Configura tu app con app.yaml

Una app de App Engine se configura mediante un archivo app.yaml que contiene los recursos de CPU, memoria, red y disco, el escalamiento y otros parámetros de configuración generales, incluidas las variables de entorno.

Acerca de los archivos app.yaml

Puedes especificar la configuración del entorno de ejecución para tu app de Java, incluidas las versiones y las URL, en el archivo app.yaml. Este actúa como un descriptor de implementación de una versión específica del servicio.

Primero, debes crear el archivo app.yaml para el servicio default de tu app antes de que puedas crear e implementar los archivos app.yaml de servicios adicionales.

En el siguiente ejemplo de app.yaml, se muestra cómo configurar tu app para la versión más reciente de Java. Para obtener más información sobre el uso de los entornos de ejecución de Java compatibles, consulta el entorno 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

Según la complejidad del servicio de tu app, es posible que solo necesites definir algunos elementos en el archivo app.yaml correspondiente. En el siguiente ejemplo se demuestra lo que una aplicación Java simple puede requerir en el entorno flexible:

Puedes especificar un nombre único para tus archivos app.yaml, pero también debes especificar el nombre del archivo con el comando de implementación. Por ejemplo, si al archivo app.yaml lo nombras service-name-app.yaml o app.flexible.yaml, debes implementar la aplicación mediante una de las siguientes opciones:

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 app, consulta Estructura servicios web.

Todos los elementos de configuración

Para obtener una lista completa de todos los elementos compatibles con este archivo de configuración, consulta la referencia de app.yaml.

Habilita la recopilación de métricas de máquinas virtuales de Java

Puedes configurar el entorno flexible de App Engine para que Java recopile métricas comunes de los procesos de la máquina virtual de Java (JVM). Las métricas se recopilan con el mismo complemento de supervisió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 deseas recopilar estas métricas de las JVM para tu app:

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

Deberás configurar las siguientes propiedades del sistema JMX en las variables de entorno del archivo app.yaml e implementar tu app.

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"