Instruções e requisitos de configuração do laboratório
Proteja sua conta e seu progresso. Sempre use uma janela anônima do navegador e suas credenciais para realizar este laboratório.

Uso do Terraform para criar clientes e servidores

Laboratório 1 hora universal_currency_alt 5 créditos show_chart Intermediário
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Este conteúdo ainda não foi otimizado para dispositivos móveis.
Para aproveitar a melhor experiência, acesse nosso site em um computador desktop usando o link enviado a você por e-mail.

Visão geral

Neste laboratório, você vai provisionar uma máquina virtual Linux em uma rede privada para atuar como um servidor de banco de dados. Você também vai criar uma máquina virtual que pode ser usada como um Bastion Host para se conectar ao servidor de banco de dados como admin. Você vai configurar o servidor de banco de dados para conexões remotas e adicionar uma conta de usuário. Em seguida, você vai instalar o software cliente do MySQL-MariaDB para se conectar ao servidor de banco de dados de uma máquina cliente.

Objetivos

Neste laboratório, você aprenderá a fazer o seguinte:

  • Criar VMs de cliente e servidor.
  • Administrar seu servidor de banco de dados.
  • Conectar-se ao banco de dados a partir de um cliente.

Configuração e requisitos

Nesta tarefa, você vai seguir as etapas de inicialização do laboratório.

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.

  1. Faça login no Google Skills usando uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo. Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta e copie e cole as credenciais deste laboratório nos locais indicados. Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1: Criar VMs de cliente e servidor

  1. Abra uma nova janela do navegador da web e acesse o console do Google Cloud (console.cloud.google.com). Use o seletor de projetos para escolher o primeiro projeto com o nome inicial "qwiklabs-gcp".

  2. No Menu de navegação (Ícone do menu de navegação), clique em Visão geral do Cloud.

  3. Na seção Informações do projeto, encontre o ID do projeto, copie e cole em um arquivo de texto. Você precisará dessas informações posteriormente.

O ID do projeto em destaque na seção "Informações do projeto"

  1. Clique no ícone Ativar o Cloud Shell (Ícone "Ativar Cloud Shell") no canto superior direito do console. O terminal do Cloud Shell será aberto em um painel na parte de baixo da janela.

  2. Ative a API Identity-Aware Proxy, que permite se conectar a todas as máquinas virtuais criadas neste projeto sem configurar chaves SSH. Digite o seguinte comando no Cloud Shell:

gcloud services enable iap.googleapis.com
  1. Para clonar um repositório do GitHub que inclui uma versão concluída do laboratório anterior, insira o seguinte comando:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Mude para a seguinte pasta:
cd ~/training-data-analyst/courses/db-migration/terraform-clients-servers/
  1. Digite ls e você verá que esta pasta tem os arquivos do Terraform concluídos no último laboratório.

  2. Clique em Abrir editor e, na pasta training-data-analyst/courses/db-migration/terraform-clients-servers/, abra o arquivo terraform.tfvars.

  3. Altere os valores no arquivo terraform.tfvars conforme indicado abaixo.

Item Valor
project_id
gcp_region_1
gcp_zone_1



  1. Crie uma máquina Debian Linux na rede privada. Adicione um arquivo chamado vm-mysql-server.tf e cole o seguinte código do Terraform nele:
# Create a MySQL Server in Private VPC resource "google_compute_instance" "mysql-server" { name = "mysql-server-${random_id.instance_id.hex}" machine_type = "f1-micro" zone = var.gcp_zone_1 tags = ["allow-ssh", "allow-mysql"] boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = google_compute_network.private-vpc.name subnetwork = google_compute_subnetwork.private-subnet_1.name # access_config { } } } output "mysql-server" { value = google_compute_instance.mysql-server.name } output "mysql-server-external-ip" { value = "NONE" } output "mysql-server-internal-ip" { value = google_compute_instance.mysql-server.network_interface.0.network_ip }
  1. Crie uma máquina na rede pública que possa ser usada para administrar esse servidor. Adicione um arquivo chamado vm-mysql-client.tf e cole o seguinte código Terraform nele:
