arrow_back

VM Migration: planejamento

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

VM Migration: planejamento

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermediário
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP616

Laboratórios autoguiados do Google Cloud

Informações gerais

O método estruturado de migração para a nuvem de quatro etapas do Google Cloud apresenta aos usuários um caminho definido e consistente para a migração:

Diagrama do caminho de migração em quatro etapas

  1. Avalie o ambiente atual para conhecer melhor os recursos disponíveis e definir os grupos para a migração.

  2. Planeje como mover os aplicativos e como criar a infraestrutura básica da nuvem para manter as cargas de trabalho ativas. Esse planejamento inclui gerenciamento de identidade, organização e estrutura do projeto, rede, classificação de aplicativos e desenvolvimento de uma estratégia de migração priorizada.

  3. Implante os servidores no local ou em nuvem no Google Cloud usando uma das ferramentas de migração recomendadas do Google Cloud, como o Velostrata do Google ou a ferramenta de migração em tempo real CloudEndure.

  4. Otimize as cargas de trabalho recém-migradas para aproveitar o custo-benefício e a eficiência operacional que o Google Cloud oferece à empresa.

Este laboratório se concentra na fase de Planejamento e como implantar sua infraestrutura básica no Google Cloud.

O que você vai aprender

O Terraform é uma ferramenta de código aberto muito usada para definir e provisionar a infraestrutura (Infraestrutura como código). Neste laboratório, você usará a infraestrutura pré-criada como modelos de código para configurar uma rede em nuvem, definir o acesso e implantar seu primeiro aplicativo de maneira segura e automatizada.

Você aprenderá a fazer o seguinte:

  • Criar credenciais de acesso para automação no Google Cloud.
  • Criar um ambiente funcional para usar o Terraform
  • Criar uma rede de nuvem privada virtual (VPC) de modo personalizado, com regras de firewall relacionadas
  • Preparar uma imagem no Compute Engine.
  • Implantar uma instância no Compute Engine usando o Terraform.
  • Usar os recursos em várias implantações do Terraform

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Tarefa 1. Como configurar o ambiente

  1. Verifique se o Terraform está instalado no ambiente do Cloud Shell.
terraform -v

Resposta ao comando:

Terraform v0.15.3 Observação: sua versão pode ser um pouco diferente. Continue se ela for semelhante à resposta acima.
  1. Clone o repositório git que contém o código do laboratório executando o seguinte comando:
git clone https://github.com/terraform-google-modules/cloud-foundation-training.git
  1. Mude o diretório atual para o diretório de rede:
cd cloud-foundation-training/other/terraform-codelab/lab-networking

Tarefa 2. Configurar variáveis

Nesta seção, você definirá variáveis para a configuração do Terraform. As variáveis permitem parametrizar as configurações do Terraform para reutilização.

Se as variáveis não estiverem definidas, o Terraform solicitará que você as defina quando ele for executado.

Para facilitar o uso, você pode armazenar os valores de variáveis em um arquivo terraform.tfvars que o Terraform carrega automaticamente ao ser executado.

  1. Crie um arquivo terraform.tfvars no Cloud Shell:
touch terraform.tfvars
  1. Abra o arquivo terraform.tfvars no editor de código:
edit terraform.tfvars Observação: também é possível usar um editor de código da CLI, como vi e nano, se você preferir.
  1. Cole isso no seu arquivo terraform.tfvars:
project_id="<my project id>"
  1. Atualize a variável do ID do projeto para que ele seja o mesmo do Qwiklabs. Por exemplo, <my project id> deve ser substituído por qwiklabs-gcp-xx-xxxxxxxxxxxx.

Tarefa 3. Configurar credenciais de acesso do Google Cloud

Nesta seção, você vai criar e fazer o download de chaves de contas de serviço para usar como credenciais de acesso ao Google Cloud. Você também atualizará os arquivos de modelo para usar essas credenciais de acesso.

