Neste laboratório, você vai criar uma configuração do Terraform com um módulo para automatizar a implantação de uma rede personalizada com recursos. Especificamente, você vai implantar 3 redes com regras de firewall e instâncias de VM.
Objetivos
Criar uma configuração para uma rede de modo personalizado
Criar uma configuração para uma regra de firewall
Criar um módulo para instâncias de VM
Criar uma configuração para uma rede de modo automático
Criar e implantar uma configuração
Verificar a implantação de uma configuração
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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 (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
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 por ele, uma caixa de diálogo vai aparecer para você 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 | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
Clique em Próxima.
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
Clique em Próxima.
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.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
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.
Clique nas seguintes janelas:
Continue na janela de informações do Cloud Shell.
Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá 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 {{{project_0.project_id | "PROJECT_ID"}}}
A 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:
gcloud auth list
Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud no Google Cloud no guia de visão geral da gcloud CLI.
Tarefa 1: configure o Terraform e o Cloud Shell
Com o Terraform, é possível criar, mudar e melhorar a infraestrutura de um jeito seguro e previsível. Ele é uma ferramenta de código aberto que codifica as APIs em arquivos de configuração declarativos que podem ser compartilhados entre equipes, tratados como código, editados, revisados e ter controle de versões.
Inicialize o Terraform
O Terraform usa uma arquitetura baseada em plug-ins para operar com os diversos provedores de infraestrutura e serviço disponíveis. Cada provedor é um binário encapsulado próprio que é distribuído separadamente do Terraform. Defina o Google como provedor para inicializar o Terraform.
Crie um diretório para sua configuração do Terraform executando o seguinte comando:
mkdir tfnet
No Cloud Shell, clique em Abrir editor para abrir o editor do Cloud Shell. Se necessário, clique em Abrir em uma nova janela.
Expanda a pasta tfnet no painel esquerdo do editor de código.
Para criar um novo arquivo na pasta tfnet, clique em Arquivo > Novo arquivo.
Nomeie o arquivo como provider.tf e abra.
Copie e cole este código em provider.tf:
provider "google" {}
Execute estes comandos para Inicializar o Terraform:
cd tfnet
terraform init
O resultado será algo assim:
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Agora você está com tudo pronto para usar o Terraform no Cloud Shell.
Tarefa 2: crie a managementnet e os recursos relacionados
Crie a rede de modo personalizado managementnet com uma regra de firewall e instância de VM (managementnet-us-vm).
Configure a managementnet
Crie uma nova configuração e defina managementnet.
Para criar um arquivo, clique em Arquivo > Novo arquivo.
Nomeie o arquivo como managementnet.tf e abra.
Copie o código base abaixo e cole no arquivo managementnet.tf:
# Criar a rede managementnet
resource [RESOURCE_TYPE] "managementnet" {
name = [RESOURCE_NAME]
#As propriedades do RECURSO vão aqui
}
Esse modelo base é um ótimo ponto de partida para qualquer recurso do Google Cloud. No campo nome, você pode dar um nome ao recurso e, no campo tipo, pode especificar o recurso do Google Cloud que quer criar. Também é possível definir propriedades, mas elas são opcionais para alguns recursos.
Em managementnet.tf, substitua [RESOURCE_TYPE] por "google_compute_network".
Em managementnet.tf, substitua [RESOURCE_NAME] por "managementnet".
Adicione esta propriedade ao arquivo managementnet.tf:
auto_create_subnetworks = "false"
Diferente das redes de modo automático, as de modo personalizado não criam automaticamente uma sub-rede em cada região. Ou seja, auto_create_subnetworks está sendo definido como false.
Verifique se o arquivo managementnet.tf é algo assim:
# Criar a rede managementnet
resource "google_compute_network" "managementnet" {
name = "managementnet"
auto_create_subnetworks = "false"
}
Para salvar managementnet.tf, clique em Arquivo > Salvar.
Adicione uma sub-rede à managementnet
Adicione managementsubnet-us à rede VPC.
Adicione este recurso ao arquivo managementnet.tf:
# Criar sub-rede managementsubnet-us
resource "google_compute_subnetwork" "managementsubnet-us" {
name = "managementsubnet-us"
region = "{{{ project_0.default_region | Region 1 }}}"
network = google_compute_network.managementnet.self_link
ip_cidr_range = "10.130.0.0/20"
}
Observação: o recurso google_compute_subnetwork é uma sub-rede. Você está especificando o nome, a região, a rede VPC e o intervalo de IP CIDR para managementsubnet-us. Para mais informações sobre esse recurso específico, consulte a documentação do Terraform.
Para salvar managementnet.tf, clique em Arquivo > Salvar.
Configure a regra de firewall
Defina uma regra de firewall que permita o tráfego HTTP, SSH, RDP e ICMP na managementnet.
Adicione o seguinte código base ao arquivo managementnet.tf:
# Adicionar uma regra de firewall para permitir tráfego HTTP, SSH, RDP e ICMP na managementnet
resource [RESOURCE_TYPE] "managementnet-allow-http-ssh-rdp-icmp" {
name = [RESOURCE_NAME]
source_ranges = [
"0.0.0.0/0"
]
#As propriedades do RECURSO vão aqui
}
Em managementnet.tf, substitua [RESOURCE_TYPE] por "google_compute_firewall":
Observação: o recurso google_compute_firewall é uma regra de firewall. Para mais informações sobre esse recurso específico, consulte a documentação do Terraform.
Em managementnet.tf, substitua [RESOURCE_NAME] por "managementnet-allow-http-ssh-rdp-icmp".
Adicione esta propriedade ao arquivo managementnet.tf:
network = google_compute_network.managementnet.self_link
Observação: como essa regra de firewall depende da rede, você está usando a referência google_compute_network.managementnet.self_link para instruir o Terraform a resolver esses recursos em ordem dependente. Nesse caso, a rede é criada antes da regra de firewall.
Adicione estas propriedades ao arquivo managementnet.tf:
A lista de regras allow especifica quais protocolos e portas são permitidos.
Verifique se suas adições ao arquivo managementnet.tf são assim:
# Criar uma regra de firewall para permitir tráfego HTTP, SSH, RDP e ICMP na managementnet
resource "google_compute_firewall" "managementnet_allow_http_ssh_rdp_icmp" {
name = "managementnet-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.managementnet.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Para salvar managementnet.tf, clique em Arquivo > Salvar.
Configure a instância de VM
Crie um módulo de instância de VM para defini-la. Um módulo é uma configuração reutilizável dentro de uma pasta. Ele será usado em todas as instâncias de VM deste laboratório.
Para criar uma nova pasta em tfnet, selecione a pasta tfnet e depois clique em Arquivo > Nova pasta.
Nomeie a nova pasta como instance.
Para criar um novo arquivo dentro de instance, selecione a pasta instance e clique em File > New File.
Nomeie o novo arquivo como main.tf e abra-o.
Sua estrutura de pastas no Cloud Shell será assim:
Copie este código base e cole no arquivo main.tf:
resource [RESOURCE_TYPE] "vm_instance" {
name = [RESOURCE_NAME]
#As propriedades do RECURSO vão aqui
}
Em main.tf, substitua [RESOURCE_TYPE] por "google_compute_instance".
Observação: o recurso google_compute_instance é uma instância do Compute Engine. Para mais informações sobre esse recurso específico, consulte a documentação do Terraform.
Em main.tf, substitua [RESOURCE_NAME] por var.instance_name.
Como você vai usar esse módulo para todas as instâncias de VM, o nome da instância será definido como uma variável de entrada. Dessa forma, você vai controlar o nome da variável no arquivo managementnet.tf. Para mais informações sobre variáveis de entrada, consulte a documentação sobre Definição de variáveis de entrada.
Adicione estas propriedades ao arquivo main.tf:
zone = var.instance_zone
machine_type = var.instance_type
Elas definem a zona e o tipo de máquina da instância como variáveis de entrada.
Essa propriedade define o disco de inicialização para usar a imagem do SO Debian 11. Como todas as quatro instâncias de VM vão usar a mesma imagem, essa propriedade pode ser codificada no módulo.
Adicione estas propriedades ao arquivo main.tf:
network_interface {
subnetwork = var.instance_subnetwork
access_config {
# Alocar um IP NAT um para um à instância
}
}
Essa propriedade define a interface de rede fornecendo o nome da sub-rede como uma variável de entrada e a configuração de acesso. Se a configuração de acesso ficar vazia, um endereço IP externo temporário será atribuído. Para mais informações, consulte a documentação do Terraform.
Defina as quatro variáveis de entrada na parte de cima de main.tf e verifique se main.tf se parece com isto, incluindo os colchetes {}:
variable "instance_name" {}
variable "instance_zone" {}
variable "instance_type" {
default = "e2-standard-2"
}
variable "instance_subnetwork" {}
resource "google_compute_instance" "vm_instance" {
name = var.instance_name
zone = var.instance_zone
machine_type = var.instance_type
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
subnetwork = var.instance_subnetwork
access_config {
# Alocar um IP NAT um para um à instância
}
}
}
Ao atribuir um valor padrão à variável instance_type, ela se torna opcional. As variáveis instance_name, instance_zone e instance_subnetwork são obrigatórias e precisam ser definidas em managementnet.tf.
Esse recurso está usando o módulo na pasta instance e fornece o nome, a zona e a rede como entradas. Como a instância depende de uma rede VPC, você tem que usar a referência google_compute_subnetwork.managementsubnet-us.self_link para instruir o Terraform a resolver esses recursos em ordem dependente. Nesse caso, a sub-rede é criada antes da instância.
Observação: quando você cria um módulo do Terraform, ele pode ser reutilizado em várias configurações. Em vez de criar um módulo próprio, você pode usar os disponíveis no registro do módulo Terraform.
Para salvar managementnet.tf, clique em Arquivo > Salvar.
Crie a managementnet e os recursos relacionados
É hora de aplicar a configuração da managementnet.
Reescreva os arquivos de configuração do Terraform em um formato e estilo canônicos executando este comando:
terraform fmt
Observação: em caso de erro, revise as etapas anteriores para ver se sua configuração corresponde às instruções do laboratório. Se não conseguir resolver o problema, consulte estas configurações concluídas:
Execute este comando para Inicializar o Terraform:
terraform init
O resultado será algo assim:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Observação: em caso de erro, revise as etapas anteriores para ver se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Crie um plano de execução com este comando:
terraform plan
O resultado será algo assim:
...
Plan: 4 to add, 0 to change, 0 to destroy.
...
O Terraform determinou que os quatro recursos a seguir precisam ser adicionados:
Nome
Descrição
managementnet
Rede VPC
managementsubnet-us
Sub-rede de managementnet em
managementnet_allow_http_ssh_rdp_icmp
Regra de firewall para permitir HTTP, SSH, RDP e ICMP
managementnet-us-vm
Instância de VM em
Para aplicar as mudanças desejadas, execute este comando:
Observe que quando a rede VPC é criada, a regra de firewall e a sub-rede também são. Assim que a sub-rede é criada, a instância da VM também é. Isso ocorre porque a regra de firewall e a sub-rede dependiam da rede, e a instância da VM dependia da sub-rede por meio de referências self_link.
Observação: em caso de erro durante a execução, revise as etapas anteriores para verificar se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Verifique managementnet e os recursos relacionados
Verifique se os recursos foram criados no console do Cloud.
No console do Cloud, selecione Menu de navegação > Rede VPC > Redes VPC.
Acesse a rede VPC managementnet com a sub-rede respectiva.
No painel esquerdo, clique em Firewall.
Acesse a regra de firewall managementnet_allow_http_ssh_rdp_icmp para a rede VPC que foi criada.
No Menu de navegação, selecione Compute Engine > Instâncias de VM.
Observe a instância managementnet-us-vm.
Volte ao Cloud Shell.
Clique em Verificar meu progresso para conferir o objetivo.
Crie a managementnet e os recursos relacionados
Tarefa 3: Crie a privatenet e os recursos relacionados
Crie a rede de modo personalizado privatenet com uma regra de firewall e instância de VM (privatenet-us-vm).
Configure a privatenet
Crie uma nova configuração e defina a privatenet.
Para criar um novo arquivo na pasta tfnet, clique em Arquivo > Novo arquivo.
Nomeie o arquivo como privatenet.tf e abra.
Sua estrutura de pastas no Cloud Shell será assim:
Adicione a rede VPC copiando este código e colando em privatenet.tf:
Adicione o recurso de sub-rede privatesubnet-us a privatenet.tf:
# Criar sub-rede privatesubnet-us
resource "google_compute_subnetwork" "privatesubnet-us" {
name = "privatesubnet-us"
region = "{{{project_0.default_region| REGION 1}}}"
network = google_compute_network.privatenet.self_link
ip_cidr_range = "172.16.0.0/24"
}
Adicione o recurso de sub-rede privatesubnet-second-subnet a privatenet.tf:
# Criar sub-rede privatesubnet-second-subnet
resource "google_compute_subnetwork" "privatesubnet-second-subnet" {
name = "privatesubnet-second-subnet"
region = "{{{project_0.default_region_2 | REGION 2}}}"
network = google_compute_network.privatenet.self_link
ip_cidr_range = "172.20.0.0/24"
}
Para salvar o arquivo privatenet.tf, clique em Arquivo > Salvar.
Configure a regra de firewall
Defina uma regra de firewall para permitir o tráfego HTTP, SSH e RDP na privatenet.
Adicione o recurso de firewall a privatenet.tf:
# Criar uma regra de firewall para permitir tráfego HTTP, SSH, RDP e ICMP na privatenet
resource "google_compute_firewall" "privatenet-allow-http-ssh-rdp-icmp" {
name = "privatenet-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.privatenet.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Observação: como alternativa, também é possível criar um módulo para a regra de firewall, porque a única diferença entre ela e a anterior é a rede VPC à qual ela se aplica.
Para salvar o arquivo privatenet.tf, clique em Arquivo > Salvar.
Configure a instância de VM
Use o módulo da instância para configurar privatenet-us-vm.
Adicione o recurso de instância de VM a privatenet.tf:
Para salvar o arquivo privatenet.tf, clique em Arquivo > Salvar.
Crie a privatenet e os recursos relacionados
É hora de aplicar a configuração da privatenet.
Reescreva os arquivos de configuração do Terraform em um formato e estilo canônicos executando este comando:
terraform fmt
Observação: em caso de erro, revise as etapas anteriores para ver se sua configuração corresponde às instruções do laboratório. Se você não conseguir resolver o problema da configuração, dê uma olhada nestas configurações concluídas:
Execute este comando para Inicializar o Terraform:
terraform init
O resultado será algo assim:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Observação: em caso de erro, revise as etapas anteriores para ver se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Crie um plano de execução com este comando:
terraform plan
O resultado será algo assim:
...
Plan: 5 to add, 0 to change, 0 to destroy.
...
O Terraform determinou que os 5 recursos a seguir precisam ser adicionados:
Nome
Descrição
privatenet
Rede VPC
privatesubnet-us
Sub-rede da privatenet em
privatesubnet-second-subnet
Sub-rede da privatenet em
privatenet-allow-http-ssh-rdp-icmp
Regra de firewall para permitir HTTP, SSH, RDP e ICMP
privatenet-us-vm
Instância de VM em
Para aplicar as mudanças desejadas, execute este comando:
terraform apply
Confirme as ações planejadas digitando:
yes
O resultado será algo assim:
...
Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
Observação: em caso de erro durante a execução, revise as etapas anteriores para verificar se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Verifique a privatenet e os recursos relacionados
Verifique se os recursos foram criados no console do Cloud.
No console do Cloud, selecione Menu de navegação > Rede VPC > Redes VPC.
Acesse a rede VPC privatenet com as respectivas sub-redes.
No painel à esquerda, clique em Rede VPC > Firewall.
Acesse a regra de firewall privatenet_allow_http_ssh_rdp_icmp para a rede VPC que foi criada.
No Menu de navegação, selecione Compute Engine > Instâncias de VM.
Verifique os endereços IP internos da privatenet-us-vm.
Em managementnet-us-vm, clique em SSH para iniciar um terminal e se conectar.
Para testar a conectividade com o endereço IP interno de privatenet-us-vm, o comando a seguir no terminal SSH, substituindo o endereço IP interno de privatenet-us-vm pelo valor que você anotou antes:
ping -c 3 <Enter privatenet-us-vm's internal IP here>
Observação: isso provavelmente não vai funcionar, porque as duas instâncias de VM estão em redes VPC separadas!
Volte ao Cloud Shell.
Clique em Verificar meu progresso para conferir o objetivo.
Crie a privatenet e os recursos relacionados
Tarefa 4: crie mynetwork e os recursos relacionados
Crie a rede de modo automático mynetwork junto com a regra de firewall e duas instâncias de VM (mynet_us_vm e mynet_second_vm).
Configure o mynetwork
Crie uma nova configuração e defina mynetwork.
Para criar um novo arquivo na pasta tfnet, clique em Arquivo > Novo arquivo.
Nomeie o arquivo como mynetwork.tf e abra.
Sua estrutura de pastas no Cloud Shell será assim:
Copie o este código e cole no arquivo mynetwork.tf:
# Criar a rede mynetwork
resource "google_compute_network" "mynetwork" {
name = "mynetwork"
#As propriedades do RECURSO vão aqui
}
Adicione esta propriedade ao arquivo mynetwork.tf:
auto_create_subnetworks = "true"
Por definição, uma rede do modo automático cria uma sub-rede em cada região. Portanto, você está definindo auto_create_subnetworks como true.
Verifique se o arquivo mynetwork.tf é semelhante a este:
# Criar a rede mynetwork
resource "google_compute_network" "mynetwork" {
name = "mynetwork"
auto_create_subnetworks = "true"
}
Para salvar o arquivo mynetwork.tf, clique em Arquivo > Salvar.
Configure a regra de firewall
Defina uma regra de firewall para permitir o tráfego HTTP, SSH e RDP em mynetwork.
Adicione o recurso de firewall a mynetwork.tf:
# Criar uma regra de firewall para permitir tráfego HTTP, SSH, RDP e ICMP em mynetwork
resource "google_compute_firewall" "mynetwork-allow-http-ssh-rdp-icmp" {
name = "mynetwork-allow-http-ssh-rdp-icmp"
source_ranges = [
"0.0.0.0/0"
]
network = google_compute_network.mynetwork.self_link
allow {
protocol = "tcp"
ports = ["22", "80", "3389"]
}
allow {
protocol = "icmp"
}
}
Para salvar o arquivo mynetwork.tf, clique em Arquivo > Salvar.
Configure a instância de VM
Use o módulo da instância para configurar mynetwork-us-vm e mynetwork-second-vm.
Adicione estas instâncias de VM ao arquivo mynetwork.tf:
Para salvar o arquivo mynetwork.tf, clique em Arquivo > Salvar.
Crie mynetwork e os recursos relacionados
É hora de aplicar a configuração de mynetwork.
Reescreva os arquivos de configuração do Terraform em um formato e estilo canônicos executando este comando:
terraform fmt
Observação: em caso de erro, revise as etapas anteriores para ver se sua configuração corresponde às instruções do laboratório. Se você não conseguir resolver o problema da configuração, dê uma olhada nestas configurações concluídas:
Execute este comando para Inicializar o Terraform:
terraform init
O resultado será algo assim:
Initializing the backend...
...
* provider.google: version = "~> 3.63"
Terraform has been successfully initialized!
Observação: em caso de erro, revise as etapas anteriores para ver se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Crie um plano de execução com este comando:
terraform plan
O resultado será algo assim:
...
Plan: 4 to add, 0 to change, 0 to destroy.
...
O Terraform determinou que os quatro recursos a seguir precisam ser adicionados:
Nome
Descrição
mynetwork
Rede VPC
mynetwork-allow-http-ssh-rdp-icmp
Regra de firewall para permitir HTTP, SSH, RDP e ICMP
mynet-us-vm
Instância de VM em
mynet-second-vm
Instância de VM em
Para aplicar as mudanças desejadas, execute este comando:
terraform apply
Confirme as ações planejadas digitando:
yes
O resultado será algo assim:
...
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.
Observação: em caso de erro durante a execução, revise as etapas anteriores para verificar se a estrutura de pastas/arquivos está correta. Se não conseguir resolver o problema de configuração, consulte as configurações concluídas acima. Depois de corrigir o problema, execute o comando anterior outra vez.
Verifique mynetwork e os recursos relacionados
Verifique se os recursos foram criados no console do Cloud.
No console do Cloud, selecione Menu de navegação > Rede VPC > Redes VPC.
Acesse a rede VPC mynetwork com as respectivas sub-redes.
No painel esquerdo, clique em Firewall.
Acesse a regra de firewall mynetwork-allow-http-ssh-rdp-icmp para a rede VPC que foi criada.
No Menu de navegação, selecione Compute Engine > Instâncias de VM.
Veja as instâncias mynet-us-vm e mynet-second-vm.
Veja os endereços IP internos de mynet-second-vm.
Em mynet-us-vm, clique em SSH para iniciar um terminal e se conectar.
Para testar a conectividade com o endereço IP interno da instância mynet-second-vm, execute o comando a seguir no terminal SSH (substituindo o endereço IP interno da instância mynet-second-vm pelo valor já anotado):
ping -c 3 <Enter mynet-second-vm's internal IP here>
Observação: isso provavelmente vai funcionar, porque as duas instâncias de VM estão na mesma rede e o tráfego ICMP é permitido!
Clique em Verificar meu progresso para conferir o objetivo.
Crie mynetwork e os recursos relacionados
Parabéns!
Chegamos ao fim do laboratório autoguiado, Como automatizar a implantação de redes com o Terraform.
Nele, você criou configurações e módulos do Terraform para automatizar a implantação de uma rede personalizada. Quando a configuração muda, o Terraform identifica as alterações e cria mais planos de execução, o que permite que você defina a configuração geral meticulosamente.
O módulo de instância permitiu que você reutilizasse a mesma configuração para vários recursos, fornecendo propriedades como variáveis de entrada. Você pode usar as configurações e os módulos criados como pontos de partida para implantações futuras.
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, on demand 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 19 de janeiro de 2024
Laboratório testado em 19 de janeiro de 2024
Copyright 2025 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.
Labs create a Google Cloud project and resources for a fixed time
Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
On the top left of your screen, click Start lab to begin
Use private browsing
Copy the provided Username and Password for the lab
Click Open console in private mode
Sign in to the Console
Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
Accept the terms, and skip the recovery resource page
Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
One lab at a time
Confirm to end all existing labs and start this one
Use private browsing to run the lab
Use an Incognito or private browser window to run this lab. This
prevents any conflicts between your personal account and the Student
account, which may cause extra charges incurred to your personal account.
Neste laboratório, você vai criar uma configuração do Terraform com um módulo para automatizar a implantação de uma rede personalizada com recursos.
Duração:
Configuração: 0 minutos
·
Tempo de acesso: 60 minutos
·
Tempo para conclusão: 60 minutos