sql >> Base de Datos >  >> RDS >> PostgreSQL

Django no puede conectarse a RDS postgresql

Editar:

Repasé esto de nuevo y obtuve una forma más fácil.

Cuando intente utilizar una base de datos RDS existente con Django en EC2 o EB, deberá ajustar los grupos de seguridad y luego obtener los parámetros adecuados y configurarlos como variables de entorno (RDS_*)

1) Cree RDS y haga coincidir estos:

Environment variables - RDS console label

RDS_HOSTNAME - Endpoint (this is the hostname)
RDS_PORT - Port
RDS_DB_NAME –  DB Name
RDS_USERNAME –  Username
RDS_PASSWORD – Password you set for your DB

2) Configúrelos usando, por ejemplo, eb setenv

3) Vaya a su instancia EC2/EB y obtenga el grupo de seguridad para eso, p. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf

4) Vaya al panel de su instancia de RDS, desplácese hacia abajo hasta Grupos de seguridad y tome nota de qué grupo de seguridad tiene. p.ej. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Seleccione el grupo de seguridad RDS y agregue una regla de entrada con el tipo:PostgreSQL (o cualquier base de datos que esté usando), y use la instancia EC2 o EB que obtuvo en el paso 2 como fuente (awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf ). El protocolo y el rango de puertos deben completarse automáticamente.

6) Guárdalo

Eso es todo.

Originales:

Para cualquiera que se tope con esta pregunta:

Cuando intente utilizar una base de datos RDS existente con Django en EC2 o EB, deberá ajustar los grupos de seguridad y luego obtener los parámetros adecuados y configurarlos como variables de entorno (RDS_*)

1) Cree RDS y haga coincidir estos:

Environment variables - RDS console label

RDS_HOSTNAME - Endpoint (this is the hostname)
RDS_PORT - Port
RDS_DB_NAME –  DB Name
RDS_USERNAME –  Username
RDS_PASSWORD – Password you set for your DB

2) Configúrelos usando, por ejemplo, eb setenv

3) Vaya a su instancia EC2/EB y obtenga el grupo de seguridad para eso, p. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf y para el balanceador de carga:awseb-e-adsfadsf-stack-AWSEBLoadBalancerSecurityGroup-asdfadsf

4) Vaya al panel de su instancia de RDS, desplácese hacia abajo hasta Grupos de seguridad y tome nota de qué grupo de seguridad tiene. p.ej. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Haga clic en modificar para la instancia de RDS y, en la configuración de Grupos de seguridad en el medio, agregue el grupo de seguridad del equilibrador de carga que encontró arriba. Debería tener sugerencias.

6) Vaya al panel de EC2 y elija grupos de seguridad en el menú de la izquierda.

7) Seleccione el grupo de seguridad del equilibrador de carga y agregue una regla de salida. El tipo debe ser su tipo de RDS (PostgreSQL) y el destino debe ser personalizado y el grupo de seguridad de la instancia de RDS. Guardar.

8) Haga lo mismo para Entrante, use el mismo tipo de RDS y Destino

9) Seleccione el grupo de seguridad RDS y agregue una regla de entrada, similar a la 8, pero usando la instancia EC2 o EB que obtuvo en el paso 2.

10) Guardar, ya está. Deberían poder trabajar juntos ahora.

No estoy 100% seguro de que todos estos pasos sean necesarios, uno o dos pueden no serlo, pero esto hizo el trabajo por mí.