Ich bin ziemlich neu in Elastic Beanstalk und nicht sehr kompetent in der Serververwaltung, aber ich muss ein Django-Projekt auf Elastic Beanstalk einrichten, das eine Verbindung zur externen RDS-MySQL-Datenbank herstellt.
Ich habe eine separate RDS-MySQL-Datenbank erstellt und kann sie ohne Probleme mit Sequel Pro auf meinem Computer verbinden. Dann habe ich mein Django-Projekt, das ich auf Elastic Beanstalk setzen möchte, aber leider ohne Glück. Wenn ich den lokalen Django-Server von meinem Computer aus starte, ist das Projekt durchsuchbar und Amazon RDS MySQL ist zugänglich. Wenn ich jedoch
ausführe %Vor%Ich bekomme
%Vor%Wenn ich mich über SSH beim EC2-Server anmelde
%Vor%und überprüfen Sie dann die offenen Ports mit
%Vor%Ich sehe den Port 3306 von MySQL dort nicht, also denke ich, dass er von der Firewall blockiert wird.
Das habe ich in Bezug auf Berechtigungen versucht:
Dann habe ich versucht, Server neu zu implementieren, neu zu starten und sogar die Umgebung neu zu erstellen, aber nichts half. Der MySQL-Port 3306 ist in den EC2-Instanzen, die von Elastic Beanstalk erstellt wurden, immer noch nicht geöffnet.
Was mache ich falsch oder was fehlt?
Der MySQL-Port 3306 wird nur bei der RDS-Instanz (nicht in Ihrer EC2-Instanz) geöffnet. Wenn Sie also Ihre EC2-Instanz überprüfen, sollte sie den Port 3306 nicht abhören.
Dinge, die Sie tun können, um RDS zu überprüfen funktioniert:
eb ssh
) und führen Sie telnet myapp-staging.xxx.eu-west-1.rds.amazonaws.com 3306
aus. Möglicherweise müssen Sie telnet
first ( yum install telnet
). iptables
nicht abgelehnt hat. Tags und Links permissions amazon-web-services amazon-rds elastic-beanstalk