# Create MySQL Client in Public VPC resource "google_compute_instance" "mysql-client" { name = "mysql-client-${random_id.instance_id.hex}" machine_type = "f1-micro" zone = var.gcp_zone_1 tags = ["allow-ssh"] boot_disk { initialize_params { image = "debian-cloud/debian-11" } } network_interface { network = google_compute_network.public-vpc.name subnetwork = google_compute_subnetwork.public-subnet_1.name access_config { } } } output "mysql-client" { value = google_compute_instance.mysql-client.name } output "mysql-client-external-ip" { value = google_compute_instance.mysql-client.network_interface.0.access_config.0.nat_ip } output "mysql-client-internal-ip" { value = google_compute_instance.mysql-client.network_interface.0.network_ip }
  1. Crie uma regra de firewall para permitir a comunicação com o servidor MySQL pela rede pública. Abra o arquivo vpc-firewall-rules-private.tf e adicione a seguinte regra de firewall ao final:
# allow MySQL only from public subnet resource "google_compute_firewall" "private-allow-mysql" { name = "${google_compute_network.private-vpc.name}-allow-mysql" network = google_compute_network.private-vpc.name allow { protocol = "tcp" ports = ["3306"] } source_ranges = [ "${var.subnet_cidr_public}" ] target_tags = ["allow-mysql"] }
  1. Para inicializar o Terraform e criar o plano, volte ao terminal do Cloud Shell e insira os seguintes comandos:
terraform init terraform plan
  1. Para criar os recursos, execute o seguinte comando:
terraform apply -auto-approve

Clique em Verificar meu progresso para conferir o objetivo. Criar VMs de cliente e servidor

Tarefa 2: Administrar seu servidor de banco de dados

  1. Quando o processo do Terraform for concluído, no Menu de navegação (Ícone do menu de navegação), clique em Compute Engine. Várias máquinas devem ser listadas.

  2. Encontre a máquina mysql-server- e anote o endereço IP interno (provavelmente 10.2.2.2 ou 10.2.2.3).

  3. Clique em SSH para a máquina mysql-server- para se conectar a ela.

Observação: nesta etapa, você precisa instalar o MySQL no servidor. No entanto, como o servidor não tem um endereço IP externo, ele não tem acesso à internet, então não é possível executar o comando para instalar o MySQL. Você corrige isso adicionando um NAT usando o serviço Cloud NAT do Google Cloud.
  1. Execute o comando a seguir para ver que ele não funciona. Ele acaba falhando ao tentar acessar a internet:
sudo apt install wget
  1. A mensagem retornada no terminal será exibida da seguinte forma:
Could not connect to debian.map...
  1. Pressione CTRL+C para encerrar o comando.

  2. Volte ao editor de código do Cloud Shell e, na pasta training-data-analyst/courses/db-migration/terraform-clients-servers, adicione um arquivo chamado cloud-nat.tf e, em seguida, adicione o seguinte código do Terraform a esse arquivo:

