Create Cloud SQL instance using Terraform script

Revisar mi progreso

/ 100

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.

GSP234

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab práctico, aprenderás a crear instancias de Cloud SQL con Terraform, a configurar el proxy de Cloud SQL y a probar la conexión con el cliente MySQL.

Objetivos

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

  • Crear una instancia de Cloud SQL
  • Instalar el proxy de Cloud SQL
  • Usar Cloud Shell para probar la conectividad con el cliente MySQL

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la derecha, se encuentra el panel Configuración del lab y acceso, que tiene los siguientes elementos:

    • El botón Abrir la consola de Google Cloud
    • Las credenciales temporales (nombre de usuario y contraseña) que debes usar para este lab
    • Otra información para completar el lab (si es necesaria)

    Ten en cuenta que el cronómetro del lab se encuentra cerca de la parte superior de la página y muestra el tiempo restante.

  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia los recursos y abre otra pestaña, en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usa otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Configuración del lab y acceso.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Configuración del lab y acceso.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación ni autenticación de dos factores, ya que esta cuenta es temporal.
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

  2. Haz clic para avanzar por las siguientes ventanas:

    • Continúa en la ventana de información de Cloud Shell.
    • Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

Resultado:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.

Instala Terraform

Terraform no está preinstalado en Cloud Shell. Debes instalar la CLI de Terraform y configurarla para que persista en tus sesiones de Cloud Shell.

  1. Para configurar el repositorio de HashiCorp y, luego, instalar Terraform, y para asegurarte de que esta instalación persista en sesiones futuras, ejecuta los siguientes comandos en la terminal de Cloud Shell:
cat <<'EOF' > ~/.customize_environment # Configura el repositorio de HashiCorp e instala Terraform wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install -y terraform EOF bash ~/.customize_environment
  1. Para verificar que Terraform se haya instalado correctamente, ejecuta el siguiente comando:
terraform --version

En el resultado se debería mostrar la versión instalada (v1.5.7 o posterior):

Terraform v1.9.0

Cloud SQL

Cloud SQL es un servicio de base de datos completamente administrado que facilita configurar, mantener y administrar bases de datos relacionales en Google Cloud. Puedes usar Cloud SQL con MySQL o PostgreSQL.

Tarea 1: Descarga los archivos necesarios

  1. Usa el siguiente comando en la terminal de Cloud Shell para crear un directorio y recuperar las secuencias de comandos de Terraform necesarias desde el bucket de Cloud Storage:
mkdir sql-with-terraform cd sql-with-terraform gcloud storage cp gs://spls/gsp234/gsp234.zip .
  1. Ejecuta el siguiente comando para descomprimir el contenido descargado:
unzip gsp234.zip

Tarea 2: Examina el código

  1. Usa el comando cat para ver el contenido del archivo main.tf:
cat main.tf

Resultado de ejemplo:

