Anwendung mit app.yaml konfigurieren

Eine App Engine-Anwendung wird über eine app.yaml-Datei konfiguriert. Diese enthält Einstellungen für CPU-, Arbeitsspeicher-, Netzwerk- und Datenträgerressourcen, Skalierungen und andere allgemeine Einstellungen, einschließlich Umgebungsvariablen. Sie können eine beliebige neue Java 11+-Version oder ältere Eclipse Jetty 9.3- oder Java 8--Versionen auswählen. Für Eclipse Jetty 9.3 und Java 8 können Sie Maven oder Gradle verwenden.

app.yaml-Dateien

Sie können die Laufzeitkonfiguration für Ihre Java-Anwendung, einschließlich Versionen und URLs, in der Datei app.yaml angeben. Diese Datei dient als Deployment-Deskriptor für eine bestimmte Dienstversion.

Erstellen Sie zuerst die Datei app.yaml für den Dienst default Ihrer Anwendung. Erst dann können Sie app.yaml-Dateien für zusätzliche Dienste erstellen und bereitstellen.

Die folgende app.yaml-Datei veranschaulicht, wie Ihre Anwendung für die Java-Versionen 8, 11 und 17 und höher konfiguriert wird. Beachten Sie, dass Sie Ihre app.yaml-Datei aktualisieren müssen, um die neue Version zu verwenden. Weitere Informationen zur Verwendung der neuen Versionen finden Sie unter Java-Laufzeit.

Version 17 und höher

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

Version 11

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

manual_scaling:
instances: 1

Version 8

runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

Je nach Komplexität des Dienstes Ihrer Anwendung müssen Sie möglicherweise nur wenige Elemente in der entsprechenden app.yaml-Datei definieren. In diesem Beispiel wird gezeigt, was eine einfache Java-Anwendung in der flexiblen Umgebung erfordern kann:

Sie können Dateien des Typs app.yaml jeweils eindeutige Namen geben, müssen diese Dateinamen dann aber auch im Bereitstellungsbefehl angeben. Wenn Sie beispielsweise Ihre app.yaml-Datei service-name-app.yaml oder app.flexible.yaml benennen, müssen Sie Ihre Anwendung so bereitstellen:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Weitere Informationen zum Strukturieren mehrerer Dienste und app.yaml-Dateien in Ihrer Anwendung finden Sie unter Webdienste strukturieren.

Alle Konfigurationselemente

Eine vollständige Liste aller in dieser Konfigurationsdatei unterstützten Elemente finden Sie in der Referenz zu app.yaml.

Erfassung von Java-VM-Messwerten aktivieren

Sie können die flexible App Engine-Umgebung für Java konfigurieren, um allgemeine Messwerte für JVM-Prozesse (Java Virtual Machines) zu erfassen. Die Messwerte werden mit demselben JVM-Monitoring-Plug-in erfasst, das auch von Cloud Monitoring verwendet wird. Eine vollständige Liste der Messwerte für App Engine finden Sie in der Anleitung für Google Cloud-Messwerte.

So können Sie diese JVM-Messwerte für Ihre Anwendung erfassen:

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

Sie müssen die folgenden JMX-Systemattribute in den Umgebungsvariablen in Ihrer app.yaml festlegen und Ihre Anwendung bereitstellen.

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"