Problem beim Einrichten der Elastic Beanstalk Instance - Verbindung zum Server konnte nicht hergestellt werden

8

Ich habe versucht, eine Website in AWS einzurichten, und nachdem ich eb init und eb create ausgeführt und meine Einstellungen ohne irgendwelche Probleme ausgewählt habe, lief der folgende Fehler:

  

FEHLER: [Instanz: i-f8e3c005 Modul: AWSSBAutoScalingGroup ConfigSet:   null] Der Befehl ist in der Instanz fehlgeschlagen. Rückkehrcode: 1 Ausgang:   (VERRUNKT) ... conn = _connect (dsn,   connection_factory = connection_factory, async = async)   django.db.utils.OperationalError: Verbindung zum Server konnte nicht hergestellt werden:   Verbindung verweigert Ist der Server auf dem Host "localhost" aktiv?   (127.0.0.1) und akzeptieren TCP / IP-Verbindungen an Port 5432?.

Ich bin mir nicht sicher, warum es sich weigert, eine Verbindung herzustellen, aber ich vermute, dass es etwas mit meinen Sicherheitseinstellungen zu tun hat. Ich weiß, das ist ein bisschen vage, aber hat jemand schon einmal mit diesem Problem zu tun gehabt und wie hast du es geschafft, es endlich zu lösen?

Die vollständige Ausgabe lautet wie folgt:

%Vor%

UPDATE: Code von eb-activity.log

%Vor%

UPDATE:

Nachdem ich Nicks Vorschlag versucht habe, habe ich den gleichen Fehler:

%Vor%     
114 08.05.2015, 00:32
quelle

2 Antworten

3

Kurzversion: Ihre Django-App versucht, sich mit einer lokalen db-Instanz zu verbinden. Verwenden Sie eine RDS-Instanz .

Sie können keine db-Instanz (wie PostgreSQL) lokal für einen Beanstalk-Knoten haben. Dies liegt daran, dass dies bei einer automatisch skalierten Anwendung mit Lastenausgleich nicht sinnvoll ist, bei der Knoten abhängig von Ihrer Dienstlast erstellt und zerstört werden (wodurch die lokale Datenbankinstanz zerstört wird).

Um dies zu beheben, müssen Sie eine AWS RDS-Instanz verwenden, die sich außerhalb der Autoscaling-Gruppe befindet und die persistent ist. Verwenden Sie in Ihren Einstellungen den Host , den Benutzernamen und das Passwort , die zum Erstellen der RDS-Instanz verwendet wurden. Denken Sie daran, die richtigen Ports in der Sicherheitsgruppe zu öffnen, die der RDS-Instanz zugewiesen ist (z. B. 5432 für PostgreSQL).

    
Sdra 19.05.2015, 14:11
quelle
1

Offenbar versucht Ihre Instanz, sich an Port 5342 mit sich selbst zu verbinden. Wenn Sie diese Funktionalität benötigen, können Sie den Port 5342 öffnen, damit er funktioniert.

Eine Möglichkeit, dies zu tun, ist mit .extenxtensions.

Erstellen Sie eine Datei in Ihrem Projektnamen .ebextensions/openport.config und fügen Sie folgendes ein:

%Vor%

(Datei bei Bedarf übernehmen) Dann versuchen Sie eb create .

    
Nick Humrich 11.05.2015 20:34
quelle