Configura el acceso a la instancia de Cloud SQL

En este documento, se proporcionan los pasos detallados para configurar el intercambio de tráfico entre nubes privadas virtuales, instalar un proxy de Cloud SQL y conectarse a una dirección IP interna de Cloud SQL en diferentes proyectos de Google Cloud . Esta configuración garantiza una comunicación eficiente y con mayor seguridad entre tu instancia de Cloud SQL y los siguientes conectores:

En este documento, también se explica cómo crear un adjunto de red en el proyecto del conector del Servicio de transferencia de datos de BigQuery.

Descripción general de la arquitectura

Para transferir datos de una instancia privada de Cloud SQL en un proyecto a BigQuery en otro proyecto, el Servicio de transferencia de datos de BigQuery requiere una red de conectores para unir la conectividad de la red privada.

El intercambio de tráfico entre redes de VPC solo admite la comunicación entre redes con intercambio de tráfico directo y no reenvía tráfico de otras conexiones. Por lo tanto, el tráfico que ingresa a una red de VPC a través de un adjunto de red de Private Service Connect no puede cruzar una conexión de intercambio de tráfico para llegar a una red de Cloud SQL con intercambio de tráfico. Para establecer esta conexión, una VM de Compute Engine en la red del conector ejecuta el proxy de autenticación de Cloud SQL. El proxy finaliza la conexión entrante del adjunto de red y establece una conexión autenticada a la instancia de Cloud SQL a través de la red interconectada.

En el siguiente diagrama, se ilustran los componentes de la red y la ruta de datos entre el Servicio de transferencia de datos de BigQuery y una instancia privada de Cloud SQL:

Arquitectura de red del Servicio de transferencia de datos de BigQuery a Cloud SQL.

Antes de comenzar

Asegúrate de tener lo siguiente:

  • Acceso a un Google Cloud proyecto con el conector del Servicio de transferencia de datos de BigQuery y otro Google Cloud proyecto con la instancia de Cloud SQL
  • Una base de datos MySQL o PostgreSQL existente en un proyecto Google Cloud
  • Los permisos adecuados para crear una VPC, crear reglas de firewall y, luego, instalar software
  • Una instancia de máquina virtual (VM)

Configura el intercambio de tráfico entre VPC

Para configurar el intercambio de tráfico de VPC, debes crear el intercambio de tráfico de VPC desde el proyecto del conector del Servicio de transferencia de datos de BigQuery, crear el intercambio de tráfico de VPC en el proyecto de la base de datos de Cloud SQL al proyecto del Servicio de transferencia de datos de BigQuery y configurar las rutas y las reglas de firewall.

Crea un intercambio de tráfico de VPC desde el proyecto del conector del Servicio de transferencia de datos de BigQuery

  1. En la consola de Google Cloud , ve a la página Intercambio de tráfico entre redes de VPC de tu proyecto de conector del Servicio de transferencia de datos de BigQuery.

    Ir a Intercambio de tráfico entre redes de VPC

  2. Haz clic en Crear conexión de intercambio de tráfico.

  3. En el campo Nombre, ingresa un nombre para la configuración de intercambio de tráfico.

  4. En Tu red de VPC, selecciona la red de VPC con la que deseas establecer una conexión de intercambio de tráfico en el proyecto del conector del Servicio de transferencia de datos de BigQuery.

  5. En Red de VPC con intercambio de tráfico, selecciona la opción En otro proyecto.

  6. En ID del proyecto, ingresa el ID del proyecto de Cloud SQL.

  7. En Nombre de la red de VPC, ingresa el nombre de la red de VPC en el proyecto de Cloud SQL.

  8. Haz clic en Crear.

Crea un intercambio de tráfico de VPC en el proyecto de la base de datos de Cloud SQL

Para crear un intercambio de tráfico de VPC en el proyecto de la base de datos de Cloud SQL al proyecto del Servicio de transferencia de datos de BigQuery, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Intercambio de tráfico entre redes de VPC de tu proyecto de conector del Servicio de transferencia de datos de BigQuery.

    Ir a Intercambio de tráfico entre redes de VPC

  2. Haz clic en Crear conexión de intercambio de tráfico.

  3. En el campo Nombre, ingresa un nombre para la configuración de intercambio de tráfico.

  4. Selecciona la red de VPC con la que deseas intercambiar tráfico en el proyecto de la base de datos de Cloud SQL.

  5. En ID del proyecto de par, ingresa el ID del proyecto del Servicio de transferencia de datos de BigQuery.

  6. En Red de VPC con intercambio de tráfico, ingresa el nombre de la red de VPC en el proyecto del conector del Servicio de transferencia de datos de BigQuery.

  7. Haz clic en Crear.

