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ê 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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine API.
-
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. Abra o Cloud Shell no navegador e clique em Continuar para fazer o download do código de amostra e carregá-lo no diretório de aplicativos.
-
No Cloud Shell, configure a CLI
gcloud
para usar seu novo projeto do 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-ID
No 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
Nesta seção, mostramos 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
webapps
do 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:
gcloud compute instances create my-app-instance
Substitua
--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_ZONE
por 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 e permite que ela acesse os serviços do Google Cloud e execute 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 list
Para ver a execução do aplicativo, insira este URL no navegador:
http://YOUR_INSTANCE_IP
Substitua
YOUR_INSTANCE_IP
pelo endereço IP externo da instância.
Gerenciar e monitorar uma instância
É possível usar o Console do Cloud para monitorar e gerenciar a instância.
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
- Para ver todos os registros gerados pelos recursos do Compute Engine,
acesse a página Explorador de registros.
Acessar o Explorador de registros
O Cloud Logging é configurado automaticamente para coletar registros de vários serviços comuns, incluindo
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
- 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.
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 o conteúdo de migração de dados 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.
Explore outros serviços do Google Cloud.