Configurare l'app con app.yaml

Un'app App Engine viene configurata utilizzando un file app.yaml che contiene risorse di CPU, memoria, rete e disco, scalabilità e altre impostazioni generali, tra cui le variabili di ambiente.

Informazioni sui file app.yaml

Puoi specificare la configurazione di runtime per la tua app Java, incluse le versioni e gli URL, nel file app.yaml. Questo file funge da descrittore di deployment di una versione specifica del servizio.

Devi prima creare il file app.yaml per il servizio default della tua app prima di poter creare e implementare file app.yaml per servizi aggiuntivi.

Il seguente esempio app.yaml mostra come configurare l'app per la versione Java più recente. Per ulteriori informazioni sull'utilizzo dei runtime Java supportati, consulta la sezione Runtime 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

A seconda della complessità del servizio della tua app, potrebbe essere necessario definire solo alcuni elementi nel file app.yaml corrispondente. L'esempio seguente dimostra ciò che potrebbe essere richiesto da una semplice app Java nell'ambiente flessibile:

Puoi specificare un nome univoco per i file app.yaml, ma devi anche specificare il nome del file con il comando di deployment. Ad esempio, se assegni al file app.yaml il nome service-name-app.yaml o app.flexible.yaml, devi eseguire il deployment dell'app utilizzando:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Per scoprire di più sulla strutturazione di più servizi e file app.yaml nella tua app, consulta la sezione Strutturare i servizi web.

Tutti gli elementi di configurazione

Per un elenco completo di tutti gli elementi supportati in questo file di configurazione, consulta la documentazione di riferimento di app.yaml.

Attivazione della raccolta delle metriche della Java Virtual Machine

Puoi configurare l'ambiente flessibile di App Engine per Java in modo da raccogliere metriche comuni per i processi della JVM (Java Virtual Machine). Le metriche vengono raccolte utilizzando lo stesso plug-in di monitoraggio JVM utilizzato da Cloud Monitoring. Per visualizzare l'elenco completo delle metriche per App Engine, consulta la guida alle metriche di Google Cloud.

Se vuoi raccogliere queste metriche JVM per la tua app:

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

dovrai impostare le seguenti proprietà di sistema JMX nelle variabili di ambiente in app.yaml ed eseguire il deployment dell'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"