Elegir cómo conectarse a Cloud SQL

En esta página se ofrece una descripción general de las formas en las que puedes conectarte a tu instancia de Cloud SQL.

Antes de conectarte a una instancia de Cloud SQL, debes decidir cómo implementar y configurar tu instancia de Cloud SQL y los recursos de red correspondientes. Si tu instancia de Cloud SQL ya está configurada y desplegada, esta página puede ayudarte a entender las diferentes formas en las que puedes conectar tus clientes a la instancia.

Tipo de dirección IP: privada o pública

Cuando creas tu instancia de Cloud SQL por primera vez, puedes elegir si quieres configurarla con una dirección IP pública, una dirección IP privada o una combinación de ambas.

Puedes elegir la configuración de la dirección IP de tu instancia en función de los requisitos de tu aplicación. Después de configurar la instancia, especifica una dirección IP pública, una dirección IP privada o, en algunos casos, un nombre de DNS en la cadena de conexión del cliente.

Dirección IP privada Dirección IP pública
Descripción Dirección IP interna, solo de red de nube privada virtual (VPC) (privada) Una dirección IP externa accesible a través de Internet (pública)
Puntos de decisión

¿Necesitas conectarte desde clientes alojados en redes VPC dentro de Google Cloud o desde clientes que tengan acceso a esas redes VPC?

Si es así, elige una dirección IP privada para la instancia.

¿Necesitas conectarte desde clientes que no están en la red VPC a través de la red de Internet pública? Google Cloud

Si es así, elige una dirección IP pública para la instancia.

Opciones de configuración

Se admiten los siguientes tipos de configuraciones de redes privadas:

Cuando te conectas directamente a una instancia mediante una dirección IP pública, debes configurar las redes autorizadas.

Otra alternativa más segura para conectarse a una instancia de Cloud SQL que usa una IP pública es usar un conector de Cloud SQL (como el proxy de autenticación de Cloud SQL o uno de los conectores de lenguaje de Cloud SQL).

Para obtener instrucciones sobre cómo añadir una IP pública a tu instancia, consulta Configurar una IP pública.

Para conectarte a una instancia de Cloud SQL mediante una dirección IP pública, puedes usar el cliente mysql u otro cliente disponible.

Resumen

Recomendación: Para mejorar la seguridad, te recomendamos que configures tu instancia con un tipo de dirección IP privada, a menos que tengas requisitos específicos para una instancia de Cloud SQL accesible a través de Internet o que te conectes desde un cliente que no cumpla los requisitos de una VPC.

Tipo de conexión: conector de Cloud SQL o directa

Cuando te conectas a una instancia de Cloud SQL, puedes usar un conector de Cloud SQL o establecer una conexión directa.

Un conector de Cloud SQL es el proxy de autenticación de Cloud SQL o uno de los conectores de lenguaje de Cloud SQL.

Conector de Cloud SQL Conexión directa
Descripción El proxy de autenticación de Cloud SQL, un proxy del lado del cliente, y los conectores de lenguaje de Cloud SQL, bibliotecas del lado del cliente, proporcionan un acceso simplificado y seguro a tus instancias de Cloud SQL, especialmente cuando te conectas a una instancia mediante una dirección IP pública. Una conexión directa de un cliente a una instancia de Cloud SQL proporciona una conexión con menor latencia. Se puede establecer una conexión directa desde una dirección IP pública o privada.
Puntos de decisión

Los conectores de Cloud SQL son útiles en los siguientes casos:

  • Cuando quieras conectarte a una instancia de Cloud SQL mediante una dirección IP pública sin tener que configurar redes autorizadas.
  • Cuando quieras cifrar automáticamente el tráfico hacia y desde la base de datos con verificación de identidad del servidor y del cliente sin tener que gestionar certificados SSL.
  • Cuando usas la autenticación de bases de datos de gestión de identidades y accesos y quieres actualizar automáticamente tus tokens de acceso de OAuth 2.0.
  • Cuando te conectas desde un cliente o una aplicación que usa una dirección IP efímera o asignada dinámicamente. La configuración de IP dinámica puede ser habitual en las aplicaciones de plataforma como servicio (PaaS).

Usar una conexión directa ofrece las siguientes ventajas:

  • Latencia más baja en comparación con las conexiones que usan conectores de Cloud SQL.
  • No hay dependencias de paquetes ni bibliotecas adicionales, a diferencia de los conectores de Cloud SQL.
  • Si usas una conexión directa, eres responsable de configurar los ajustes de SSL/TLS.
Opciones de configuración

Para configurar certificados SSL/TLS en la instancia de Cloud SQL y en tu cliente, haz lo siguiente:

  1. Elige un modo de AC de servidor para tu instancia.
  2. Configure su instancia para implementar obligatoriamente el cifrado SSL/TLS para las conexiones de la instancia.
  3. Crea certificados de cliente.
  4. Descarga los certificados de servidor y de cliente.
Resumen

Cuando te conectas a una instancia de Cloud SQL, puedes usar un conector de Cloud SQL o conectarte directamente desde los clientes.

Recomendación general: Si te conectas a una instancia mediante una dirección IP privada, usa una conexión directa. También te recomendamos que implementes obligatoriamente el protocolo SSL y que configures certificados SSL/TLS para tu conexión.

Si te conectas a una instancia mediante una dirección IP pública, usa un conector de Cloud SQL (el proxy de autenticación de Cloud SQL o uno de los conectores de lenguaje de Cloud SQL).

Tipo de autenticación de base de datos: gestión de identidades y accesos o integrada

