Wie kann ich Verbindungsfehler bei AWS DMS Endpunkte beheben?

Lesedauer: 8 Minute
0

Ich kann keine Verbindung zu meinen AWS Database Migration Service (AWS DMS)-Endpunkten herstellen. Warum schlägt meine Testverbindung fehl und wie kann ich diese Verbindungsprobleme beheben?

Kurzbeschreibung

Beim Testen der Verbindung von der Replikationsinstanz zum Quell- oder Zielendpunkt treten typischerweise zwei Arten von Fehlern auf:

  1. Wenn der Fehler aufgrund eines Verbindungsproblems zwischen der Replikationsinstanz und der Quelle oder dem Ziel aufgetreten ist, werden Fehler wie die folgenden angezeigt:
    
  • "Bewerbungsstatus: 1020912, Anwendungsmeldung: Verbindung konnte nicht hergestellt werden. Netzwerkfehler ist aufgetreten, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: HYT00 NativeError: 0 Meldung: [unixODBC][Microsoft][ODBC Driver 13 für SQL Server]Anmeldezeitüberschreitung abgelaufen. Allgemeiner ODBC-Fehler.“
  • "Bewerbungsstatus: 1020912, Anwendungsmeldung: Es kann keine Verbindung zum ODBC-Anbieter hergestellt werden. Netzwerkfehler ist aufgetreten. Anwendungsdetaillierte Meldung: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Meldung: [unixODBC]Zeitüberschreitung abgelaufen - allgemeiner ODBC-Fehler.“
  • "Bewerbungsstatus: 1020912, Anwendungsmeldung: Es kann keine Verbindung zum ODBC-Anbieter hergestellt werden. Allgemeiner ODBC-Fehler., Anwendungsdetaillierte Meldung: RetCode: SQL_ERROR SqlState: HY000 NativeError: 2005-Nachricht: [unixODBC][MySQL][ODBC 5.3(w) Driver]Unbekannter MySQL-Server-Host „mysql1.xxxxx.us-east-1.rds.amazonaws.com“ (22) Allgemeiner ODBC-Fehler ."
  1. Wenn der Fehler aufgrund eines systemeigenen Datenbankfehlers aufgetreten ist, z. B. aufgrund eines Datenbankberechtigungs- oder Authentifizierungsfehlers, werden Fehler angezeigt, die den folgenden ähneln:
  • "Bewerbungsstatus: 1020912, Anwendungsmeldung: Es kann keine Verbindung zum ODBC-Anbieter hergestellt werden. Netzwerkfehler ist aufgetreten. Anwendungsdetaillierte Meldung: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Meldung: [unixODBC]FATAL: Kennwortauthentifizierung für Benutzer „dmsuser“ fehlgeschlagen. Allgemeiner ODBC-Fehler.“

Lesen Sie je nach Art des Fehlers, den Sie erhalten, und Ihrer Netzwerkkonfiguration den entsprechenden Lösungsabschnitt.

Hinweis: Es empfiehlt sich, die Konnektivität von der AWS DMS-Replikationsinstanz zu den Endpunkten zu testen, nachdem Sie Ihre AWS DMS-Quell- und Zielendpunkte erstellt haben. Tun Sie dies, bevor Sie mit der AWS DMS-Migrationsaufgabe beginnen. Andernfalls kann die Aufgabe aufgrund von Verbindungsproblemen mit dem Endpunkt fehlschlagen.

Auflösung

Beheben Sie Konnektivitätsprobleme für von AWS gehostete Ressourcen

Stellen Sie sicher, dass eine Konnektivität zwischen der Quell- oder Zieldatenbank und der Replikationsinstanz hergestellt werden kann. Verbinden Sie je nach Anwendungsfall und Netzwerkinfrastruktur Ihre Quell- oder Zieldatenbank mit einer Replikations-Instance in einem öffentlichen oder privaten Subnetz. Weitere Informationen finden Sie unter Einrichten eines Netzwerks für eine Replikations-Instance.

Hinweis: AWS DMS-Versionen 3.4.7 und höher erfordern, dass Sie AWS DMS so konfigurieren, dass es VPC-Endpunkte verwendet oder öffentliche Routen zu all Ihren Quell- und Zielendpunkten verwendet, die mit bestimmten Amazon Web Services interagieren. Wenn Ihre DMS-Endpunkttests in früheren Versionen erfolgreich waren, in späteren Versionen jedoch fehlschlagen, finden Sie weitere Informationen unter Konfiguration von VPC-Endpunkten als AWS DMS-Quell- und Zielendpunkte.

Überprüfen Sie die Konfiguration Ihrer Replikations-Instance

