arrow_back

Implementa Cloud SQL (AWS)

Acceder Unirse
Obtén acceso a más de 700 labs y cursos

Implementa Cloud SQL (AWS)

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Recientemente, te contrataron en una empresa de TI que usa Google Cloud como su principal proveedor de servicios en la nube. Como experto en bases de datos SQL, se te asigna la tarea de investigar y adoptar los servicios SQL que ofrece Google Cloud. Estos son algunos de los principales asuntos que se te asignan:

  • Implementación
  • Seguridad
  • Integración de apps
  • Métodos de conectividad

Dado que trabajaste con Amazon Web Services (AWS) en tu publicación anterior, sabes cómo configurar instancias del Servicio de bases de datos relacionales (RDS) para respaldar tus operaciones. Las instancias del RDS de AWS brindan capacidad rentable y redimensionable, al mismo tiempo que gestionan tareas de administración de bases de datos que consumen mucho tiempo.

En AWS, la forma en que te conectas a tu instancia de base de datos depende del entorno. Estos son algunos ejemplos:

  • Conexión a una instancia de base de datos en la misma VPC: configura reglas de grupo de seguridad de nube privada virtual (VPC) para restringir el acceso a las instancias de base de datos.
  • Conexión a una instancia de base de datos en una VPC diferente: configura una conexión de intercambio de tráfico entre la VPC donde reside la instancia de la base de datos y la VPC donde se encuentra el cliente.
  • Conexión a una instancia de base de datos a través de Internet pública: si previamente configuraste tu VPC y tu subred para que admitan este tipo de conexión, se necesita una puerta de enlace de Internet y reglas de grupo de seguridad.
  • Conexión a una instancia de base de datos a través de una conexión privada: para establecer una conexión privada entre tu VPC y un extremo de RDS de AWS, crea un extremo de VPC de interfaz con un AWS PrivateLink. Esto te permite conectarte a tus instancias del RDS de AWS sin una puerta de enlace de Internet, una puerta de enlace de traducción de direcciones de red (NAT) ni IP públicas.

Diagrama de AWS

Ahora explorarás cómo puedes usar las funciones de Cloud SQL para crear y conectar una base de datos adaptada a la seguridad a una aplicación.

Descripción general

En este lab, configurarás un servidor de Cloud SQL y aprenderás a conectarle una aplicación con un proxy a través de una conexión externa. Además, configurarás una conexión a través de un vínculo de IP privada que ofrece beneficios de rendimiento y seguridad. En este lab, la aplicación elegida para hacer la demostración es WordPress. No obstante, la información y las prácticas recomendadas sirven para cualquier aplicación que requiera SQL Server.

Al final de este lab, tendrás 2 instancias de trabajo del frontend de WordPress conectadas a través de 2 tipos de conexión diferentes a su backend de la instancia de SQL, como se muestra en este diagrama:

Diagrama del lab de SQL

Objetivos

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

  • Crear una base de datos de Cloud SQL
  • Configurar una máquina virtual para ejecutar un proxy
  • Crear una conexión entre una aplicación y Cloud SQL
  • Conectar una aplicación a Cloud SQL a través de una dirección IP privada

Configuración

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

  1. Accede a Qwiklabs desde 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 necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

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

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

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

Tarea 1. Crea una base de datos de Cloud SQL

En esta tarea, configurarás un servidor de SQL según las prácticas recomendadas de Google Cloud y crearás una conexión de IP privada.

  1. En el menú de navegación (Ícono del menú de navegación), haz clic en SQL.
  2. Haz clic en Crear instancia.
  3. Haz clic en Elegir MySQL.
  4. Especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:
Propiedad Valor
ID de instancia wordpress-db
Contraseña raíz Escribe una contraseña
Región
Zona Cualquiera
Versión de la base de datos MySQL 5.7
Nota: Anota la contraseña raíz; se utilizará en un paso posterior y se hará referencia a ella como [ROOT_PASSWORD].
  1. Expande Mostrar opciones de configuración.

  2. Expande la sección Tipo de máquina.

  3. Aprovisiona la cantidad correcta de CPU virtual y memoria. Para elegir un Tipo de máquina, haz clic en el menú desplegable y, luego, explora las opciones disponibles.