Configura rutas y reglas de firewall

Si no seleccionaste las rutas de importación y exportación cuando configuraste las conexiones de intercambio de tráfico anteriormente, sigue estos pasos para hacerlo ahora:

  1. Ve a la página Rutas de tu proyecto de conector del Servicio de transferencia de datos de BigQuery.

    Ir a Rutas

  2. Asegúrate de que existan las rutas para permitir el tráfico entre los entornos de VPC interconectados.

  3. Ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  4. Crea reglas de firewall para permitir el tráfico en los puertos necesarios (por ejemplo, el puerto 3306 para MySQL y el puerto 5432 para PostgreSQL) entre las redes con intercambio de tráfico.

  5. Agrega las reglas de firewall personalizadas que se requieren desde el proyecto del conector del Servicio de transferencia de datos de BigQuery al proyecto alojado en la base de datos de Cloud SQL.

  6. Configura rutas y reglas de firewall para tu proyecto con la instancia de Cloud SQL, como lo hiciste en los pasos anteriores.

Configura el proxy de Cloud SQL

  1. Usa SSH para conectarte a una instancia de máquina virtual (VM) en el proyecto del conector del Servicio de transferencia de datos de BigQuery.

  2. En la terminal, descarga el proxy de Cloud SQL:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  3. Actualiza los permisos de los archivos descargados:

    chmod +x cloud_sql_proxy
    
  4. Ejecuta el proxy de Cloud SQL:

    ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &
    

    Reemplaza NAME por el nombre de tu conexión de instancia de Cloud SQL.

Conéctate a la dirección IP interna de Cloud SQL

  1. Usa la dirección IP interna de la instancia de Cloud SQL para las conexiones.
  2. Configura tu aplicación o herramienta para que se conecte a la dirección IP interna y especifica las credenciales y los detalles de la base de datos adecuados.

Cuando te conectes desde un proyecto Google Cloud diferente, usa la dirección IP interna de la VM proxy que implementaste antes. Esta solución resuelve los problemas de peering transitivo.

Crea el adjunto de red

Para crear el adjunto de red en el proyecto del conector del Servicio de transferencia de datos de BigQuery, sigue estos pasos:

  1. En la consola de Google Cloud , ve a la página Adjuntos de red.

    Ir a adjuntos de red

  2. Haz clic en Crear archivo adjunto de red.

  3. Proporciona un nombre para el adjunto de red.

  4. Selecciona la red de VPC adecuada.

  5. En Región, especifica la región en la que se encuentra tu conector del Servicio de transferencia de datos de BigQuery.

  6. En Subred, selecciona la opción adecuada que coincida con tu configuración.

  7. Haz clic en Crear adjunto de red.

Prueba la conexión

  1. Verifica que la VM con el proxy de Cloud SQL pueda conectarse a la instancia de Cloud SQL:

    mysql -u USERNAME -p -h IP_ADDRESS
    

    Reemplaza lo siguiente:

    • USERNAME: El nombre de usuario del usuario de la base de datos
    • IP_ADDRESS: La dirección IP de la instancia de Cloud SQL
  2. Asegúrate de que las aplicaciones del proyecto del conector del Servicio de transferencia de datos de BigQuery puedan conectarse a la instancia de Cloud SQL con la IP interna.

Solucionar problemas

Si tienes problemas para configurar tu red, haz lo siguiente:

  • Asegúrate de que se haya establecido el intercambio de tráfico entre VPCs y de que las rutas estén configuradas correctamente.
  • Verifica que las reglas de firewall permitan el tráfico en los puertos requeridos.
  • Revisa los registros del proxy de Cloud SQL para detectar errores y asegúrate de que se ejecute correctamente.
  • Asegúrate de que el adjunto de red esté configurado y conectado correctamente.