Bestätigen Sie in Ihrer Replikationsinstanz, dass Ihre Konfiguration Folgendes umfasst:

  • Eine ausgehenden Regel für die IP-Adresse mit dem Port der Quell- oder Zieldatenbank in der Sicherheitsgruppe. Standardmäßig lässt die Regel für ausgehenden Datenverkehr einer Sicherheitsgruppe den gesamten Datenverkehr zu. Sicherheitsgruppen sind statusabhängig, sodass Sie die Standardregel für eingehenden Datenverkehr nicht ändern müssen.
  • Eine Regel für ausgehenden Datenverkehr für die IP-Adresse mit dem Port der Quell- oder Zieldatenbank in der Netzwerk-ACL. Standardmäßig lässt die Outbound-Regel der Network Access Control List (ACL) den gesamten Datenverkehr zu
  • Eine eingehende Regel für die IP-Adresse mit den kurzlebigen Ports der Quell- oder Zieldatenbank in der Netzwerk-ACL. Standardmäßig lässt die eingehende Regel einer Netzwerk-ACL den gesamten Datenverkehr zu.

Überprüfen Sie Ihre Quell- oder Zieldatenbankkonfiguration

Vergewissern Sie sich in Ihrer Quell- oder Zieldatenbank, dass Ihre Konfiguration Folgendes beinhaltet:

  • Eine eingehende Regel für die IP-Adresse der Replikations-Instance oder die CIDR der Subnetzgruppe der Replikations-Instance mit dem Port der Quell- oder Zieldatenbank in der Sicherheitsgruppe. Sicherheitsgruppen sind statusabhängig, sodass Sie die Standardregel für die ausgehende Regel nicht ändern müssen.
    Hinweis: Informationen zu den IP-Adressen und CIDRs finden Sie im Abschnitt Ermitteln der IP-Adressen und CIDR einer Subnetzgruppe.
  • Eine eingehende Regel für die IP-Adresse der Replikations-Instance oder die CIDR der Subnetzgruppe der Replikations-Instance mit dem Port der Quell- oder Zieldatenbank in der Netzwerk-ACL. Vergewissern Sie sich, dass es keine explizite Ablehnungsregel für die zulässige IP-Adresse und den erlaubten Port gibt.
  • Eine Regel für ausgehenden Datenverkehr für die IP-Adresse oder den CIDR der Subnetzgruppe der Replikations-Instance mit kurzlebigen Ports in der Netzwerk-ACL. Standardmäßig lässt die Regel für ausgehenden Datenverkehr einer Netzwerk-ACL den gesamten Datenverkehr zu.
  • Es hat sich bewährt, Ihr Netzwerk so zu konfigurieren, dass es das CIDR der Subnetzgruppe der Replikations-Instance zulässt. Die IP-Adresse der Replikations-Instance ändert sich während eines Failovers oder eines Hosterwechsels.

Ermitteln Sie die IP-Adressen und CIDR einer Subnetzgruppe

Verwenden Sie die AWS DMS-Konsole oder die CLI, um die IP-Adressen und CIDR der Subnetzgruppe zu ermitteln und Regeln für eingehenden und ausgehenden Datenverkehr einzurichten.

Verwenden der AWS-Konsole:

  1. Greifen Sie auf die AWS DMS-Konsole zu.
  2. Wählen Sie im Navigationsbereich Replications-Instances aus.
  3. Wählen Sie den Namen Ihrer Replikations-Instance.
  4. Notieren Sie sich unter Details die öffentliche IP-Adresse, die private IP-Adresse und die Replikationssubnetzgruppe Ihrer Replikations-Instance.
  5. Wählen Sie unter Replikationssubnetzgruppe den Link aus, um auf die Seite mit der Subnetzgruppe zuzugreifen. Notieren Sie sich den Namen jedes Subnetzes in der Subnetzgruppe.
  6. Um die CIDR jedes Subnetzes zu überprüfen, greifen Sie auf die Amazon Virtual Private Cloud (Amazon VPC) -Konsole zu.
  7. Suchen Sie auf der Registerkarte Subnetze nach den in Schritt 5 angegebenen Subnetzen. Notieren Sie sich für jedes Subnetz das CIDR.

Verwenden der AWS CLI:

Führen Sie den Befehl describe-subnets aus, um die CIDR der einzelnen Subnetze zu ermitteln. Geben Sie für Replications-Instance-Name den Namen Ihrer Replikations-Instance ein.

aws ec2 describe-subnets --filters Name=subnet-id,Values="$(aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].ReplicationSubnetGroup.Subnets[*].SubnetIdentifier" --output text | sed -e 's/\t/,/g')" --query "Subnets[*].{SubnetId:SubnetId,CidrBlock:CidrBlock}" --output table

Führen Sie den Befehl describe-replication-instances aus, um die IP-Adressen der Replikations-Instance zu ermitteln. Geben Sie für Replications-Instance-Name den Namen Ihrer Replikations-Instance ein.

aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].{ReplicationInstancePublicIpAddresses:ReplicationInstancePublicIpAddresses,ReplicationInstancePrivateIpAddresses:ReplicationInstancePrivateIpAddresses}" --output table

Verbindungsprobleme lösen (On-Premises Ressourcen)

Wenn Ihre Quell- oder Zieldatenbank On-Premises gehostet wird, überprüfen Sie Folgendes:

  • Erkundigen Sie sich bei Ihrem Netzwerkadministrator, ob die Datenbank eingehende Verbindungen von der AWS DMS-Replikations-Instance zulässt.
  • Stellen Sie sicher, dass eine Firewall die Kommunikation mit der Quell- oder Zieldatenbank nicht blockiert.
  • Bestätigen Sie, dass die DNS-Konfiguration korrekt eingerichtet ist. Wenn Sie eine DNS-Auflösung benötigen, verwenden Sie den Amazon Route 53-Resolver. Informationen zur Verwendung eines On-Premises Nameservers zur Auflösung von Endpunkten mithilfe des Amazon Route 53-Resolvers finden Sie unter Verwenden Ihres eigenen On-Premises Nameservers.
    -oder-
    Erstellen Sie über die AWS-CLI eine neue DMS-Instance, um einen Kunden-DNS-Nameserver (--dns-name-servers) zur Lösung von DNS-Problemen zu verwenden. Standardmäßig verwenden DMS-Instances von Amazon bereitgestelltes DNS für Lösungen. DMS-Endpunkte können ausfallen, wenn die Quelle oder das Ziel für die Verwendung von benutzerdefiniertem DNS konfiguriert ist. Weitere Informationen finden Sie unter create-replication-instance.

Stellen Sie sicher, dass Ihre Amazon EC2-Instance dieselben Netzwerkkonfigurationen wie die AWS DMS-Replikations-Instance mit den Verbindungsproblemen hat. Führen Sie die folgenden Befehle auf der neuen EC2-Instance aus, um Probleme mit der Netzwerkverbindung zu beheben:

telnet <database_IP_address_or_DNS> <port_number>
nslookup <domain_name>

Verwenden Sie für die database_IP_address_or_DNS, die IP-Adresse oder den Domänennamen der Datenbank, die für den DMS-Quell- oder Zielendpunkt angegeben ist. Verwenden Sie für port_number die Portnummer der Datenbank, die für den DMS-Quell- oder Zielendpunkt angegeben ist. Verwenden Sie für domain_name den Domänennamen der Datenbank, der für den DMS-Quell- oder Zielendpunkt angegeben wurde.

Beheben Sie systemeigene Datenbankfehler

Vergewissern Sie sich, dass die folgenden Endpunktkonfigurationen korrekt eingerichtet sind, um systemeigene Datenbankfehler zu beheben:

  • Benutzername
  • Passwort
  • Legen Sie den Servernamen auf den DNS oder die IP der On-Premises Datenbank oder des Amazon Relational Database Service (Amazon RDS)-Endpunkte fest
  • Port
  • Name der Datenbank
    Hinweis: Geben Sie keinen Datenbanknamen für die MySQL-Quelle oder das Ziel an.

Hinweis: Wenn eines dieser Felder mit AWS Secrets Manager angegeben wurde, finden Sie weitere Informationen unter Verwenden von Geheimnissen für den Zugriff auf AWS Database Migration Service-Endpunkte.

Informationen zu systemeigenen Datenbankfehlern im Zusammenhang mit der Quell- oder Zieldatenbank finden Sie in der entsprechenden Datenbankdokumentation zur Lösung. Verwenden Sie den Fehlercode und die Fehlermeldung auf der DMS-Konsole.

Weitere Informationen finden Sie in den Error-, Trace-, Alert- oder anderen Protokollen der Quell- oder Zieldatenbank.

Bestätigen Sie bei Datenbankzugriffsfehlern die von DMS für die jeweilige Quelle oder das Ziel erforderlichen Berechtigungen.

Weitere Informationen zur Verschlüsselung von Verbindungen für Quell- und Zielendpunkte mithilfe von Secure Sockets Layer (SSL) finden Sie unter Verwenden von SSL mit AWS Database Migration Service.


Verwandte Informationen

Wie kann ich Fehler bei Amazon S3-Endpunktverbindungstests beheben, wenn ich AWS DMS verwende?

Wie kann ich Verbindungsausfälle und Fehler für eine AWS DMS-Aufgabe beheben, die Amazon Redshift als Zielendpunkt verwendet?

Wie kann ich Verbindungsfehler zwischen AWS DMS und einem MongoDB-Quellendpunkt beheben?

Migrieren Sie eine On-Premises Oracle-Datenbank mithilfe eines Oracle-Bystanders und AWS DMS zu Amazon RDS for PostgreSQL

Migration von Microsoft SQL Server-Datenbanken in die AWS-Cloud