Nota: Estos son algunos puntos que deberías considerar:

  • Las máquinas con núcleo compartido son buenas para el prototipado y no están cubiertas por el ANS de Cloud.
  • Cada CPU virtual está sujeta a un límite de capacidad de procesamiento de red de 250 MB/s para un rendimiento máximo. Cada núcleo adicional aumenta el límite de la red, hasta un máximo teórico de 2,000 MB/s.
  • Para cargas de trabajo sensibles al rendimiento, como el procesamiento de transacciones en línea (OLTP), corrobora que tu instancia tenga suficiente memoria para contener todo el conjunto de trabajo y adaptarse a la cantidad de conexiones activas.
    1. En este lab, selecciona estándar en el menú desplegable y, luego, 1 CPU virtual, 3.75 GB.

    2. A continuación, expande la sección Almacenamiento y elige Tipo de almacenamiento y Capacidad de almacenamiento.

    Nota: Estos son algunos puntos que deberías considerar:

  • SSD (unidad de estado sólido) es la mejor opción para la mayoría de los casos de uso. HDD (unidad de disco duro) ofrece un rendimiento más bajo, pero los costos de almacenamiento se reducen significativamente, por lo que esta opción puede ser ideal para almacenar datos a los que se accede con poca frecuencia y que no requieren una latencia muy baja.
  • Existe una relación directa entre la capacidad de almacenamiento y la de procesamiento.
    1. Haz clic en cada una de las opciones de capacidad de almacenamiento para ver su impacto en la capacidad de procesamiento. Restablece la opción a 10 GB.
    Nota: Establecer una capacidad de almacenamiento demasiado baja sin permitir que se amplíe automáticamente puede generar que tu instancia pierda su ANS.
    1. Expande la sección Conexiones.

    2. Selecciona IP privada.

    3. En el menú desplegable Red, selecciona predeterminada.

    4. Haz clic en el botón Configurar conexión que aparece.

    5. En el panel de la derecha, haz clic en Habilitar API, Usar un rango de IP asignado automáticamente, Continuar y luego Crear conexión.

    6. Haz clic en Crear instancia en la parte inferior de la página para crear la instancia de la base de datos.

    Nota: Es posible que debas esperar a que se propaguen los cambios de la IP privada antes de que se pueda hacer clic en el botón Crear.

    Haz clic en Revisar mi progreso para verificar el objetivo. Crear una instancia de Cloud SQL

    Tarea 2: Configura un proxy en una máquina virtual

    Cuando tu aplicación no se encuentre en la misma región y red de VPC conectada que tu instancia de Cloud SQL, usa un proxy para proteger su conexión externa.

    Para configurar el proxy, necesitas el nombre de conexión de la instancia de Cloud SQL.

    Nota: El lab tiene 2 máquinas virtuales preconfiguradas con WordPress y sus dependencias. Para ver la secuencia de comandos de inicio y el acceso a la cuenta de servicio, haz clic en el nombre de una máquina virtual. Ten en cuenta que usamos el principio de privilegio mínimo y solo permitimos el acceso de SQL para esa VM. También hay una etiqueta de red y un firewall preconfigurados para permitir el puerto 80 desde cualquier host.
    1. En Menú de navegación (Ícono del menú de navegación), haz clic en Compute Engine.

    2. Haz clic en SSH junto a wordpress-proxy.

    3. Descarga el proxy de Cloud SQL y haz que sea ejecutable:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxy

    Para iniciar el proxy, necesitas el nombre de la conexión de la instancia de Cloud SQL. Mantén abierta tu ventana de SSH y regresa a la consola de Cloud.

    1. En el menú de navegación (Ícono del menú de navegación), haz clic en SQL.

    2. Haz clic en la instancia wordpress-db y espera hasta que aparezca una marca de verificación verde junto a su nombre, que indica que está operativa (esto podría tomar un par de minutos).

    3. Recuerda el Nombre de la conexión con la instancia; se utilizará más tarde y se hará referencia a él como [SQL_CONNECTION_NAME].

    4. Además, para que funcione la aplicación, debes crear una tabla. Haz clic en Bases de datos.

    5. Haz clic en Crear base de datos, escribe wordpress (que es el nombre que espera la aplicación) y, luego, haz clic en Crear.

    6. Regresa a la ventana de SSH y guarda el nombre de la conexión en una variable de entorno. Para ello, reemplaza [SQL_CONNECTION_NAME] por el nombre único que copiaste en un paso anterior:

    export SQL_CONNECTION=[SQL_CONNECTION_NAME]
    1. Para verificar que se haya configurado la variable de entorno, ejecuta el siguiente comando:
    echo $SQL_CONNECTION

    Se debería mostrar el nombre de la conexión.

    1. Para activar la conexión proxy a tu base de datos de Cloud SQL y enviar el proceso a un segundo plano, ejecuta el siguiente comando:
    ./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &

    El resultado esperado es el siguiente:

    Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME] Ready for new connections
    1. Presiona INTRO.
    Nota: El proxy escuchará en 127.0.0.1:3306 (localhost) y en el proxy que se conecta de forma segura a tu instancia de Cloud SQL a través de un túnel seguro usando la dirección IP externa de la máquina.

    Haz clic en Revisar mi progreso para verificar el objetivo. Crear una base de datos y configurar un proxy en una máquina virtual

    Tarea 3. Conecta una aplicación a la instancia de Cloud SQL

    En esta tarea, conectarás una aplicación de ejemplo a la instancia de Cloud SQL.

    1. Configura la aplicación WordPress. Para encontrar la dirección IP externa de tu máquina virtual, consulta sus metadatos:
    curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echo
    1. Ve a la dirección IP externa wordpress-europe-proxy en tu navegador y configura la aplicación WordPress.

    2. Haz clic en Comencemos.

    3. Especifica lo siguiente, reemplaza [ROOT_PASSWORD] por la contraseña que configuraste cuando creaste la máquina y deja la configuración restante con sus valores predeterminados:

    Propiedad Valor
    Nombre de usuario root
    Contraseña [ROOT_PASSWORD]
    Host de la base de datos 127.0.0.1
    Nota: Estás usando 127.0.0.1, localhost como la IP de la base de datos porque el proxy que iniciaste escucha en esta dirección y redirecciona ese tráfico a tu SQL Server de forma segura.
    1. Haz clic en Enviar.

    2. Cuando se realice una conexión, haz clic en Run the installation para crear una instancia de WordPress y la base de datos en tu instancia de Cloud SQL. Es posible que esto demore unos minutos en completarse.

    3. Propaga la información de tu sitio de demostración con información aleatoria y haz clic en Install WordPress. No tendrás que recordar ni usar estos detalles.

    Nota: La instalación de WordPress puede demorar hasta 3 minutos, ya que propaga todos los datos a tu SQL Server.
    1. Cuando se muestre la ventana Success!, quita el texto que aparece después de la dirección IP en la barra de direcciones de tu navegador web y presiona INTRO.
      Se te presentará un blog de WordPress en funcionamiento.

    Tarea 4. Conéctate a Cloud SQL a través de una IP interna

    Si puedes alojar tu aplicación en la misma región y red de VPC conectada que tu instancia de Cloud SQL, podrás aprovechar una configuración más segura y eficiente a través de una IP privada.

    Con una IP privada, aumentarás el rendimiento debido a la reducción de la latencia y la minimización de la superficie de ataque de tu instancia de Cloud SQL, porque puedes comunicarte con ella exclusivamente a través de IP internas.

    1. En la consola de Cloud, ve al menú de navegación (Ícono del menú de navegación) y haz clic en SQL.
    2. Haz clic en wordpress-db.
    3. Recuerda la dirección IP privada del servidor de Cloud SQL; se hará referencia a ella como [SQL_PRIVATE_IP].
    4. En el Menú de navegación, haz clic en Compute Engine.
    Nota: Observa que wordpress-private-ip se encuentra en us-central1, en la cual se ubica tu instancia de Cloud SQL, lo que te permite aprovechar una conexión más segura.
    1. Copia la dirección IP externa de wordpress-private-ip, pégala en una ventana del navegador y presiona INTRO.

    2. Haz clic en Comencemos.

    3. Especifica lo siguiente y deja los parámetros de configuración restantes con sus valores predeterminados:

    Propiedad Valor
    Nombre de usuario root
    Contraseña Escribe la [ROOT_PASSWORD] configurada cuando se creó la instancia de Cloud SQL
    Host de la base de datos [SQL_PRIVATE_IP]
    1. Haz clic en Enviar.
    Nota: Observa que esta vez estás creando una conexión directa a una IP privada, en lugar de configurar un proxy. Esa conexión es privada, lo que significa que no sale a Internet y, por lo tanto, es más segura y tiene un mejor rendimiento.
    1. Haz clic en Run the installation.
      Se mostrará la ventana Already Installed!, lo que significa que tu aplicación está conectada al servidor de Cloud SQL a través de la IP privada.

    2. En la barra de direcciones de tu navegador web, quita el texto que aparece después de la dirección IP y presiona INTRO.
      Se te presentará un blog de WordPress en funcionamiento.

    Tarea 5. Repaso

    En este lab, creaste una base de datos de Cloud SQL y la configuraste para usar una conexión externa a través de un proxy seguro y una dirección IP privada, lo cual es más seguro y eficiente. Recuerda que solo puedes conectarte a través de una IP privada si la aplicación y el servidor de Cloud SQL se encuentran en la misma región y son parte de la misma red de VPC. Si tu aplicación está alojada en otra región, otra VPC o incluso otro proyecto, usa un proxy para proteger su conexión a través de la conexión externa.

    Ahora que tienes una comprensión más profunda de la creación y configuración de una base de datos en Cloud SQL, veamos algunas de las similitudes y diferencias entre el RDS de AWS y Google Cloud SQL.

    Similitudes:

    • Tanto Google Cloud SQL como el RDS de AWS son servicios administrados y realizan las siguientes tareas para ti:

      • Actualizaciones de instancias
      • Instalación y aplicación de parches de software de bases de datos
      • Copias de seguridad
      • Conmutación por error
    • Tanto en Google Cloud SQL como en el RDS de AWS, las instancias de tu base de datos funcionan con máquinas virtuales que te permiten elegir el tipo, el tamaño y la capacidad de almacenamiento de tu instancia de acuerdo con tus necesidades específicas.

    • Ambos servicios te permiten establecer una conexión segura a las instancias de tu base de datos a través de un túnel seguro sin necesidad de una red autorizada o SSL. Para establecer esta conexión segura, puedes utilizar AWS PrivateLink en AWS. En Google Cloud, se utiliza Cloud SQL Auth Proxy.

    • Ambos servicios admiten los motores de servidor MySQL, PostgreSQL y SQL Server.

    Diferencias:

    • Además de los motores de servidor ya mencionados en las similitudes, el RDS de AWS también admite motores de servidor Oracle y MariaDB.
    • Ambos servicios te permiten establecer una conexión privada entre tu instancia de base de datos y tus otros recursos sin exponer el tráfico a la Internet pública ni crear una conexión NAT. Sin embargo, la forma de habilitar esta función en cada servicio presenta las siguientes diferencias:
      • En el RDS de AWS, creas un extremo de VPC de AWS PrivateLink y lo configuras como destino para tu instancia de base de datos.
      • En Google Cloud SQL, habilitas la función de IP privada en las opciones de configuración de tu instancia de base de datos.

    Finalice su lab

    Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

    Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

    La cantidad de estrellas indica lo siguiente:

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

    Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

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

    Copyright 2020 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

    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

    Usa una ventana de navegación privada o de Incógnito para ejecutar el 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.