... resource "google_sql_database_instance" "master" { name = "example-mysql-${random_id.name.hex}" project = var.project region = var.region database_version = var.database_version master_instance_name = var.master_instance_name settings { tier = var.tier activation_policy = var.activation_policy authorized_gae_applications = var.authorized_gae_applications disk_autoresize = var.disk_autoresize dynamic "backup_configuration" { for_each = [var.backup_configuration] content { binary_log_enabled = lookup(backup_configuration.value, "binary_log_enabled", null) enabled = lookup(backup_configuration.value, "enabled", null) start_time = lookup(backup_configuration.value, "start_time", null) } } dynamic "ip_configuration" { for_each = [var.ip_configuration] content { ipv4_enabled = lookup(ip_configuration.value, "ipv4_enabled", true) private_network = lookup(ip_configuration.value, "private_network", null) require_ssl = lookup(ip_configuration.value, "require_ssl", null) dynamic "authorized_networks" { for_each = lookup(ip_configuration.value, "authorized_networks", []) content { expiration_time = lookup(authorized_networks.value, "expiration_time", null) name = lookup(authorized_networks.value, "name", null) value = lookup(authorized_networks.value, "value", null) } } } } ...

A continuación, actualizarás el archivo variables.tf para usar el ID del proyecto y la región asignados a este lab.

  1. Haz clic en Abrir editor en Cloud Shell.
  2. Abre variables.tf y modifica las variables de proyecto y región a los valores que se muestran a continuación:
  • Proyecto:
  • Región:

Cuando termines, guarda los cambios.

Tarea 3: Ejecuta Terraform

El comando terraform init se utiliza para inicializar un directorio de trabajo que contiene los archivos de configuración de Terraform.

Este comando realiza varios pasos de inicialización diferentes con el fin de preparar un directorio de trabajo para su uso. No hay problema en ejecutarlo varias veces para que se actualice el directorio de trabajo con los cambios en la configuración.

  1. Ejecuta terraform init:
terraform init

El comando terraform plan es opcional (aunque se recomienda usarlo) y se utiliza para crear un plan de ejecución. Terraform realiza una actualización (salvo que esté explícitamente inhabilitada) y, luego, determina las acciones necesarias para lograr el estado deseado que se especifica en los archivos de configuración.

Este comando proporciona un modo conveniente de comprobar si un plan de ejecución de un conjunto de cambios coincide con tus expectativas sin que tengas que modificar el estado o los recursos reales. Por ejemplo, se podría ejecutar terraform plan antes de confirmar un cambio en el control de versiones para garantizar que se comportará según lo esperado.

  1. Ejecuta terraform plan:
terraform plan -out=tfplan

Se puede usar el argumento opcional -out para guardar el plan generado en un archivo y ejecutarlo más tarde con terraform apply.

El comando terraform apply se usa para aplicar los cambios requeridos para lograr el estado deseado de la configuración, o el conjunto de acciones predeterminadas que genera el comando terraform plan del plan de ejecución.

  1. Aplica el plan de Terraform que acabas de crear:
terraform apply tfplan

Este proceso tarda un poco en completarse. Luego, verás un resultado similar a este:

Resultado:

Apply complete! Resources: 5 added, 0 changed, 0 destroyed. The state of your infrastructure has been saved to the path below. This state is required to modify and destroy your infrastructure, so keep it safe. To inspect the complete state use the `terraform show` command. State path: terraform.tfstate Outputs: generated_user_password = instance_address = 35.232.204.44 instance_address_time_to_retire = instance_name = example-mysql-6808 self_link = https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/example-mysql-6808

Prueba la tarea completada

Haz clic en Revisar mi progreso para verificar la tarea realizada. Crear una instancia de Cloud SQL con la secuencia de comandos de Terraform

Tarea 4: Comprende el proxy de Cloud SQL

Qué proporciona el proxy

El proxy de Cloud SQL proporciona acceso seguro a tus instancias de Cloud SQL de segunda generación sin tener que incluir direcciones IP en la lista de IP permitidas ni configurar SSL.

Acceder a tu instancia de Cloud SQL con el proxy de Cloud SQL tiene las siguientes ventajas:

  • Conexiones seguras: El proxy encripta automáticamente el tráfico hacia y desde la base de datos usando TLS 1.2 con un algoritmo de cifrado AES de 128 bits. Se utilizan certificados SSL para verificar las identidades del cliente y del servidor.
  • Administración de conexión más sencilla: El proxy controla la autenticación con Cloud SQL, por lo que ya no es necesario proporcionar direcciones IP estáticas.
Nota: No necesitas usar el proxy ni configurar SSL para conectarte a Cloud SQL desde el entorno estándar o flexible de App Engine. Esas conexiones usan automáticamente una implementación "integrada" del proxy.

Cómo funciona el proxy de Cloud SQL

El proxy de Cloud SQL funciona con un cliente local, llamado proxy, que se ejecuta en el entorno local. La aplicación se comunica con el proxy a través del protocolo estándar que usa tu base de datos. El proxy usa un túnel seguro para comunicarse con el proceso complementario que se ejecuta en el servidor.

En el siguiente diagrama, se explica cómo el proxy se conecta con Cloud SQL:

Diagrama de conexión del proxy, que incluye el código de Cloud SQL y de terceros en la máquina cliente y de Cloud SQL.

Tarea 5: Instala el proxy de Cloud SQL

  1. Ejecuta lo siguiente para descargar el proxy:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
  1. Ejecuta el siguiente comando para hacer que el proxy sea ejecutable:
chmod +x cloud_sql_proxy

Puedes instalar el proxy en cualquier parte de tu entorno. La ubicación de los objetos binarios del proxy no influye en dónde escucha los datos de tu aplicación.

Opciones de inicio del proxy

Cuando inicias el proxy, le brindas la siguiente información:

  • Con qué instancias de Cloud SQL debe establecer conexiones
  • Dónde escuchará los datos provenientes de tu aplicación que se enviarán a Cloud SQL
  • Dónde encontrará las credenciales que usará para autenticar tu aplicación en Cloud SQL

Las opciones de inicio del proxy que proporciones determinarán si el proxy escuchará en un puerto TCP o en un socket Unix. Si lo haces en un socket Unix, crearás el socket en la ubicación que hayas seleccionado (por lo general, el directorio /cloudsql/). Si lo haces en un puerto TCP, el proxy escuchará en localhost de forma predeterminada.

Tarea 6: Prueba la conexión a la base de datos

  1. Comienza ejecutando el proxy de Cloud SQL para la instancia de Cloud SQL:
MYSQL_DB_NAME=$(terraform output -json | jq -r '.instance_name.value') MYSQL_CONN_NAME="{{{project_0.project_id | PROJECT_ID}}}:{{{project_0.default_region|REGION}}}:${MYSQL_DB_NAME}"
  1. Ejecuta el siguiente comando:
./cloud_sql_proxy -instances=${MYSQL_CONN_NAME}=tcp:3306

Ahora, haz clic en el ícono de signo más (+) para abrir otra pestaña de Cloud Shell. Usarás esta shell para conectarte al proxy de Cloud SQL.

  1. Ejecuta el siguiente comando para navegar al directorio sql-with-terraform:
cd ~/sql-with-terraform
  1. Obtén la contraseña generada para MySQL con lo siguiente:
echo MYSQL_PASSWORD=$(terraform output -json | jq -r '.generated_user_password.value')
  1. Ejecuta el siguiente comando para probar la conexión de MySQL:
mysql -udefault -p --host 127.0.0.1 default
  1. Cuando se te solicite, ingresa el valor de MYSQL_PASSWORD, que se encuentra en el resultado anterior, y presiona INTRO.

  2. Deberías ingresar a la línea de comandos de MySQL. Presiona Ctrl + D para salir de MySQL.

Si regresas a la primera pestaña de Cloud Shell, verás registros de las conexiones hacia el proxy de Cloud SQL.

Tarea 7: Pon a prueba tus conocimientos

A continuación, se presentan algunas preguntas de opción múltiple para reforzar tus conocimientos de los conceptos de este lab. Trata de responderlas lo mejor posible.

¡Felicitaciones!

En este lab, usaste Terraform para crear una instancia de Cloud SQL y configurar el proxy de Cloud SQL. Luego, probaste la conexión entre ambos con un cliente MySQL.

Próximos pasos y más información

Consulta cómo administrar proyectos de Google Cloud con Terraform

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 29 de agosto de 2025

Prueba más reciente del lab: 13 de octubre de 2025

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás 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

Podemos enviarte una notificación por correo electrónico cuando esté disponible

¡Genial!

Podemos comunicarnos 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.