resource "google_compute_router" "nat-router" { name = "nat-router" region = google_compute_subnetwork.private-subnet_1.region network = google_compute_network.private-vpc.id bgp { asn = 64514 } } resource "google_compute_router_nat" "private-nat" { name = "private-nat" router = google_compute_router.nat-router.name region = google_compute_router.nat-router.region nat_ip_allocate_option = "AUTO_ONLY" source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES" log_config { enable = true filter = "ERRORS_ONLY" } }
  1. Volte ao terminal do Cloud Shell e execute o comando a seguir para confirmar que não há erros:
terraform plan
  1. Em seguida, aplique o plano para criar o NAT:
terraform apply -auto-approve
  1. Retorne à janela SSH que está conectada ao servidor MySQL. Execute os comandos a seguir para instalar o MySQL:
sudo apt-get update sudo apt-get install -y default-mysql-server
  1. Para garantir que o MySQL-MariaDB esteja em execução, digite o seguinte comando:
sudo systemctl status mysql

A saída será exibida da seguinte forma:

mariadb.service - MariaDB 10.5.15 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-08-01 20:55:10 UTC; 33s ago
  1. Aperte a tecla "q" para sair.

  2. Crie uma senha para o usuário raiz com o seguinte comando:

sudo mysql_secure_installation

A senha inicial estará em branco.

  1. Siga as instruções para criar uma senha para a raiz usando uma senha que você vai lembrar. Selecione Sim em todas as outras solicitações.

  2. Faça login no banco de dados usando a conta raiz com o seguinte comando:

sudo mysql -u root -p
  1. Digite a senha recém-criada quando solicitado.

Você precisa de uma conta de usuário para fazer login na máquina cliente.

  1. Para criar um usuário chamado dbops com a senha password, use o seguinte comando:
CREATE USER 'dbops'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'dbops'@'%'; FLUSH PRIVILEGES;
  1. Digite exit para sair do cliente MySQL.

Por padrão, o servidor de banco de dados só detecta conexões na máquina local. Uma correção rápida na configuração vai mudar isso.

  1. Use o comando a seguir para abrir o arquivo de configuração no editor de texto Nano:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
  1. Encontre a linha bind-address e comente-a adicionando um "#" na frente da linha:
#bind-address = 127.0.0.1
  1. Pressione CTRL+X para sair e responda Y quando for solicitado a salvar as alterações.

  2. Para reiniciar o banco de dados, digite o seguinte comando:

sudo systemctl restart mariadb

Clique em Verificar meu progresso para conferir o objetivo. Administrar seu servidor de banco de dados

  1. Digite exit novamente para sair do servidor e retornar à VM do cliente.

Tarefa 3: Conectar-se ao banco de dados a partir de um cliente

  1. Para se conectar ao banco de dados MySQL-MariaDB da sua máquina cliente, você precisa instalar o software cliente MySQL-MariaDB.

  2. No Menu de navegação (Ícone do menu de navegação), clique em Compute Engine. Clique em SSH para a máquina mysql-client- para se conectar a esse terminal.

  3. Na nova janela SSH, digite os seguintes comandos para concluir a instalação:

sudo apt-get update sudo apt-get install -y default-mysql-client
  1. Volte ao Menu de navegação (Ícone do menu de navegação) e clique em Compute Engine. Encontre a máquina mysql-server- e anote o endereço IP interno (provavelmente 10.2.2.2 ou 10.2.2.3).

  2. Para se conectar ao banco de dados, use o seguinte comando (substitua SERVERIP pelo endereço IP que você acabou de verificar):

mysql -h SERVERIP -u dbops -p'password'
  1. Digite "\s" no comando do MariaDB.

  2. Os detalhes do servidor de banco de dados serão retornados.

  3. Digite exit para sair do cliente MySQL.

Nesta etapa, não há banco de dados, então não há mais nada a fazer, mas você tem uma solução completa em vigor. O servidor de banco de dados está em uma rede segura sem acesso público. Você tem uma máquina Linux na rede pública que pode ser usada para administrar o banco de dados e se conectar à máquina usando o software cliente MySQL-MariaDB.

Clique em Verificar meu progresso para conferir o objetivo. Conectar-se ao banco de dados a partir de um cliente

  1. Feche a sessão SSH e retorne ao terminal do Cloud Shell.

  2. Para excluir tudo o que você criou anteriormente no laboratório, digite o seguinte comando:

terraform destroy -auto-approve

Parabéns! Você provisionou uma máquina virtual Linux em uma rede privada para atuar como um servidor de banco de dados. Você também criou uma máquina virtual que pode ser usada como um Bastion Host para se conectar ao servidor de banco de dados como admin. Você configurou o servidor de banco de dados para conexões remotas e adicionou uma conta de usuário. Em seguida, você instalou o software cliente MySQL para se conectar ao servidor de banco de dados de uma máquina cliente.

Finalize o laboratório

Após concluir o laboratório, clique em Terminar o laboratório. O Google Skills remove os recursos usados e limpa a conta para você.

Você poderá classificar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

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

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

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

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

A melhor maneira de executar este laboratório é usando uma janela de navegação anônima ou privada. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.