O Terraform exige direitos de acesso aos seus projetos e/ou ambientes no Google Cloud. O provedor Google Cloud do Terraform oferece várias maneiras de fornecer credenciais, mas neste laboratório você criará e fará o download de um arquivo de credenciais associado a uma conta de serviço do Google Cloud. Usar a autenticação de conta de serviço do Google Cloud é uma prática recomendada.

Crie e faça o download das credenciais de acesso à conta de serviço padrão

  1. Na sessão do Cloud Shell, use o seguinte comando na criação de uma conta de serviço para executar o Terraform:
gcloud iam service-accounts create terraform --display-name terraform

Resposta ao comando:

Created service account [terraform].
  1. Liste as contas de serviço para receber o e-mail da sua nova conta do Terraform:
gcloud iam service-accounts list

Resposta ao comando:

DISPLAY NAME: Compute Engine default service account EMAIL: 631585931190-compute@developer.gserviceaccount.com DISABLED: False DISPLAY NAME: Qwiklabs User Service Account EMAIL: qwiklabs-gcp-02-8eb8debc8fd5@qwiklabs-gcp-02-8eb8debc8fd5.iam.gserviceaccount.com DISABLED: False DISPLAY NAME: terraform EMAIL: terraform@qwiklabs-gcp-02-8eb8debc8fd5.iam.gserviceaccount.com DISABLED: False
  1. Crie e faça o download de uma chave para usar a conta de serviço do Terraform, substituindo <service account email> pelo e-mail do Terraform que foi gerado com o comando anterior:
gcloud iam service-accounts keys create ./credentials.json --iam-account <service account email>

Resposta ao comando:

created key [...] of type [json] as [./credentials.json] for [terraform@.iam.gserviceaccount.com]

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver criado uma conta de serviço e uma chave, verá uma pontuação de avaliação.

Crie uma conta de serviço e uma chave (Nome da conta: terraform)
  1. Conceda o papel de proprietário no projeto à sua conta de serviço executando o comando a seguir, substituindo <my project id> pelo ID do projeto do Qwiklabs e <service account email> pelo e-mail da conta de serviço do terraform:
gcloud projects add-iam-policy-binding <my project id> --member=serviceAccount:<service account email> --role=roles/owner

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver concedido um papel de proprietário à sua conta de serviço no projeto, verá uma pontuação de avaliação.

Conceda o papel de proprietário no projeto à sua conta de serviço

Tarefa 4. Configurar o estado remoto

O Terraform armazena um mapeamento entre a configuração e os recursos criados no estado do Terraform. Por padrão, esse estado é armazenado em um arquivo local, mas a prática recomendada é armazená-lo remotamente no Cloud Storage.

Nesta seção, você vai criar um bucket do Cloud Storage para armazenar o estado do Terraform e atualizar sua configuração para apontar para esse bucket.

Criar e configurar um bucket do Cloud Storage

  1. Criar um novo bucket para armazenar o estado do Terraform. Um bucket do Cloud Storage precisa ser globalmente exclusivo, portanto, prefixe o nome dele com o ID do projeto do Google Cloud no Qwiklabs, conforme mostrado no comando abaixo:
gsutil mb gs://<my project id>-state-bucket

Resposta ao comando:

Creating gs://-state-bucket/...

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se o bucket do Cloud Storage tiver sido criado, você receberá uma pontuação de avaliação.

Criar e configurar um bucket do Cloud Storage
  1. Abra a configuração de back-end armazenada em backend.tf:
edit backend.tf
  1. Atualize o nome do bucket para corresponder ao nome escolhido e salve o arquivo:
