Creé una instancia básica de prueba de PostgreSQL RDS en una VPC que tiene una única subred pública y que debería estar disponible para conectarse a través de Internet pública. Utiliza el grupo de seguridad predeterminado, que está abierto para el puerto 5432. Cuando intento conectar, falla. Debo estar perdiendo algo muy sencillo, pero estoy bastante perdido en esto.
Aquí están las configuraciones de la base de datos, tenga en cuenta que está marcado como Publicly Accessible
:
Aquí están las configuraciones del grupo de seguridad, tenga en cuenta que está abierto de par en par (afirmado en la configuración de RDS anterior por la pista verde "autorizada" al lado del punto final):
Aquí está el comando que estoy tratando de usar para conectarme:
psql --host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \
--port=5432
--username=masteruser
--password
--dbname=testdb
Y este es el resultado que obtengo cuando intento conectarme desde un MacBook Pro de Yosemite (nota, se está resolviendo en una dirección IP 54. *):
psql: could not connect to server: Operation timed out
Is the server running on host "myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com" (54.xxx.xxx.xxx) and accepting
TCP/IP connections on port 5432?
No tengo ningún tipo de firewall habilitado, y puedo conectarme a instancias públicas de PostgreSQL en otros proveedores (por ejemplo, Heroku).
Cualquier sugerencia de solución de problemas sería muy apreciada, ya que estoy bastante perdido aquí.
Actualizar
Por comentario, estas son las reglas de entrada de ACL para la VPC predeterminada:
fuente
Respuestas:
El problema era que la regla de entrada en el Grupo de seguridad especificaba un grupo de seguridad como fuente. Cambiarlo a un CIDR que incluyera mi dirección IP solucionó el problema.
fuente
Estaba enfrentando un problema similar, y así es como lo resolví:
Haga clic en el grupo de seguridad para la instancia de RDS y verifique las reglas de entrada. Puede ver algo como esto:
Debe configurar el rango de IP para que contenga su IP o simplemente seleccione "Anywhere" en el menú desplegable Source, para que sea accesible desde localhost o desde cualquier lugar:
fuente
Tuve un problema similar al conectarme a postgres. Aunque tuve acceso público verdadero, no pude conectarme.
Agregué una regla de entrada en el grupo de seguridad y ahora funciona perfectamente bien.
fuente
Solo quería agregar mis hallazgos para ahorrarle tiempo a alguien. Esta solución descrita anteriormente funcionó en una instancia dev ec2, pero después de migrar a un nuevo servidor dejó de funcionar. Resultó que tanto mi instancia RDS como la instancia EC2 estaban en la misma VPC, por lo que la instancia RDS no pudo ver la IP pública que había agregado a su grupo de seguridad. Para que esto funcione, debe agregar al grupo de seguridad de instancias de RDS, la ip privada de la instancia de EC2 que puede encontrar en detalles.
fuente
Después de crear mi instancia de Postgres, mi grupo de seguridad predeterminado (rds-launch-wizard) solo enumeró mi dirección IP, por lo que tuve que agregar un tipo de todo el tráfico y la fuente de cualquier lugar antes de poder conectarme. No soy un experto en redes, pero es extraño que no pueda conectarme con mi propia dirección IP como regla de entrada.
fuente