Neste tutorial, você aprenderá como começar a usar o Compute Engine. Para segui-lo, implante um app da Web Java "Hello World" no Compute Engine. Para receber ajuda com os primeiros passos no App Engine, consulte o ambiente padrão do App Engine.
Objetivos
- Usar o Cloud Shell para fazer o download e implantar um app de amostra "Hello World".
- Implantar um app de amostra "Hello World" em uma única instância do Compute Engine.
Custos
Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
No console do Google Cloud , abra o app no Cloud Shell.
O Cloud Shell oferece acesso por linha de comando aos seus recursos de nuvem diretamente no navegador.
-
Se você concordar em clonar o repositório, clique em Confirmar para fazer o download do exemplo de código e mudar para o diretório do app.
-
No Cloud Shell, configure a CLI gcloud para usar
seu novo projeto Google Cloud :
# Configure gcloud for your project gcloud config set project YOUR_PROJECT_ID
Como executar o app no Cloud Shell
No Cloud Shell, inicie um servidor da Web local:
mvn -Plocal clean jetty:run-exploded -DprojectID=YOUR-PROJECT-IDNo Cloud Shell, clique em Visualização da Web e selecione Visualizar na porta 8080. Uma nova janela será aberta com o app em execução.
No seu navegador da Web, você vê o texto Hello World, veiculado na sua máquina local.
Quando estiver pronto para prosseguir, pare o servidor da Web local pressionando Control+C no Cloud Shell.
Implantar em uma instância única
Veja nesta seção como executar uma única instância do aplicativo no Compute Engine.
No Cloud Shell, é possível implantar em uma máquina virtual (VM, na sigla em inglês) de instância única do Compute Engine que executa o aplicativo.
Usar um script para inicializar uma instância
É necessário instruir sua instância para que ela faça o download e execute o código. Isso pode ser feito por meio de um script de inicialização que é executado sempre que a instância for iniciada ou reiniciada.
Um script de inicialização é executado quando uma instância é inicializada pela primeira vez.
Estas tarefas são executadas no script de inicialização:
Instala o Java 11 e o torna a versão padrão.
Instala e configura Jetty.
Copia o arquivo Java WAR do bucket do Cloud Storage para o
webappsdo Jetty e o renomeia comoroot.war. Como isso o torna o servlet raiz, ele não precisa ser nomeado no URL.Instala o agente do Cloud Logging e o configura para monitorar os registros do aplicativo. Isso significa que o log configurado nas etapas anteriores deste tutorial é enviado como se você estivesse usando o ambiente flexível do App Engine.
Criar e configurar uma instância do Compute Engine
Crie uma instância do Compute Engine:
Substituagcloud compute instances create my-app-instance
--image-family=debian-10
--image-project=debian-cloud
--machine-type=g1-small
--scopes userinfo-email,cloud-platform
--metadata-from-file startup-script=gce/startup-script.sh
--zone YOUR_ZONE
--tags http-serverYOUR_ZONEpor uma zona de desenvolvimento, por exemplo,us-central1-a. Para mais informações sobre regiões e zonas, consulte Geografia e regiões.Isso cria uma nova instância, permite que ela acesse os serviços do Google Cloud e executa o script de inicialização. O nome da instância é
my-app-instance.Verifique o andamento da criação da instância:
gcloud compute instances get-serial-port-output my-app-instance --zone YOUR_ZONE
Quando o script de inicialização estiver concluído, você verá a seguinte mensagem:
startup-script: INFO Finished running startup scripts.
Crie uma regra de firewall para permitir o tráfego para a instância:
gcloud compute firewall-rules create default-allow-http-80 \ --allow tcp:80 \ --source-ranges 0.0.0.0/0 \ --target-tags http-server \ --description "Allow port 80 access to http-server"Receba o endereço IP externo da instância:
gcloud compute instances listPara ver a execução do aplicativo, insira este URL no navegador:
http://YOUR_INSTANCE_IP
Substitua
YOUR_INSTANCE_IPpelo endereço IP externo da instância.
Gerenciar e monitorar uma instância
Use o console do Google Cloud para monitorar e gerenciar a instância.
- No console do Google Cloud , acesse a página Instâncias de VM.
- Na lista de instâncias de máquina virtual, clique em SSH na linha da instância à qual você quer se conectar.
-
Para visualizar todos os registros gerados pelos recursos do Compute Engine, acesse a página Análise de registros.
Acessar a Análise de registrosO Cloud Logging é configurado automaticamente para reunir registros de vários serviços comuns, incluindo o
syslog.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
- No console Google Cloud , acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
Excluir recursos individuais
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80
A seguir
Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.
Para ver outros recursos do Java para criar apps, consulte:
- Gerencie e monitore a implantação do grupo de instâncias em Compute Engine > Grupos de instâncias.
- Gerencie sua configuração de balanceamento de carga, incluindo mapas de URL e serviços de back-end em Serviços de rede > Balanceamento de carga.
Conheça outros serviços doGoogle Cloud .