Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Usa Terraform para crear clientes y servidores

Lab 1 hora universal_currency_alt 5 créditos show_chart Intermedio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

Descripción general

En este lab, aprovisionarás una máquina virtual Linux en una red privada para que actúe como servidor de bases de datos. También crearás una máquina virtual que podrás usar como host de bastión para conectarte al servidor de la base de datos como administrador. Luego, configurarás el servidor de base de datos para conexiones remotas y agregarás una cuenta de usuario. Por último, instalarás el software cliente de MySQL para conectarte al servidor de base de datos desde una máquina cliente.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Crear VMs de cliente y de servidor
  • Administrar tu servidor de base de datos
  • Conectarte a la base de datos desde un cliente

Configuración y requisitos

En esta tarea, realizarás los pasos de inicialización para tu lab.

En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Google Skills en una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado. No existe una función de pausa. Si lo necesitas, puedes reiniciar el lab, pero deberás hacerlo desde el comienzo.

  3. Cuando tengas todo listo, haz clic en Comenzar lab.

  4. Anota las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haz clic en Abrir la consola de Google.

  6. Haz clic en Usar otra cuenta, copia las credenciales para este lab y pégalas en el mensaje emergente que aparece. Si usas otras credenciales, se generarán errores o incurrirás en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Tarea 1: Crea VMs de cliente y de servidor

  1. Abre una nueva ventana del navegador web y ve a la consola de Google Cloud (console.cloud.google.com). Usa el selector de proyectos para elegir el primer proyecto que empieza con el nombre "qwiklabs-gcp".

  2. En el menú de navegación (Ícono del menú de navegación), haz clic en Vista general de Cloud.

  3. En la sección Información del proyecto, busca el ID de tu proyecto y cópialo y pégalo en un archivo de texto. Lo necesitarás más tarde.

El ID del proyecto destacado en la sección Información del proyecto

  1. Haz clic en el ícono de Activar Cloud Shell (Ícono de Activar Cloud Shell) en la parte superior derecha de la consola. La terminal de Cloud Shell se abrirá en un panel, en la parte inferior de la ventana.

  2. Activa la API de Identity-Aware Proxy, que te permitirá conectarte a todas las máquinas virtuales creadas en este proyecto sin configurar claves SSH. Escribe el siguiente comando en Cloud Shell:

gcloud services enable iap.googleapis.com
  1. Para clonar un repositorio de GitHub que incluya una versión completada del lab anterior, ingresa el siguiente comando:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Cambia a la siguiente carpeta:
cd ~/training-data-analyst/courses/db-migration/terraform-clients-servers/
  1. Escribe ls y verás que esta carpeta tiene los archivos de Terraform completados del lab anterior.

  2. Haz clic en Open Editor y, luego, en la carpeta training-data-analyst/courses/db-migration/terraform-clients-servers/, abre el archivo terraform.tfvars.

  3. Cambia los valores en el archivo terraform.tfvars como se indica a continuación.

Elemento Valor
project_id
gcp_region_1
gcp_zone_1



  1. Crea una máquina de Debian Linux en la red privada. Agrega un archivo llamado vm-mysql-server.tf y pega el siguiente código de Terraform en él:
# 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. Crea una máquina en la red pública que puedas usar para administrar ese servidor. Agrega un archivo llamado vm-mysql-client.tf y pega el siguiente código de Terraform en él:
# 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. Crea una regla de firewall para permitir la comunicación con el servidor MySQL desde la red pública. Abre el archivo vpc-firewall-rules-private.tf y agrega la siguiente regla de firewall al 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 Terraform y crear el plan, vuelve a la terminal de Cloud Shell y escribe los siguientes comandos:
terraform init terraform plan
  1. Para crear los recursos, ejecuta el siguiente comando:
terraform apply -auto-approve

Haz clic en Revisar mi progreso para verificar el objetivo. Crear VMs de cliente y de servidor

Tarea 2: Administra tu servidor de bases de datos

  1. Cuando se complete el proceso de Terraform, en el menú de navegación (Ícono del menú de navegación), haz clic en Compute Engine. Deberían aparecer varias máquinas.

  2. Busca la máquina mysql-server- y anota su dirección IP interna (probablemente sea 10.2.2.2 o 10.2.2.3).

  3. Haz clic en SSH para la máquina mysql-server- para conectarte a ella.

Nota: En este punto, debes instalar MySQL en el servidor. Sin embargo, como el servidor no tiene una dirección IP externa, no tiene acceso a Internet, por lo que no puedes ejecutar el comando para instalar MySQL. Para solucionarlo, agrega una NAT con el servicio Google Cloud NAT.
  1. Ejecuta el siguiente comando para ver que no funciona. En última instancia, fallará cuando intente acceder a Internet:
sudo apt install wget
  1. Este es el mensaje que se mostrará en la terminal:
