PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

django não pode se conectar ao RDS postgresql


Editar:

Acabei de passar por isso novamente e tem uma maneira mais fácil.

Quando você está tentando usar um banco de dados RDS existente com Django no EC2 ou EB, você terá que ajustar os grupos de segurança e, em seguida, obter os parâmetros adequados e defini-los como variáveis ​​de ambiente (RDS_*)

1) Crie RDS e combine-os:
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) Defina aqueles usando, por exemplo, eb setenv

3) Vá para sua instância EC2/EB e obtenha o grupo de segurança para isso, por exemplo awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf

4) Vá para o painel da sua instância RDS, role para baixo até Security Groups e anote qual security group ela possui. por exemplo. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Selecione o grupo de segurança RDS e adicione uma regra de entrada com o tipo:PostgreSQL (ou qualquer db que você esteja usando) e usando a instância EC2 ou EB que você obteve na etapa 2 como fonte (awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf ). O protocolo e o intervalo de portas devem ser preenchidos automaticamente.

6) Salve

É isso.

Original:

Para quem se deparar com esta pergunta:

Quando você está tentando usar um banco de dados RDS existente com Django no EC2 ou EB, você terá que ajustar os grupos de segurança e, em seguida, obter os parâmetros adequados e defini-los como variáveis ​​de ambiente (RDS_*)

1) Crie RDS e combine-os:
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) Defina aqueles usando, por exemplo, eb setenv

3) Vá para sua instância EC2/EB e obtenha o grupo de segurança para isso, por exemplo awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf e para o balanceador de carga:awseb-e-adsfadsf-stack-AWSEBLoadBalancerSecurityGroup-asdfadsf

4) Vá para o painel da sua instância RDS, role para baixo até Security Groups e anote qual security group ela possui. por exemplo. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Clique em modificar para a instância do RDS e, na configuração Grupos de Segurança no meio, adicione o grupo de segurança do balanceador de carga que você encontrou acima. Deve ter sugestões.

6) Vá para o Painel do EC2 e escolha grupos de segurança no menu à esquerda.

7) Selecione o grupo de segurança do balanceador de carga e adicione uma regra de saída. O tipo deve ser o seu tipo de RDS (PostgreSQL) e o destino deve ser personalizado e o grupo de segurança da instância do RDS. Salvar.

8) Faça o mesmo para entrada, use o mesmo tipo e destino de RDS

9) Selecione o grupo de segurança RDS e adicione uma regra de entrada, semelhante a 8, mas usando a instância EC2 ou EB que você obteve na etapa 2.

10) Salve, pronto. Eles devem ser capazes de trabalhar juntos agora.

Não tenho 100% de certeza de que todas essas etapas são necessárias, uma ou duas podem não ser, mas isso fez o trabalho para mim.