Criar um aplicativo de ambiente de execução personalizado no ambiente flexível do App Engine
ID da região
O REGION_ID é um código abreviado que o Google atribui
com base na região que você selecionou ao criar o aplicativo. O código não
corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes
aos códigos de país e estado geralmente usados. Para aplicativos criados após
fevereiro de 2020, o REGION_ID.r está incluído nos
URLs do App Engine. Para apps existentes criados antes dessa data, o
ID da região é opcional no URL.
Os ambientes de execução personalizados permitem criar aplicativos executados em um ambiente definido por um Dockerfile. Ao usar um Dockerfile, é possível usar linguagens e pacotes que não fazem parte do Google Cloud e usar os mesmos recursos e ferramentas usados no ambiente flexível do App Engine.
Neste início rápido, um servidor da Web nginx é lançado no App Engine usando um ambiente de execução personalizado.
Antes de começar
Antes de executar o aplicativo de amostra neste guia de início rápido, você precisa configurar seu ambiente e criar um novo projeto Google Cloud para o App Engine:
Crie um novo projeto do Google Cloud usando o console do Google Cloud :
Abra o console do Google Cloud :
Clique em Criar projeto e nomeie o novo projeto do Google Cloud .
Ative o faturamento no novo projeto do Google Cloud criando uma nova conta de faturamento ou definindo uma já existente:
Faça o download e instale a Google Cloud CLI e, em seguida, inicialize a CLI gcloud:
Execute o comando
gclouda seguir para criar um aplicativo do App Engine e especificar em qual região geográfica você quer que seu aplicativo seja executado:gcloud app create- Devido a mudanças no comportamento padrão de como o Cloud Build usa contas de serviço em novos projetos e mudanças na política da organização "seguro por padrão", talvez seja necessário conceder outros papéis à conta de serviço de implantação. Para mais informações sobre como conceder papéis específicos, consulte o guia de solução de problemas.
Locais do App Engine
O App Engine é regional. Isso significa que a infraestrutura que executa os aplicativos está em uma determinada região que é gerenciada pelo Google para estar disponível de modo redundante em todas as zonas dessa região.
Atender aos requisitos de latência, disponibilidade ou durabilidade são os principais fatores para selecionar a região de execução dos aplicativos. Geralmente, é possível selecionar a região mais próxima dos usuários do aplicativo, mas considere os locais em que o App Engine está disponível, bem como os locais dos outros produtos e serviços doGoogle Cloud usados pelo app. O uso de serviços em vários locais pode afetar a latência e o preço do aplicativo.
Não é possível alterar a região de um aplicativo depois de defini-la.
Se você já criou um aplicativo do App Engine, será possível ver a região dele com um dos seguintes procedimentos:
Execute o comando
gcloud app describe.Abra o Painel do App Engine no console Google Cloud . A região aparece perto do topo da página.
Download do app Hello World
Escolha uma das seguintes opções para fazer o download do aplicativo de amostra Hello World do GitHub para a máquina local:
Clone o aplicativo de amostra Hello World do seguinte repositório:
git clone https://github.com/GoogleCloudPlatform/appengine-custom-runtimes-samplesFaça o download da amostra (em inglês) como um arquivo .zip e, em seguida, extraia-o para um diretório local.
Navegue até o diretório
nginxem que o código de amostra está localizado, por exemplo:cd appengine-custom-runtimes-samples/nginx
Como executar o Hello World na máquina local
Você pode testar o aplicativo de amostra fazendo o download e a instalação do Docker, e executando o contêiner do Hello World em sua máquina local.
Não há etapas específicas do Google App Engine, então você pode testar o aplicativo de amostra usando as ferramentas e a abordagem que preferir.
Como implantar o Hello World no App Engine
Quando você estiver pronto para implantar o aplicativo de amostra no App Engine, execute estas etapas:
No diretório em que
app.yamleDockerfileestão localizados, execute o seguinte comando:gcloud app deploySaiba mais sobre sinalizações opcionais.
Para ver seu app em execução em
https://PROJECT_ID.REGION_ID.r.appspot.com, execute o seguinte comando para iniciar o navegador:gcloud app browse
Sinalizações comuns do comando gcloud
- Inclua a sinalização
--versionpara especificar um ID exclusivo da versão do seu aplicativo. Quando a sinalização não é incluída, o ID é gerado automaticamente. Exemplo:--version [YOUR_VERSION_ID] -
Inclua a flag
--projectpara especificar um ID de projeto alternativo do Google Cloud para o que você inicializou como padrão na ferramentagcloud. Exemplo:--project [YOUR_PROJECT_ID]
Exemplo:
gcloud app deploy --version pre-prod-5 --project my-sample-app
Para aprender a implantar o app pela linha de comando, consulte Como testar e implantar o app. Para uma lista de todas as sinalizações de comando, consulte a referência do gcloud app deploy.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
A seguir
Saiba mais sobre Dockerfiles na referência do Dockerfile.
Para informações sobre como criar seu próprio ambiente de execução personalizado, consulte esta página (em inglês).
Revisão de código
O Hello World é o aplicativo App Engine mais simples possível, já que cria um único contêiner que executa apenas um serviço e uma versão. Cada um dos arquivos do aplicativo é descrito em detalhes nesta seção.
app.yamlEspecifica a configuração do aplicativo. O arquivo
app.yamldeve residir no mesmo diretório que o arquivoDockerfile.A entrada
runtime: custominstrui o App Engine a procurar umDockerfileque defina a imagem do ambiente de execução eenv: flexespecifique que você está implantando no ambiente flexível.Para mais informações, consulte a referência de
app.yaml.DockerfileDefine o conjunto de instruções usado para criar a imagem do Docker para o contêiner do aplicativo de amostra. O arquivo
Dockerfiledeve residir no mesmo diretório que o arquivoapp.yaml. EsseDockerfileinstala o servidor da Web nginx e copia algumas configurações básicas:O comando FROM cria uma imagem base usando a imagem do Docker oficial para o servidor da Web nginx.
Usando esse
Dockerfile, sua imagem de contêiner conterá o nginx e todo o conteúdo no diretóriowww/estará disponível para seu aplicativo.
O aplicativo de amostra Hello World também inclui um arquivo nginx.conf, que contém as informações básicas de configuração do nginx, além do arquivo index.html, que serve como página raiz do servidor da Web nginx.