Could not connect to debian.map...
  1. Escribe Ctrl + C para salir del comando.

  2. Vuelve al editor de código de Cloud Shell y, en la carpeta training-data-analyst/courses/db-migration/terraform-clients-servers, agrega un archivo llamado cloud-nat.tf. Luego, agrega el siguiente código de Terraform al archivo:

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. Vuelve a la terminal de Cloud Shell y ejecuta el siguiente comando para confirmar que no hay errores:
terraform plan
  1. Luego, aplica el plan para crear la NAT:
terraform apply -auto-approve
  1. Vuelve a la ventana de SSH que está conectada al servidor MySQL. Ejecuta los siguientes comandos para instalar MySQL:
sudo apt-get update sudo apt-get install -y default-mysql-server
  1. Para asegurarte de que se esté ejecutando MySQL-MariaDB, ingresa el siguiente comando:
sudo systemctl status mysql

El resultado aparecerá de la siguiente manera:

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. Escribe "q" para salir.

  2. Crea una contraseña para el usuario raíz con el siguiente comando:

sudo mysql_secure_installation

La contraseña inicial estará en blanco.

  1. Sigue las instrucciones para crear una contraseña de raíz que deberás recordar. Selecciona Yes en todos los mensajes restantes.

  2. Accede a la base de datos con la cuenta raíz a través del siguiente comando:

sudo mysql -u root -p
  1. Cuando se te solicite, ingresa la contraseña que acabas de crear.

Necesitarás una cuenta de usuario para acceder desde la máquina cliente.

  1. Para crear un usuario llamado dbops con la contraseña password, usa el siguiente comando:
CREATE USER 'dbops'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'dbops'@'%'; FLUSH PRIVILEGES;
  1. Escribe exit para salir del cliente MySQL.

De forma predeterminada, el servidor de la base de datos solo escucha las conexiones en la máquina local. Un arreglo rápido de la configuración lo cambiará.

  1. Usa el siguiente comando para abrir el archivo de configuración en el editor de texto Nano:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
  1. Busca la línea bind-address y márcala como comentario agregando un "#" al principio de la línea:
#bind-address = 127.0.0.1
  1. Escribe CTRL + X para salir y responde Y cuando se te pida guardar los cambios.

  2. Para reiniciar la base de datos, ingresa el siguiente comando:

sudo systemctl restart mariadb

Haz clic en Revisar mi progreso para verificar el objetivo. Administrar tu servidor de bases de datos

  1. Escribe exit de nuevo para salir del servidor y volver a la VM del cliente.

Tarea 3: Conéctate a la base de datos desde un cliente

  1. Para conectarte a la base de datos MySQL-MariaDB desde tu máquina cliente, debes instalar el software cliente MySQL-MariaDB.

  2. En el menú de navegación (Ícono del menú de navegación), haz clic en Compute Engine. Haz clic en SSH para la máquina mysql-client- para conectarte a esa terminal.

  3. En la nueva ventana de SSH, ingresa los siguientes comandos para completar la instalación:

sudo apt-get update sudo apt-get install -y default-mysql-client
  1. Regresa al menú de navegación (Ícono del menú de navegación) y haz clic en Compute Engine. Busca la máquina mysql-server- y anota su dirección IP interna (probablemente sea 10.2.2.2 o 10.2.2.3).

  2. Para conectarte a tu base de datos, usa el siguiente comando (reemplaza SERVERIP por la dirección IP que acabas de verificar):

mysql -h SERVERIP -u dbops -p'password'
  1. Ingresa "\s" en el mensaje de MariaDB.

  2. Se mostrarán los detalles del servidor de base de datos.

  3. Escribe exit para salir del cliente MySQL.

En este punto, no hay una base de datos, por lo que no hay nada más que hacer, pero tienes una solución completa implementada. Tu servidor de bases de datos está en una red segura sin acceso público. También tienes una máquina Linux en la red pública, que se puede usar para administrar la base de datos y conectarse a la máquina con el software cliente MySQL-MariaDB.

Haz clic en Revisar mi progreso para verificar el objetivo. Conectarse a la base de datos desde un cliente

  1. Cierra tu sesión de SSH y, luego, regresa a la terminal de Cloud Shell.

  2. Para borrar todo lo que creaste anteriormente en el lab, ingresa el siguiente comando:

terraform destroy -auto-approve

¡Felicitaciones! Aprovisionaste una máquina virtual Linux en una red privada para que actúe como servidor de bases de datos. También creaste una máquina virtual que puedes usar como host de bastión para conectarte al servidor de la base de datos como administrador. Configuraste el servidor de base de datos para conexiones remotas y agregaste una cuenta de usuario. Por último, instalaste el software cliente de MySQL para conectarte al servidor de base de datos desde una máquina cliente.

Finaliza el lab

Cuando hayas completado el lab, haz clic en Finalizar lab. Google Skills quitará los recursos que usaste y limpiará la cuenta.

Tendrás la oportunidad de calificar tu experiencia en el lab. Selecciona la cantidad de estrellas que corresponda, ingresa un comentario y haz clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Ni satisfecho ni insatisfecho
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puedes cerrar el cuadro de diálogo si no deseas proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, usa la pestaña Asistencia.

Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.