2017-07-11 1 views
-1

Ich bin sehr neu in AWS und versuche, meine Rails-App mit einer MySQL-Datenbank direkt auf einer AWS EC2-Instanz zu verbinden, nicht auf RDS (was es viel einfacher gemacht hätte Remote-Verbindung über RDS-Datenbankinstanz).Verbinden von MySQL auf der EC2-Instanz mit der Rails-App

Die MySQL-Datenbank wurde für das Scraping von einem ausgelagerten Entwickler eingerichtet, der RDS nicht kennt. Gibt es eine Möglichkeit für mich, eine RDS-Instanz zu erstellen, die sich die bereits vorhandene mySQL-Datenbank ansieht, oder auf die ich direkt von meiner Rails-App aus zugreifen kann? Ich benutze Heroku, um zu implementieren, wenn das einen Unterschied macht.

konnte ich ssh cli verwenden, um die EC2 ubuntu Instanz zugreifen, verbinden dann mysql danach:

ssh -i path/to/credentials/scrapy-aws-keypair.pem [email protected] und mysql -u root -p *****, die großen Werke. Allerdings, wenn ich die folgende

development_sec: adapter: mysql2 database: my_database encoding: utf8 username: root password: xxxxxxxx host: ec2-52-xx-xxx-xx.us-east-2.compute.amazonaws.com port: 3306

und versuchen zu conect versuchen, erhalte ich Can't connect to MySQL server on 'ec2-52-xx-xxx-xx.us-east-x.compute.amazonaws.com'

Irgendwelche Vorschläge sehr geschätzt würden. Vielen Dank.

Antwort

0

sollten Sie in der Lage sein, auf die EC2-Instanz verbinden und den Port der Verbindung zum MySQL-DB-Port (3306 Standard)

+0

ich die Frage aktualisiert gesetzt haben. Ja, ich habe versucht mich zu verbinden und habe einen Fehler bekommen. Es sieht so aus, als hätte MySQL ein paar Sicherheitseinstellungen, die eine Authentifizierung ohne ssh verhindern ... oder so etwas? –

+0

Überprüfen Sie, ob die Firewall die mysql-Verbindung nicht blockiert. Wenn das gut ist, könnte es sein, dass Sie Ihre keypair.pem-Datei nicht für die Verbindung verwenden. Ich weiß nicht, ob es möglich ist, diesen ssh-Schlüssel für mysql zu verwenden. Versuchen Sie, einen anderen ssh-Schlüssel auf Ihrem Server zu generieren und diesen für die mysql-Verbindung zu verwenden. Ihr Schlüssel auf Ihrem Computer befindet sich im Verzeichnis .ssh – Silencer310