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