Configurar a sua app com o ficheiro app.yaml

Uma app do App Engine é configurada através de um ficheiro app.yaml que contém recursos de CPU, memória, rede e disco, escalabilidade e outras definições gerais, incluindo variáveis de ambiente.

Acerca de app.yaml ficheiros

Pode especificar a configuração de tempo de execução da sua app Java, incluindo versões e URLs, no ficheiro app.yaml. Este ficheiro funciona como um descritor de implementação de uma versão específica do serviço.

Primeiro, tem de criar o ficheiro app.yaml para o serviço default da sua app antes de poder criar e implementar ficheiros app.yaml para serviços adicionais.

O exemplo app.yaml seguinte demonstra como configurar a sua app para a versão mais recente do Java. Para mais informações sobre a utilização de runtimes Java suportados, consulte o artigo 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

Consoante a complexidade do serviço da sua app, pode apenas ter de definir alguns elementos no ficheiro app.yaml correspondente. O exemplo seguinte demonstra o que uma app Java simples pode exigir no ambiente flexível:

Pode especificar um nome exclusivo para os seus ficheiros app.yaml, mas, em seguida, tem de especificar o nome do ficheiro com o comando de implementação também. Por exemplo, se der o nome app.yaml ao ficheiro service-name-app.yaml ou app.flexible.yaml, tem de implementar a sua app através de:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para saber como estruturar vários serviços e ficheiros app.yaml na sua app, consulte o artigo Estruturar serviços Web.

Todos os elementos de configuração

Para ver uma lista completa de todos os elementos suportados neste ficheiro de configuração, consulte a referência app.yaml.

Ativar a recolha de métricas da máquina virtual Java

Pode configurar o ambiente flexível do App Engine para Java de modo a recolher métricas comuns para processos da máquina virtual Java (JVM). As métricas são recolhidas através do mesmo plug-in de monitorização da JVM que o Cloud Monitoring usa. Para ver a lista completa de métricas do App Engine, consulte o guia de métricas do Google Cloud.

Se quiser recolher estas métricas da JVM para a sua app:

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

Tem de definir as seguintes propriedades do sistema JMX nas variáveis de ambiente no app.yaml e implementar a sua 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"