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