Muchos equipos creen que la IP privada de Cloud SQL solo funciona desde dentro de la VPC, y la creencia perdura porque el fallo parece un problema de base de datos. Google documenta el acceso desde redes conectadas mediante Cloud VPN o Cloud Interconnect. Esas redes no necesitan una función especial de base de datos, sino dos intercambios de rutas fáciles de dejar a medio configurar. El túnel se levanta, las instancias de compute responden y la conexión a la base de datos expira, que es exactamente la combinación que manda a la gente a la consola equivocada.

Mito: IP privada significa privada para la VPC

El acceso a servicios privados es un emparejamiento de VPC entre su red y una red de productor propiedad de Google. El rango asignado al servicio vive del lado del productor, y la dirección de la instancia está dentro de él. Ese emparejamiento es la razón por la que una base de datos de su proyecto puede ocupar una dirección a la que su VPC enruta sin que ninguna subred explícita suya la contenga.

Como es un emparejamiento, también tiene comportamiento de emparejamiento, incluida la parte en la que las rutas personalizadas no cruzan automáticamente.

Mito: un túnel que funciona lleva consigo la ruta de la base de datos

Dos rangos tienen que sobrevivir al trayecto. El primero es el prefijo de cliente: su red local debe ser conocida por el Cloud Router con prefijos concretos, porque una ruta por defecto no puede aportar la importación que la red del productor necesita para el camino de vuelta. El segundo es el rango de servicio asignado, que el lado externo debe aprender para que sus paquetes hacia la base de datos tengan adónde ir. Son rutas distintas mantenidas en fronteras distintas, y arreglar una deja la otra rota.

Del lado de Google, eso significa habilitar Export custom routes en las conexiones de emparejamiento pertinentes y añadir el rango de servicio asignado a las rutas anunciadas del Cloud Router para el túnel.

Conserve los anuncios que ya están ahí. Añadir el rango de servicio no debe eliminar las rutas de VPC que la misma sesión BGP transporta para otro tráfico, y un conjunto de anuncios reemplazado por completo es una segunda caída escondida detrás de la primera. Revise también las rutas efectivas en el dispositivo externo, porque poder alcanzar la puerta de enlace VPN u otra subred solo demuestra transporte.

Mito: el Cloud SQL Auth Proxy resuelve la red

The Auth Proxy proporciona autenticación compatible y transporte cifrado entre su aplicación y la instancia. No crea una ruta. Un proxy iniciado en un host sin camino a la red privada fallará igual que fallaría una conexión directa, y sus registros serán menos útiles sobre el porqué. Mover el proxy a un host que sí tiene conectividad cambia qué tramo del camino tiene que funcionar, y eso es una decisión de diseño real y no un apaño.

Lo que no hace es permitir que un portátil desconectado llegue a una instancia solo privada.

Mito: Private Service Connect sigue las mismas reglas

Private Service Connect usa un endpoint en su propia subred y un arreglo de DNS que usted controla, así que la ruta hacia él es una ruta ordinaria a una dirección que usted posee. Los ajustes de exportación de emparejamiento no se aplican a ese diseño, y copiar cambios de emparejamiento en un despliegue de PSC añade riesgo sin añadir alcance.

Ambos le dan una dirección privada; el parecido termina ahí.

Pruebe el camino en el orden correcto

Desde el cliente externo, pruebe primero el endpoint TCP de la base de datos. Un apretón de manos TCP completado significa que enrutamiento, cortafuegos y listener están todos en su sitio, y la siguiente prueba es una operación autenticada permitida. Un rechazo de autenticación es en ese momento una buena noticia, porque demuestra que un listener de la base de datos respondió. Un tiempo de espera de ICMP no dice casi nada sobre el acceso a la base de datos, porque muchas rutas lo descartan mientras reenvían TCP sin problema.

Si sus rangos de cliente están fuera de RFC 1918, revise los requisitos adicionales de exportación de rutas y autorización de red antes de concluir que el diseño no está soportado.

Anote cuatro objetos con la conexión: el prefijo externo, el rango de servicio asignado, las conexiones de emparejamiento implicadas y el enrutador que hace el anuncio. Esos cuatro explican todo el camino privado y sustituyen la leyenda de que Cloud SQL o siempre necesita un proxy o no se puede alcanzar por VPN en absoluto.

Artículos relacionados