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 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 do 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
gcloud
a 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
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 do Google Cloud usados pelo aplicativo. 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 consultar a região dele com um dos seguintes procedimentos:
Execute o comando
gcloud app describe
.Abra o Painel do App Engine no console do 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-samples
Faç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
nginx
em 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.yaml
eDockerfile
estão localizados, execute o seguinte comando:gcloud app deploy
Saiba 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
--version
para 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 sinalização
--project
para 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 estas etapas.
- 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.yaml
Especifica a configuração do aplicativo. O arquivo
app.yaml
deve residir no mesmo diretório que o arquivoDockerfile
.A entrada
runtime: custom
instrui o App Engine a procurar umDockerfile
que defina a imagem do ambiente de execução eenv: flex
especifique que você está implantando no ambiente flexível.Para mais informações, consulte a referência de
app.yaml
.Dockerfile
Define o conjunto de instruções usado para criar a imagem do Docker para o contêiner do aplicativo de amostra. O arquivo
Dockerfile
deve residir no mesmo diretório que o arquivoapp.yaml
. EsseDockerfile
instala 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.