Cuando te conectas a una instancia, debes autenticarte como usuario de la base de datos. Puedes elegir entre la autenticación integrada o la autenticación de bases de datos de gestión de identidades y accesos.

Autenticación de bases de datos de gestión de identidades y accesos Autenticación integrada
Descripción La autenticación de bases de datos de gestión de identidades y accesos te permite autenticarte en bases de datos con Google Cloud cuentas de usuario y de servicio de gestión de identidades y accesos Google Cloud mediante tokens de acceso de corta duración en lugar de contraseñas. Puedes gestionar los privilegios de la base de datos mediante entidades principales de IAM, como usuarios, cuentas de servicio y grupos. La autenticación integrada usa nombres de usuario y contraseñas locales de la base de datos para autenticar a los usuarios de la base de datos.
Puntos de decisión ¿Prefieres centralizar la gestión de usuarios en los servicios de Google Cloud con IAM en Google Cloud? Si es así, usa la autenticación de bases de datos de gestión de identidades y accesos. ¿Tienes aplicaciones o flujos de trabajo que dependan de la autenticación de bases de datos integrada? Si es así, usa la autenticación integrada.
Opciones de configuración

Puedes usar la autenticación de bases de datos de gestión de identidades y accesos para usuarios de gestión de identidades y accesos, cuentas de servicio y grupos concretos. Para obtener más información, consulta el artículo Gestionar usuarios con la autenticación de bases de datos de gestión de identidades y accesos .

Si usas un conector de Cloud SQL, el conector se encarga de actualizar automáticamente los tokens de acceso de IAM. Para obtener más información, consulta el artículo sobre la autenticación automática de bases de datos de gestión de identidades y accesos.

Puedes usar la autenticación de base de datos integrada y configurar políticas de contraseñas a nivel de instancia y de usuario. Para obtener más información, consulta Autenticación integrada.
Resumen Recomendación: A menos que tengas aplicaciones o flujos de trabajo que dependan de la autenticación de bases de datos integrada, usa la autenticación de bases de datos de gestión de identidades y accesos siempre que sea posible.

Opciones de redes privadas al usar una dirección IP privada

Cuando configuras tu instancia para que use una dirección IP privada, puedes elegir entre las siguientes opciones de redes privadas: acceso a servicios privados, Private Service Connect o ambas.

Funciones compatibles

En la siguiente tabla se enumeran las funciones que admite Cloud SQL cuando te conectas a una instancia configurada con una o ambas opciones de red privada.

Función Instancia con acceso privado a servicios únicamente Instancia solo con Private Service Connect Instancia con acceso privado a servicios y Private Service Connect
Conectarse desde varias VPCs No es compatible. Compatible. Se admite mediante el uso del endpoint de Private Service Connect.
Réplicas externas Compatible. No es compatible. Se admite mediante la conectividad saliente para el acceso a servicios privados.
Endpoint de escritura Compatible. No es compatible. Se admite el acceso privado a servicios.
Cambiar la red de VPC asociada para acceder a servicios privados Compatible. No aplicable No se admite el acceso a servicios privados porque la instancia tiene habilitado Private Service Connect. No se aplica a Private Service Connect.
Visibilidad de la dirección IP del cliente en Cloud SQL Compatible. No es compatible. Se admite mediante la dirección IP de acceso a servicios privados. No se admite mediante el endpoint de Private Service Connect.

Quitar opciones de red de una instancia

Cloud SQL permite eliminar las siguientes opciones de red de una instancia:

  • IP pública de una instancia con acceso a servicios privados e IP pública
  • IP pública de una instancia con IP pública, acceso a servicios privados y Private Service Connect
  • Private Service Connect desde una instancia con acceso a Private Service Connect y a servicios privados
  • Private Service Connect desde una instancia con Private Service Connect, acceso a servicios privados e IP pública

Habilitar las opciones de red de una instancia

Cloud SQL permite habilitar las siguientes opciones de conexión para las instancias:

  • Acceso a servicios privados en una instancia con solo IP pública
  • Private Service Connect en una instancia con acceso solo a servicios privados
  • Private Service Connect en una instancia con acceso a servicios privados e IP pública
  • IP pública en una instancia con acceso a servicios privados únicamente

Limitaciones

  • No puedes crear una instancia con una dirección IP pública y Private Service Connect.
  • No puedes quitar el acceso a servicios privados de una instancia que tenga acceso a servicios privados y Private Service Connect.
  • No puedes quitar el acceso a servicios privados de una instancia que tenga acceso a servicios privados y una IP pública.
  • Si tienes una instancia que solo usa una IP pública, no puedes habilitar el acceso a servicios privados y Private Service Connect al mismo tiempo. Primero, habilita el acceso privado a servicios y, después, Private Service Connect.
  • No puedes usar redes autorizadas para crear listas de permitidos basadas en direcciones IP para instancias de Private Service Connect.

Herramientas para conectarse a Cloud SQL

En la siguiente tabla se muestran algunas opciones para conectarse a Cloud SQL:

Opción de conexión Más información
Proxy de autenticación de Cloud SQL
CLI de gcloud
Conectores de lenguaje de Cloud SQL
Cloud Shell
Apps Script
Cloud Code
Conectarse mediante herramientas de administración de bases de datos de terceros
MySQL Workbench
Toad for MySQL
SQuirrel SQL
phpMyAdmin

Solucionar problemas

Si tienes problemas para conectarte, consulta las siguientes páginas para obtener ayuda para depurar o encontrar soluciones a problemas conocidos:

Siguientes pasos