terraform { backend "gcs" { bucket = "my-state-bucket" # Change this to <my project id>-state-bucket prefix = "terraform/lab/network" } }

Tarefa 5. Executar o Terraform

Agora que você configurou as credenciais e o estado remoto, já está pronto para executar o Terraform. Ao usar essa ferramenta, de modo geral, você seguirá estas etapas para implantar e limpar um ambiente, conforme mostra a imagem a seguir.

Primeiro, defina os arquivos de configuração. Depois, prepare a implantação/planejamento, depois implante/aplique os recursos, verifique a implantação e limpe os recursos/destrua

Execute o Terraform pela primeira vez

  1. Primeiro, inicialize o Terraform para fazer o download da versão mais recente dos provedores (do Google e aleatório). Para isso, execute o seguinte comando no Cloud Shell:
terraform init
  • Se você executar o comando e receber um erro que diz que o bucket do Cloud Storage não existe, verifique se o nome está correto em backend.tf. Depois, execute os comandos abaixo:
rm -rf .terraform/ terraform init

Isso limpará o estado local do Terraform e resultará na inicialização.

  1. Execute uma etapa do plano para validar a sintaxe da configuração e visualizar o que será criado:
terraform plan

A resposta do plano mostra que o Terraform criará oito recursos para a rede.

  1. Agora execute o comando apply do Terraform para aplicar essas alterações:
terraform apply

A resposta exibida será semelhante a esta:

Plan: 8 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
  1. Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante a esta:
Apply complete! Resources: 8 added, 0 changed, 0 destroyed.
  1. Depois de fazer as alterações, será possível exibir a lista de recursos no estado do Terraform com o comando show:
terraform show

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver executado o Terraform pela primeira vez, verá uma pontuação de avaliação.

Execute o Terraform pela primeira vez

Tarefa 6. Adicionar uma sub-rede

O repositório que você salvou inclui um módulo que define a rede e as sub-redes. Você adicionará uma sub-rede para hospedar as VMs migradas.

Crie outra rede

  1. Abra a configuração de rede armazenada em network.tf. A configuração de rede nesse arquivo é gerenciada usando o módulo de rede:
edit network.tf
  1. Adicione uma sub-rede ao bloco de sub-redes do arquivo (na linha 40). É possível escolher seu próprio nome e intervalo de CIDR, como 10.10.30.0/24.
module "vpc" { ... subnets = [ ... { # Creates your first subnet in {{{project_0.default_region|Region}}} and defines a range for it subnet_name = "my-first-subnet" subnet_ip = "10.10.10.0/24" subnet_region = "{{{project_0.default_region|Region}}}" }, # Add your subnet here { subnet_name = "my-third-subnet" subnet_ip = "10.10.30.0/24" subnet_region = "{{{project_0.default_region|Region}}}" }, ] }
  1. Também é preciso adicionar uma seção definindo os intervalos secundários para a sub-rede (linha 49), que pode ser uma lista vazia:
secondary_ranges = { my-first-subnet = [] my-gke-subnet = [ { # Define a secondary range for Kubernetes pods to use range_name = "my-gke-pods-range" ip_cidr_range = "192.168.64.0/24" }, ] # Add your subnet's secondary range below this line my-third-subnet = [] }
  1. Agora execute o comando apply do Terraform para adicionar a nova sub-rede:
terraform apply Observação: se você receber um erro como Erro ao aguardar a criação Sub-rede, execute o comando acima de novo

A resposta exibida será semelhante a esta:

Plan: 1 to add, 0 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
  1. Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante ao exemplo abaixo:
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver aplicado as alterações para adicionar uma sub-rede usando o script do Terraform, verá uma pontuação de avaliação.

Adicionar uma sub-rede

Tarefa 7. Permita o tráfego HTTPS

O laboratório inclui código para gerenciar regras de firewall no Terraform. É possível estender isso para adicionar mais regras de firewall ao tráfego de entrada ou de saída.

  1. Abra a configuração de firewall armazenada em firewall.tf:
edit firewall.tf
  1. Edite a regra allow-http para permitir também o tráfego https na porta 443 (linha 51).
resource "google_compute_firewall" "allow-http" { name = "allow-http" network = module.vpc.network_name project = google_project_service.compute.project allow { protocol = "tcp" ports = ["80", "443"] # Edit this line } # Allow traffic from everywhere to instances with an http-server tag source_ranges = ["0.0.0.0/0"] target_tags = ["allow-http"] }
  1. Agora execute o comando apply do Terraform para atualizar a regra de firewall:
terraform apply

A resposta exibida será semelhante a esta:

Plan: 0 to add, 1 to change, 0 to destroy. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value:
  1. Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante ao exemplo abaixo:
Apply complete! Resources: 0 added, 1 changed, 0 destroyed.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver aplicado corretamente as alterações para atualizar uma regra de firewall usando o script do Terraform, verá uma pontuação de avaliação.

Permita o tráfego HTTPS

Tarefa 8. Adicionar uma resposta do Terraform

As respostas do Terraform podem ser usadas para capturar as informações mais importantes e úteis para o ambiente, voltadas para o consumo humano e pela máquina. Isso inclui endereços IP importantes, nomes de instância ou outras informações.

Nesta seção, você adicionará uma resposta para compartilhar o ID da nova sub-rede.

  1. Abra a configuração de rede armazenada em outputs.tf:
edit outputs.tf
  1. Adicione uma seção que gere o nome da nova sub-rede, com base nas respostas existentes. Observe que as sub-redes são indexadas com zero:
# Add you new output below this line output "my_subnet_name" { value = module.vpc.subnets_names[2] }
  1. Agora execute o comando apply do Terraform para atualizar a regra de firewall:
terraform apply
  1. Digite yes para inserir um valor quando solicitado.

  2. Visualize as respostas usando o comando de resposta do Terraform:

terraform output

Resposta ao comando:

first_subnet_name = "my-first-subnet" my_subnet_name = "my-third-subnet" network_name = "my-custom-network"

Tarefa 9. Crie a VM inicial

Você estenderá seu trabalho anterior criando uma VM e implantando-a na rede. Você também aprenderá a criar uma imagem base e formar camadas de informações de configuração dinamicamente para VMs.

Para criar uma imagem, comece iniciando a VM em que o software a ser incluído na imagem será instalado.

Inicialize a VM inicial

  1. Inicie uma VM usando o gcloud na sua primeira sub-rede:
gcloud compute instances create build-instance --zone={{{project_0.default_zone|zone}}} --machine-type=e2-standard-2 --subnet=my-first-subnet --network-tier=PREMIUM --maintenance-policy=MIGRATE --image=debian-10-buster-v20221206 --image-project=debian-cloud --boot-disk-size=100GB --boot-disk-type=pd-standard --boot-disk-device-name=build-instance-1 --tags=allow-ssh
  1. Conecte-se por SSH à VM:
gcloud compute ssh build-instance --zone={{{project_0.default_zone|zone}}}

Resposta ao comando:

WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: SSH keygen will be executed to generate a key. This tool needs to create the directory [/home/user/.ssh] before being able to generate SSH keys. Do you want to continue (Y/n)?
  1. Digite Y e, quando uma senha longa for solicitada, pressione ENTER duas vezes.

  2. Instale o Apache na VM:

sudo apt-get update && sudo apt-get install apache2 -y
  1. Saia da sessão ssh:
exit

Tarefa 10. Capture a imagem base

Agora que você tem uma máquina executando o software necessário, pode capturá-la como uma imagem base para ativar outras máquinas virtuais idênticas.

Crie uma imagem

  1. Pare a VM. Se possível, é sempre recomendável parar as VMs antes de capturar imagens:
gcloud compute instances stop build-instance --zone={{{project_0.default_zone|zone}}}
  1. Crie uma imagem no disco de inicialização:
gcloud compute images create apache-one \ --source-disk build-instance \ --source-disk-zone {{{project_0.default_zone|zone}}} \ --family my-apache-webserver

Ao incluir o parâmetro family, vinculamos nossa imagem a uma família. Isso nos permite receber facilmente informações ou implantar a imagem mais recente dessa família.

  1. Use o gcloud para receber informações sobre a imagem mais recente de my-apache-webserver:
gcloud compute images describe-from-family my-apache-webserver

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver criado uma imagem no disco de inicialização, verá uma pontuação de avaliação.

Crie uma imagem no disco de inicialização

Tarefa 11. Atualizar a configuração do Terraform

Agora que temos uma imagem para trabalhar, queremos implantá-la usando o Terraform. No entanto, como prática recomendada, separe as configurações do Terraform em unidades lógicas e as instâncias de VM em questões relacionadas aos aplicativos.

Assim mudaremos para uma nova configuração do Terraform específica do aplicativo e faremos atualizações nela, sem precisar usar o Terraform em rede.

Configure o Terraform do aplicativo

  1. Passe para o diretório do laboratório do aplicativo no Cloud Shell:
cd ../lab-app
  1. Copie os arquivos de credenciais e variáveis da sua configuração de rede:
cp ../lab-networking/credentials.json . cp ../lab-networking/terraform.tfvars .
  1. Atualize a configuração de back-end para o código do Terraform do aplicativo editando o backend.tf:
edit backend.tf Observação: é possível reutilizar o mesmo bucket do Cloud Storage e basta ter um prefixo diferente para o estado do aplicativo. Atualize a configuração do bucket aqui para corresponder ao mesmo bucket usado antes. terraform { backend "gcs" { bucket = "<my-project-id>-state-bucket" # Edit this this line to match your lab-networking/backend.tf file prefix = "terraform/lab/vm" } }
  1. Atualize também a fonte de dados do estado remoto do Terraform. O estado remoto do Terraform é muito útil para compartilhar informações/respostas em vários projetos. Por exemplo, para uma equipe de rede central compartilhar informações de sub-rede com as equipes de aplicativos. Atualize a configuração do bucket aqui para corresponder ao mesmo bucket usado antes:
data "terraform_remote_state" "network" { backend = "gcs" config = { bucket = "<my-project-id>-state-bucket" # Update this too prefix = "terraform/lab/network" } }

Tarefa 12. Implantar a VM com o Terraform

O Terraform agora pode ser apontado para a imagem preparada, iniciando uma instância. Antes de iniciar a instância, vamos investigar os detalhes dessa configuração do Terraform.

Revise a configuração da VM

  1. A configuração do Terraform para sua VM está armazenada em vm.tf.
edit vm.tf
  1. Como nossa imagem foi marcada em uma família de imagens, podemos receber a imagem mais recente dessa família usando o Terraform. Se necessário, atualize essa fonte de dados para corresponder ao nome da família de imagens que você escolheu:
data "google_compute_image" "apache" { family = "my-apache-webserver" project = var.project_id }
  1. Também podemos usar uma referência para escolher o nome de sub-rede em que a implantação será feita. A declaração data.terraform_remote_state.network.my_subnet_name captura automaticamente a resposta my_subnet_name da configuração de rede que você criou antes:
resource "google_compute_instance" "app" { ... network_interface { subnetwork = data.terraform_remote_state.network.my_subnet_name subnetwork_project = var.project_id access_config { # Include this section to give the VM an external ip address } } ... } Observação: lembre-se de substituir a zona pela zona no arquivo vm.tf.
  1. Supondo que tudo esteja certo nessa configuração, será possível aplicar o Terraform para implantar a VM.
terraform init terraform apply
  1. Digite yes para inserir um valor quando solicitado.

Isso gera o IP externo da sua VM.

Apply complete! Resources: 1 added, 0 changed, 0 destroyed. Outputs: ip = "35.185.255.154"
  1. Abra o endereço http://<your ip> no seu navegador da Web para ver uma mensagem de boas-vindas.

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você tiver implantado a instância de VM usando o Terraform, verá uma pontuação de avaliação.

Implante a VM

Tarefa 13. Atualizar a VM do aplicativo

Graças à definição da configuração da VM com o Terraform, é possível alterar a configuração do aplicativo de maneira declarativa apenas ajustando a configuração do Terraform.

  1. Abra o arquivo vm.tf:
edit vm.tf
  1. Altere o metadata_startup_script para exibir uma nova mensagem de recepção.
resource "google_compute_instance" "app" { ... metadata_startup_script = "echo '<!doctype html><html><body><h1>New message!</h1></body></html>' | sudo tee /var/www/html/index.html" # Edit this line tags = ["allow-ping", "allow-http", "allow-ssh"] }
  1. Execute o Terraform para recriar sua VM com a nova configuração:
terraform apply
  1. Digite yes para inserir um valor quando solicitado.

A saída ficará assim:

Apply complete! Resources: 1 added, 0 changed, 1 destroyed. Outputs: ip = 34.83.209.192
  1. Depois que a VM for totalmente recriada, insira o endereço http://<your ip> no seu navegador da Web para ver a nova mensagem de boas-vindas.
Observação: se você receber a mensagem Apply cancelled., insira no terraform apply novamente.

Tarefa 14. Destruir a infraestrutura

A configuração do Terraform também permite eliminar facilmente a infraestrutura depois que você terminar de usá-la. Isso pode ser muito útil para um desenvolvimento temporário ou uma infraestrutura de teste.

Atualize a configuração da VM

  1. Destrua a infraestrutura da VM com o Terraform.
terraform destroy

Será necessário confirmar a destruição da VM.

An execution plan has been generated and is shown below. Resource actions are indicated with the following symbols: - destroy Terraform will perform the following actions: - google_compute_instance.app Plan: 0 to add, 0 to change, 1 to destroy. Do you really want to destroy all resources? Terraform will destroy all your managed infrastructure, as shown above. There is no undo. Only 'yes' will be accepted to confirm. Enter a value: yes
  1. Digite yes para inserir um valor quando solicitado.

Após a confirmação, o Terraform começará a eliminar a infraestrutura.

google_compute_instance.app: Destroying... (ID: my-app-instance) google_compute_instance.app: Still destroying... (ID: my-app-instance, 10s elapsed) google_compute_instance.app: Still destroying... (ID: my-app-instance, 20s elapsed) google_compute_instance.app: Still destroying... (ID: my-app-instance, 30s elapsed) google_compute_instance.app: Destruction complete after 36s Destroy complete! Resources: 1 destroyed.
  1. Também é possível destruir a infraestrutura de rede, o que ocorrerá automaticamente quando o laboratório expirar.

Parabéns!

Chegamos ao fim do laboratório autoguiado, Migração do data center: fundações e implantações automatizadas. Neste laboratório, você concluiu todo o fluxo de trabalho para automatizar a implantação dos recursos de rede no Google Cloud. Você definiu as credenciais de acesso, configurou o Terraform, criou recursos, inclusive uma rede VPC, uma sub-rede e regras de firewall, modificou os recursos já existentes, verificou cuidadosamente as funcionalidades desses recursos e então os gerou.

Você também aprendeu a criar uma VM inicial, capturar uma imagem base, atualizar as configurações do Terraform e implantar a VM usando o Terraform.

Termine a Quest

Este laboratório autoguiado faz parte da quest VM Migration. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba créditos de conclusão imediatamente. Consulte o catálogo do Google Cloud Ensina para conferir todas as Quests disponíveis.

Comece o próximo laboratório

Continue sua Quest com Migrate for Anthos: Qwik Start ou confira outro laboratório do Google Cloud Ensina, como VM Migration: introdução às avaliações do StratoZone.

Próximas etapas/Saiba mais

Para saber mais, veja os recursos adicionais a serem gerenciados com o Terraform usando o seguinte:

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 8 de dezembro de 2023

Laboratório testado em 8 de dezembro de 2023

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.