sql >> Database >  >> RDS >> PostgreSQL

django kan geen verbinding maken met RDS postgresql

Bewerken:

Ik heb dit net nog een keer doorgenomen en heb een gemakkelijkere manier.

Wanneer u een bestaande RDS-database probeert te gebruiken met Django op EC2 of EB, moet u de beveiligingsgroepen aanpassen en vervolgens de juiste parameters verkrijgen en deze instellen als omgevingsvariabelen (RDS_*)

1) Creëer RDS en match deze:

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) Stel die in met bijvoorbeeld eb setenv

3) Ga naar uw EC2/EB-instantie en haal de beveiligingsgroep daarvoor op, b.v. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf

4) Ga naar het paneel voor uw RDS-instantie, scrol omlaag naar Beveiligingsgroepen en noteer welke beveiligingsgroep deze heeft. bijv. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Selecteer de RDS-beveiligingsgroep en voeg een inkomende regel toe met het type:PostgreSQL (of welke db u ook gebruikt), en gebruik de EC2- of EB-instantie die u in stap 2 hebt gekregen als bron (awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf ). Protocol en poortbereik moeten automatisch worden ingevuld.

6) Sla het op

Dat is het.

Origineel:

Voor iedereen die deze vraag tegenkomt:

Wanneer u een bestaande RDS-database probeert te gebruiken met Django op EC2 of EB, moet u de beveiligingsgroepen aanpassen en vervolgens de juiste parameters verkrijgen en deze instellen als omgevingsvariabelen (RDS_*)

1) Creëer RDS en match deze:

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) Stel die in met bijvoorbeeld eb setenv

3) Ga naar uw EC2/EB-instantie en haal de beveiligingsgroep daarvoor op, b.v. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf en voor de load balancer:awseb-e-adsfadsf-stack-AWSEBLoadBalancerSecurityGroup-asdfadsf

4) Ga naar het paneel voor uw RDS-instantie, scrol omlaag naar Beveiligingsgroepen en noteer welke beveiligingsgroep deze heeft. bijv. rds-launch-wizard-1 (ab-sdjfalkajsdf39)

5) Klik op wijzigen voor het RDS-exemplaar en voeg in de instelling Beveiligingsgroepen in het midden de load balancer-beveiligingsgroep toe die u hierboven hebt gevonden. Het zou suggesties moeten hebben.

6) Ga naar het EC2-dashboard en kies beveiligingsgroepen in het menu aan de linkerkant.

7) Selecteer de load balancer-beveiligingsgroep en voeg een regel voor uitgaand verkeer toe. Type moet uw RDS-type (PostgreSQL) zijn en de bestemming moet aangepast zijn en de beveiligingsgroep van de RDS-instantie. Opslaan.

8) Doe hetzelfde voor Inkomend, gebruik hetzelfde RDS-type en dezelfde bestemming

9) Selecteer de RDS-beveiligingsgroep en voeg een inkomende regel toe, vergelijkbaar met 8, maar met de EC2- of EB-instantie die u in stap 2 hebt gekregen.

10) Opslaan, je bent klaar. Ze zouden nu moeten kunnen samenwerken.

Ik ben er niet 100% zeker van dat al deze stappen nodig zijn, een of twee misschien niet, maar dit heeft de klus voor mij geklaard.




  1. lees eerst 1kb van een blob van orakel

  2. postgresql - krijg telling op waardebereiken

  3. Unaccent gebruiken met SearchVector en SearchQuery in Django

  4. Database importeren/exporteren met SQL Server Server Management Studio