4

Wir mehr EC2-Classic-Server (Linux Ubuntu) mit folgenden Konfiguration verwenden: montiert EBS-Datenträger und auf sie läuft Server-Version: 5.5.48-MariaDBAWS DMS Ausgabe mit Quellendpunkt in EC2-classic

I möchte AWS DMS (AWS Datenbankmigrationsdienst) verwenden und unsere EBS DBs in der neuen VPC in die RDS AuroraDB migrieren. Ich habe VPC, AuroraDB (nicht öffentlich zugänglich), AWS DMS Replikationsinstanz und Endpunkte erstellt.

Von EC2-Instanz klassische ich in der Lage bin Remote AuroraDB Konsole (dank Classic Link) zu öffnen, die in der VPC ist. Zielendpunkt (zum AuroraDB) funktioniert OK und wurde TEST erfolgreich beendet

Quelle Endpoint zeigen mir Fehler folgende:

Operation:testEndpointDetails:[errType=ERROR_RESPONSE, 
status=122502, errMessage=Cannot connect to ODBC provider 122502 ODBC general error., 
errDetails= RetCode: SQL_ERROR SqlState: HY000 NativeError: 2003 Message: unixODBCMySQL http://ODBC 5.3(w) 
DriverCan't connect to MySQL server on 'Private.DNS.name' (110) http://122502] ODBC general error. 

Ich habe versucht, wie Server Name Private/Public DNS zu setzen und Private/Public IP, immer noch gleich.

Anmeldeinformationen sind OK, und ich verwende keine Sonderzeichen. Ich bin in der Region Nord-Virginia tätig. Die AWS-DMS-Replikationsinstanz wird als "Öffentlich" festgelegt. Ich kann mich von der entfernten EC2-classic-Instanz in die MariaDB-Konsole einloggen.

Ich habe versucht, Port 3306 und Private/Public IP der AWS DMS Replikationsinstanz in richtige Sicherheitsgruppen zu setzen, aber ich denke, dass ich noch etwas vermisse, wahrscheinlich im SG-Bereich, aber ich bin mir nicht sicher.

Antwort

9

Ich hatte das gleiche Problem mit der gleichen Fehlermeldung und es war ein Netzwerkproblem. Meine Replikationsinstanz hatte keinen Zugriff auf die Datenbank.

Meine Datenbank ist in einer VPC mit einem Subnetz x und meine Replikationsinstanz ist in der gleichen VPC mit dem gleichen Subnetz x. Ich öffnete den Port 3306 in meiner Netzwerk-ACL und in der Sicherheitsgruppe der Datenbank zum Internet (0.0.0.0/0) nur, um zu prüfen, ob es ein Netzwerkproblem war. Der Verbindungstest hat mit diesen Einstellungen funktioniert. Nach dem Test habe ich die letzte Einstellung aus Sicherheitsgründen entfernt.

Die Lösung für mein Problem war die 3306-Port in der Sicherheitsgruppe und im Netzwerk ACL der Datenbank zu allen VPC-Verbindung zu öffnen. Bsp .: 172.0.0.0/16.

Hoffen, es hilft

+0

Olivier zu erhalten, danke für die Antwort. Im Netzwerk ACL habe ich den gesamten Datenverkehr erlaubt (inbound/outbound), wenn ich es zu beheben gestartet .. * I eingehenden Datenverkehr zugelassen haben (outbound ohne Einschränkung) in Sicherheitsgruppe, die auf die EC2-Classic-Instanz gebunden ist, für Port 3306 und öffentliche IP-Adressen der Replikationsinstanz & AuroraDB in VPC. * über Classic Link, AuroraDB in VPC & EC2-classic-Instanz hat die gleiche SG-Gruppe angeschlossen, die eingehende Port 3306 für externe IP aller drei Instanzen erlaubt, CIDR meiner VPC und es funktioniert immer noch nicht.:( Ich habe FW, iptables usw. auf dem Server gestoppt –

+0

Haben Sie eine Firewall auf der EC2-Classic-Instanz? Hat der Benutzer, den Sie für den Datenbankendpunkt verwenden, Lese-/Schreibrechte für die Datenbank? –

+0

wie ich zuvor geschrieben habe Ich habe FW auf Instanz deaktiviert, und ich bin in der Lage, remote Verbindung mit der MariaDB auf dieser Instanz von verschiedenen Instanzen. die Einstellungen, die ich für die zweite ec2-Instanz, mit der ich versuchte, mit MariaDB, I zu diesem EC2-classic zu verbinden Legen Sie die gleichen Einstellungen für die Replikationsinstanz fest –

2

Sie müssen die Sicherheitsgruppe aus Ihrer DMS Replikationsinstanz auf Ihre RDS-Datenbank zugeordnet Sicherheitsgruppe als autorisierten eingehenden Datenverkehr hinzuzufügen.

  • Zum Database Migration Service Armaturenbrett und sie zu "Replikationsinstanzen"
  • Ihre Replikationsinstanz Wählen Sie den "VPC Security Group"