es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conexión Peering VPC entre MongoDB Atlas y GCP Kubernetes Engine.

Seguí https://docs.atlas.mongodb.com/security-vpc-peering/ y creé una interconexión de VPC y verifiqué que esté activada en ambos lados (GCP y Atlas). Además, mi VPC nativa de GCP está habilitada.

CIDR de MongoDB: 192.168.0.0/16

Rango de IP de pods de GCP: 10.4.0.0/16

Agregué 10.4.0.0/16 a la lista blanca de Atlas e intenté conectarme a través de una cadena de conexión privada en uno de los pods:

mongo “mongodb+srv://id:pass0@dbname-pri.some.mongodb.net/dbname”

Sin embargo, devuelve un error:

*** No se pudo conectar a un clúster de MongoDB Atlas. Asegúrese de que su lista blanca de direcciones IP permita conexiones desde su red.
Error: No se pudo encontrar un host que coincida con la preferencia de lectura { mode: “nearest” }

La búsqueda de nombres (nslookup) en el pod al clúster de MongoDB muestra:

Servidor: 10.4.128.10
Dirección: 10.4.128.10#53

Nombre:   dbname-pri.some.mongodb.net
Dirección: 192.168.254.213

Acabo de agregar 0.0.0.0/0 a la lista blanca de Atlas, pero sigue devolviendo los mismos errores. Definitivamente no es un problema con la lista blanca.

¿Debo configurar un cortafuegos u otra cosa?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como sugiere el mensaje de error, el problema no está con la lista blanca. Parece que el pod no puede encontrar un host coincidente para la preferencia de lectura.

    Una posible solución a este problema sería verificar la configuración del firewall en ambos extremos: GCP y Atlas. Asegúrese de que los puertos necesarios estén abiertos para el tráfico entre los dos servicios.

    Otra solución sería verificar la configuración de DNS. Dado que el comando nslookup en el pod devuelve una dirección IP diferente a la mencionada en la cadena de conexión, es posible que la configuración de DNS no esté configurada correctamente.

    También vale la pena verificar si el formato de la cadena de conexión privada es correcto. La cadena de conexión debe tener el siguiente formato:

    mongodb://usuario:contraseña@host:puerto/nombreBaseDatos?ssl=true&replicaSet=miNombreReplicaSet&readPreference=nearest
    

    Asegúrese de que el nombre del host se resuelva correctamente y coincida con el que se encuentra en la cadena de conexión.

    Si ninguna de las soluciones anteriores funciona, puede ponerse en contacto con el equipo de soporte de GCP o Atlas para obtener más ayuda.

Comments are closed.