Como configurar o aplicativo com app.yaml

Um aplicativo do App Engine é configurado usando um arquivo app.yaml, que contém recursos de CPU, memória, rede e disco, escalonamento e outras configurações gerais, incluindo variáveis de ambiente.

Sobre arquivos app.yaml

É possível especificar a configuração de ambiente de execução do aplicativo Java, incluindo versões e URLs, no arquivo app.yaml. Esse arquivo atua como um descritor de implantação de uma versão de serviço específica.

Primeiro, é necessário criar o arquivo app.yaml para o serviço default do app antes de criar e implementar arquivos app.yaml para outros serviços.

O exemplo de app.yaml a seguir demonstra como configurar seu app para a versão mais recente do Java. Para mais informações sobre como usar os ambientes de execução do Java com suporte, consulte o Ambiente de execução do 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

Dependendo da complexidade do serviço do aplicativo, talvez seja necessário definir apenas alguns elementos no arquivo app.yaml correspondente. No exemplo a seguir, veja o que um simples aplicativo Java pode exigir no ambiente flexível:

É possível especificar um nome único para os arquivos app.yaml, mas será necessário especificar o nome do arquivo com o comando de implantação também. Por exemplo, ao nomear seu arquivo app.yaml, service-name-app.yaml ou app.flexible.yaml, será preciso implantar o aplicativo usando:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para saber mais sobre como estruturar vários serviços e arquivos app.yaml no app, consulte Como estruturar serviços da Web.

Todos os elementos de configuração

Para uma lista completa de todos os elementos compatíveis com esse arquivo de configuração, consulte a referência do app.yaml.

Como ativar a coleta de métricas da máquina virtual Java

É possível configurar o ambiente flexível do App Engine para Java para coletar métricas comuns para processos da máquina virtual Java (JVM). As métricas são coletadas usando o mesmo plug-in de monitoramento 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 você quiser coletar essas métricas de JVM para o aplicativo, siga estas instruções:

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

Você precisará definir as seguintes propriedades do sistema JMX nas variáveis de ambiente no app.yaml e implantar o aplicativo.

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"