Checkpoints
Create a service account and a key (SA Name: terraform)
/ 10
Grant your Service Account the Owner role on your project
/ 20
Create and configure a GCS bucket
/ 10
Run Terraform for the first time
/ 10
Add a subnet
/ 10
Allow https traffic
/ 10
Create an image from the boot disk
/ 10
Deploy the VM using Terraform
/ 20
VM Migration: planejamento
- GSP616
- Informações gerais
- Configuração e requisitos
- Tarefa 1. Como configurar o ambiente
- Tarefa 2. Configurar variáveis
- Tarefa 3. Configurar credenciais de acesso do Google Cloud
- Tarefa 4. Configurar o estado remoto
- Tarefa 5. Executar o Terraform
- Tarefa 6. Adicionar uma sub-rede
- Tarefa 7. Permita o tráfego HTTPS
- Tarefa 8. Adicionar uma resposta do Terraform
- Tarefa 9. Crie a VM inicial
- Tarefa 10. Capture a imagem base
- Tarefa 11. Atualizar a configuração do Terraform
- Tarefa 12. Implantar a VM com o Terraform
- Tarefa 13. Atualizar a VM do aplicativo
- Tarefa 14. Destruir a infraestrutura
- Parabéns!
GSP616
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:
-
Avalie o ambiente atual para conhecer melhor os recursos disponíveis e definir os grupos para a migração.
-
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.
-
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.
-
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).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
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ê vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
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. -
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}} Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}} Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais. -
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 Google Cloud será aberto nesta guia.
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.
- Clique em 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:
gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
-
Clique em Autorizar.
-
A saída será parecida com esta:
Saída:
- (Opcional) É possível listar o ID do projeto usando este comando:
Saída:
Exemplo de saída:
gcloud
, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.
Tarefa 1. Como configurar o ambiente
- Verifique se o Terraform está instalado no ambiente do Cloud Shell.
Resposta ao comando:
- Clone o repositório git que contém o código do laboratório executando o seguinte comando:
- Mude o diretório atual para o diretório de rede:
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.
- Crie um arquivo
terraform.tfvars
no Cloud Shell:
- Abra o arquivo
terraform.tfvars
no editor de código:
vi
e nano
, se você preferir.- Cole isso no seu arquivo
terraform.tfvars
:
- 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 porqwiklabs-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
- Na sessão do Cloud Shell, use o seguinte comando na criação de uma conta de serviço para executar o Terraform:
Resposta ao comando:
- Liste as contas de serviço para receber o e-mail da sua nova conta do Terraform:
Resposta ao comando:
- 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:
Resposta ao comando:
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.
- 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:
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.
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
- 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:
Resposta ao comando:
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.
- Abra a configuração de back-end armazenada em
backend.tf
:
- Atualize o nome do bucket para corresponder ao nome escolhido e salve o arquivo:
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.
Execute o Terraform pela primeira vez
- 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:
- 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:
Isso limpará o estado local do Terraform e resultará na inicialização.
- Execute uma etapa do plano para validar a sintaxe da configuração e visualizar o que será criado:
A resposta do plano mostra que o Terraform criará oito recursos para a rede.
- Agora execute o comando apply do Terraform para aplicar essas alterações:
A resposta exibida será semelhante a esta:
- Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante a esta:
- Depois de fazer as alterações, será possível exibir a lista de recursos no estado do Terraform com o comando 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.
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
- Abra a configuração de rede armazenada em
network.tf
. A configuração de rede nesse arquivo é gerenciada usando o módulo de rede:
- 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, como10.10.30.0/24
.
- Também é preciso adicionar uma seção definindo os intervalos secundários para a sub-rede (linha 49), que pode ser uma lista vazia:
- Agora execute o comando apply do Terraform para adicionar a nova sub-rede:
Erro ao aguardar a criação Sub-rede
, execute o comando acima de novo
A resposta exibida será semelhante a esta:
- Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante ao exemplo abaixo:
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.
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.
- Abra a configuração de firewall armazenada em
firewall.tf
:
- Edite a regra
allow-http
para permitir também o tráfego https na porta 443 (linha 51).
- Agora execute o comando apply do Terraform para atualizar a regra de firewall:
A resposta exibida será semelhante a esta:
- Digite yes no prompt. Após a execução desse comando, você verá uma resposta semelhante ao exemplo abaixo:
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.
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.
- Abra a configuração de rede armazenada em
outputs.tf
:
- 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:
- Agora execute o comando apply do Terraform para atualizar a regra de firewall:
-
Digite yes para inserir um valor quando solicitado.
-
Visualize as respostas usando o comando de resposta do Terraform:
Resposta ao comando:
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
- Inicie uma VM usando o
gcloud
na sua primeira sub-rede:
- Conecte-se por SSH à VM:
Resposta ao comando:
-
Digite Y e, quando uma senha longa for solicitada, pressione ENTER duas vezes.
-
Instale o Apache na VM:
- Saia da sessão ssh:
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
- Pare a VM. Se possível, é sempre recomendável parar as VMs antes de capturar imagens:
- Crie uma imagem no disco de inicialização:
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.
- Use o gcloud para receber informações sobre a imagem mais recente de
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.
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
- Passe para o diretório do laboratório do aplicativo no Cloud Shell:
- Copie os arquivos de credenciais e variáveis da sua configuração de rede:
- Atualize a configuração de back-end para o código do Terraform do aplicativo editando o
backend.tf
:
- 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:
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
- A configuração do Terraform para sua VM está armazenada em vm.tf.
- 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:
- 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 respostamy_subnet_name
da configuração de rede que você criou antes:
- Supondo que tudo esteja certo nessa configuração, será possível aplicar o Terraform para implantar a VM.
- Digite yes para inserir um valor quando solicitado.
Isso gera o IP externo da sua VM.
- 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.
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.
- Abra o arquivo vm.tf:
- Altere o
metadata_startup_script
para exibir uma nova mensagem de recepção.
- Execute o Terraform para recriar sua VM com a nova configuração:
- Digite yes para inserir um valor quando solicitado.
A saída ficará assim:
- 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.
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
- Destrua a infraestrutura da VM com o Terraform.
Será necessário confirmar a destruição da VM.
- Digite yes para inserir um valor quando solicitado.
Após a confirmação, o Terraform começará a eliminar a infraestrutura.
- 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.