Bearbeiten:
Ich bin das gerade noch einmal durchgegangen und habe einen einfacheren Weg.
Wenn Sie versuchen, eine vorhandene RDS-Datenbank mit Django auf EC2 oder EB zu verwenden, müssen Sie die Sicherheitsgruppen anpassen und dann die richtigen Parameter abrufen und sie als Umgebungsvariablen (RDS_*) festlegen
1) RDS erstellen und diese abgleichen:
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) Stellen Sie diese beispielsweise mit eb setenv
ein
3) Gehen Sie zu Ihrer EC2/EB-Instanz und rufen Sie die Sicherheitsgruppe dafür ab, z. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf
4) Gehen Sie zum Panel für Ihre RDS-Instanz, scrollen Sie nach unten zu Sicherheitsgruppen und notieren Sie sich, welche Sicherheitsgruppe sie hat. z.B. rds-launch-wizard-1 (ab-sdjfalkajsdf39)
5) Wählen Sie die RDS-Sicherheitsgruppe aus und fügen Sie eine Eingangsregel mit dem Typ:PostgreSQL (oder welche Datenbank Sie auch verwenden) hinzu und verwenden Sie die EC2- oder EB-Instance, die Sie in Schritt 2 erhalten haben, als Quelle (awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf
). Protokoll und Portbereich sollten automatisch ausgefüllt werden.
6) Speichern
Das ist es.
Original:
Für alle, die über diese Frage stolpern:
Wenn Sie versuchen, eine vorhandene RDS-Datenbank mit Django auf EC2 oder EB zu verwenden, müssen Sie die Sicherheitsgruppen anpassen und dann die richtigen Parameter abrufen und sie als Umgebungsvariablen (RDS_*) festlegen
1) RDS erstellen und diese abgleichen:
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) Stellen Sie diese beispielsweise mit eb setenv
ein
3) Gehen Sie zu Ihrer EC2/EB-Instanz und rufen Sie die Sicherheitsgruppe dafür ab, z. awseb-z-afsafdsaf-stack-AWSEBSecurityGroup-asfdsadfasdf
und für den Load Balancer:awseb-e-adsfadsf-stack-AWSEBLoadBalancerSecurityGroup-asdfadsf
4) Gehen Sie zum Panel für Ihre RDS-Instanz, scrollen Sie nach unten zu Sicherheitsgruppen und notieren Sie sich, welche Sicherheitsgruppe sie hat. z.B. rds-launch-wizard-1 (ab-sdjfalkajsdf39)
5) Klicken Sie für die RDS-Instanz auf „Modifizieren“ und fügen Sie in der Einstellung „Sicherheitsgruppen“ in der Mitte die oben gefundene Load Balancer-Sicherheitsgruppe hinzu. Es sollte Vorschläge enthalten.
6) Gehen Sie zum EC2 Dashboard und wählen Sie Sicherheitsgruppen aus dem Menü auf der linken Seite.
7) Wählen Sie die Load Balancer-Sicherheitsgruppe aus und fügen Sie eine ausgehende Regel hinzu. Typ sollte Ihr RDS-Typ (PostgreSQL) sein und das Ziel sollte benutzerdefiniert und die Sicherheitsgruppe der RDS-Instanz sein. Speichern.
8) Machen Sie dasselbe für Inbound, verwenden Sie denselben RDS-Typ und dasselbe Ziel
9) Wählen Sie die RDS-Sicherheitsgruppe aus und fügen Sie eine Inbound-Regel hinzu, ähnlich wie 8, aber mit der EC2- oder EB-Instance, die Sie in Schritt 2 erhalten haben.
10) Speichern, fertig. Sie sollten jetzt zusammenarbeiten können.
Ich bin mir nicht 100% sicher, dass alle diese Schritte notwendig sind, ein oder zwei vielleicht nicht, aber das hat die Arbeit für mich erledigt.