arrow_back

Cómo implementar Cloud SQL (Azure)

Acceder Unirse
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad y cursos

Cómo implementar Cloud SQL (Azure)

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
info This lab may incorporate AI tools to support your learning.
Pon a prueba tus conocimientos y compártelos con nuestra comunidad
done
Obtén acceso a más de 700 labs prácticos, insignias de habilidad 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. Estas son algunas de tus principales inquietudes:

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

Diagrama de Azure Puesto que estuviste trabajando con Azure en tus publicaciones anteriores, sabes cómo implementar SQL Server. El modelo de precios se basa en una cantidad personalizable de unidades de transacciones de bases de datos (DTU) categorizadas en varias opciones que se orientan a diferentes situaciones de uso.

En Azure usas lo siguiente:

  • Una implementación de proxy para garantizar una conexión segura a tu base de datos
  • Un balanceador de cargas HTTP para mantener la disponibilidad de bases de datos de tu aplicación

Puedes usar una variedad de métodos para conectar varias aplicaciones que implementaste anteriormente, incluidos los siguientes métodos:

  • Cadenas de conexión
  • Integración de servicios de apps web
  • Cloud SQL con direcciones IP privadas

Ahora explorarás cómo puedes usar las funciones de Cloud SQL para compilar 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 usando 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 la configuración restante 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 aquella correspondiente a 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 tu conexión externa.

    Para configurar el proxy, necesitas el nombre de la 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 el 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. Toma nota del Nombre de conexión de 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 muestra 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 Let's Go.

    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 utilizando 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 servidor de SQL 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 Instalar WordPress. No tendrás que recordar ni usar esos detalles.

    Nota: La instalación de WordPress puede demorar hasta 3 minutos, ya que propaga todos los datos a tu instancia de 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 usando una IP privada.

    Si usas una IP privada, aumentarás el rendimiento, porque disminuye la latencia y se minimiza 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. Toma nota de 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, donde 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 Let's Go.

    3. Especifica lo siguiente y deja la configuración restante 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 su 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. Revisa

    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, que es más segura 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, VPC o incluso otro proyecto, usa un proxy para proteger tu conexión a través de la conexión externa.

    Ahora que tienes un conocimiento más detallado de la creación y configuración de una base de datos en Cloud SQL, veamos algunas similitudes y diferencias entre Google Cloud SQL y Azure SQL.

    Similitudes:

    • Azure y Google Cloud administran la infraestructura de las bases de datos para incluir las instancias, copias de seguridad, actualizaciones y conmutaciones por error.
    • Cloud SQL y Azure SQL implementan un proxy para recibir conexiones externas a tu VPC de forma segura.
    • Cloud SQL y Azure SQL también crean una conexión usando una cadena de conexiones.
    • Los dos servicios pueden usar una IP interna para conectar una aplicación y una instancia de servidor de SQL directamente si se colocan dentro de la misma región y son parte de la misma red de VPC. Además, puedes mejorar la seguridad usando direcciones IP internas únicamente, ya que así no se aceptan conexiones públicas.

    Diferencias:

    • Las especificaciones para crear un SQL Server se conciben de manera distinta entre Google Cloud y Azure. En Azure, eliges entre categorías, DTU y almacenamiento definido. En Google Cloud, especificas directamente la cantidad necesaria de CPU y almacenamiento.
    • En Google Cloud tienes una autenticación de bases de datos integrada (usuario-contraseña) y puedes implementar el proxy de autenticación de Cloud SQL y las bibliotecas de conectores de Cloud SQL para ofrecer acceso basado en IAM. Mientras que en Azure, puedes usar políticas para definir cómo se admitirán las solicitudes. Puedes usar un método de redireccionamiento (de forma predeterminada) o una política de conexión a proxy para procesar la solicitud. También se admite la autenticación de Azure Active Directory.
    • En Google Cloud, te conectas a la instancia usando Cloud SQL con las siguientes dos opciones principales:
      • Proxy de autenticación de Cloud SQL: Consiste en un túnel seguro sin la necesidad de usar una red autorizada o SSL. La autenticación y autorización se realizan a través de Identity and Access Management (IAM) y OAuth 2.0.
      • IP privada: Es una conexión privada entre tu red de VPC y la red de VPC del productor de servicios de Google subyacente.

    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.

    This content is not currently available

    We will notify you via email, when it becomes available

    Great!

    We will contact you via email, if it becomes available