Wie behebe ich Konnektivitätsfehler bei AWS DMS-Endpunkten?
Ich kann keine Verbindung zu meinen AWS Database Migration Service (AWS DMS)-Endpunkten herstellen, und meine Testverbindung schlägt fehl. Ich möchte die Konnektivitätsprobleme beheben.
Kurzbeschreibung
Möglicherweise erhältst du zwei Arten von Fehlermeldungen, wenn du die Verbindung von der Replikations-Instance zum Quell- oder Zielendpunkt testest: Konnektivitätsprobleme und Probleme mit der nativen Datenbank. Du musst diese Probleme lösen, bevor dein Test erfolgreich abgeschlossen werden kann.
Lösung
Probleme mit der Konnektivität
Wenn der Fehler aufgrund eines Konnektivitätsproblems zwischen der Replikations-Instance und der Quelle oder dem Ziel aufgetreten ist, erhältst du Fehlermeldungen wie die folgende:
- „Application-Status: 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 Message: [unixODBC][MySQL][ODBC 5.3(w) Driver]Unknown MySQL server host 'mysql1.xxxxx.us-east-1.rds.amazonaws.com' (22) ODBC general error.“
Fehler in der nativen Datenbank
Wenn der Fehler aufgrund eines Fehlers in der nativen Datenbank aufgetreten ist, z. B. aufgrund eines Datenbankberechtigungs- oder Authentifizierungsfehlers, erhältst du Fehlermeldeungen, die den folgenden ähneln:
- „Application-Status: 1020912, Anwendungsmeldung: Es kann keine Verbindung zum ODBC-Anbieter hergestellt werden. Netzwerkfehler ist aufgetreten. Anwendungsdetaillierte Meldung: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]FATAL: password authentication failed for user "dmsuser" ODBC general error.“
Hinweis: Es hat sich bewährt, die Konnektivität von der AWS DMS-Replikations-Instance zu den Endpunkten zu testen, nachdem du die AWS DMS-Quell- und Zielendpunkte erstellt hast. Schließe den Test ab, bevor du mit der AWS DMS-Migrationsaufgabe beginnst. Andernfalls kann die Aufgabe aufgrund von Konnektivitätsproblemen mit dem Endpunkt möglicherweise fehlschlagen.
Konnektivitätsprobleme für von AWS gehostete Ressourcen beheben
Stelle sicher, dass du die Konnektivität zwischen der Quell- oder Zieldatenbank und der Replikations-Instance herstellen kannst. Verbinde je nach Anwendungsfall und Netzwerkinfrastruktur die Quell- oder Zieldatenbank mit einer Replikations-Instance in einem öffentlichen oder privaten Subnetz. Weitere Informationen findest du unter Einrichten eines Netzwerks für eine Replikations-Instance.
Hinweis: Die AWS DMS-Versionen 3.4.7 und höher erfordern, dass du AWS DMS für die Verwendung von Virtual Private Cloud (VPC)-Endpunkten konfigurierst. Oder du musst öffentliche Routen zu allen Quell- und Zielendpunkten verwenden, die mit bestimmten Amazon Web Services interagieren. Wenn die AWS-DMS-Endpunkttests in früheren Versionen erfolgreich sind, in späteren Versionen jedoch fehlschlagen, findest du weitere Informationen unter Konfigurieren von VPC-Endpunkten als AWS DMS-Quell- und Zielendpunkte.
Überprüfung der Konfiguration der Replikations-Instance
Bestätige in deiner Replikationsinstanz, dass deine Konfiguration Folgendes umfasst:
- Eine Regel für ausgehenden Datenverkehr für die IP-Adresse mit dem Port der Quell- oder Zieldatenbank in der Sicherheitsgruppe. Standardmäßig erlaubt die Regel für ausgehenden Datenverkehr einer Sicherheitsgruppe den gesamten Datenverkehr. Sicherheitsgruppen sind zustandsbehaftet, sodass du die Standard-Regel für eingehenden Datenverkehr nicht ändern musst.
- 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 Regel für ausgehenden Datenverkehr der Netzwerkzugriffskontrollliste (ACL) den gesamten Datenverkehr zu.
- Eine Regel für eingehenden Datenverkehr für die IP-Adresse mit den kurzlebigen Ports der Quell- oder Zieldatenbank in der Netzwerk-ACL. Standardmäßig lässt die Regel für eingehenden Datenverkehr einer Netzwerk-ACL den gesamten Datenverkehr zu.
Überprüfung der Quell- oder Zieldatenbankkonfiguration
Vergewissere dich in der Quell- oder Zieldatenbank, dass die Konfiguration Folgendes beinhaltet:
- Eine Regel für eingehenden Datenverkehr für die IP-Adresse der Replikations-Instance oder das Classless Inter-Domain Routing (CIDR) der Subnetzgruppe der Replikations-Instance. Die Regel für eingehenden Datenverkehr muss den Port der Quell- oder Zieldatenbank in der Sicherheitsgruppe enthalten. Sicherheitsgruppen sind zustandsbehaftet, sodass du die standardmäßige Regel für ausgehenden Datenverkehr nicht ändern musst.
Hinweis: Informationen zu den IP-Adressen und CIDRs findest du im Abschnitt „Ermitteln der IP-Adressen und CIDR einer Subnetzgruppe“. - Eine Regel für eingehenden Datenverkehr für die IP-Adresse der Replikations-Instance oder das CIDR der Subnetzgruppe der Replikations-Instance. Die Regel für eingehenden Datenverkehr muss den Port der Quell- oder Zieldatenbank in der Netzwerk-ACL enthalten. Vergewissere dich, 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, das 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 Host-Wechsels.
Die IP-Adressen und das CIDR einer Subnetzgruppe ermitteln
Ermittle die IP-Adressen und das CIDR der Subnetzgruppe, um Regeln für eingehenden und ausgehenden Datenverkehr einzurichten. Du kannst entweder die AWS DMS-Konsole oder die AWS CLI verwenden.
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
AWS DMS-Konsole
Führe die folgenden Schritte aus:
- Öffne die AWS DMS-Konsole.
- Wähle im Navigationsbereich Replikations-Instances aus.
- Wähle den Namen der Replikations-Instance.
- Kopiere unter Details die öffentliche IP-Adresse, die private IP-Adresse und die Replikations-Subnetzgruppe der Replikations-Instance.
- Wähle unter Replikations-Subnetzgruppe den Link aus, um auf die Seite mit der Subnetzgruppe zuzugreifen. Kopiere den Namen jedes Subnetzes in der Subnetzgruppe.
- Um das CIDR jedes Subnetzes zu überprüfen, öffne die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
- Suche auf der Registerkarte Subnetze nach den in Schritt 5 angegebenen Subnetzen. Notiere dir für jedes Subnetz das CIDR.
AWS CLI
Führe den Befehl describe-subnets aus, um das CIDR der einzelnen Subnetze zu ermitteln.
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
Hinweis: Ersetze replication-instance-name durch den Namen deiner Replikations-Instance.
Führe den Befehl describe-replication-instances aus, um die IP-Adressen der Replikations-Instance zu ermitteln.
aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].{ReplicationInstancePublicIpAddresses:ReplicationInstancePublicIpAddresses,ReplicationInstancePrivateIpAddresses:ReplicationInstancePrivateIpAddresses}" --output table
Hinweis: Ersetze replication-instance-name durch den Namen deiner Replikations-Instance.
Konnektivitätsprobleme lösen (On-Premises Ressourcen)
Wenn die Quell- oder Zieldatenbank On-Premises gehostet wird, überprüfe Folgendes:
- Die Datenbank erlaubt eingehende Verbindungen von der AWS DMS-Replikations-Instance. Erkundige dich zur Bestätigung bei deinem Netzwerkadministrator.
- Eine Firewall blockiert nicht die Kommunikation mit der Quell- oder Zieldatenbank.
- Die DNS-Konfiguration ist korrekt eingerichtet. Wenn du eine DNS-Auflösung benötigst, verwende den Amazon Route 53 Resolver. Informationen zur Verwendung eines On-Premises Nameservers zur Auflösung von Endpunkten mithilfe des Amazon Route 53 Resolvers findest du unter Verwendung des eigenen On-Premises Nameservers.
-oder-
Erstelle über die AWS DMS eine neue AWS CLI, um einen Kunden-DNS-Nameserver (--dns-name-servers) zur Lösung von DNS-Problemen zu verwenden. Standardmäßig verwenden AWS DMS-Instances ein von Amazon bereitgestelltes DNS für Auflösungen. AWS DMS-Endpunkte können ausfallen, wenn die Quelle oder das Ziel für die Verwendung eines benutzerdefinierten DNS konfiguriert ist. Weitere Informationen findest du unter create-replication-instance.
Stelle sicher, dass die Amazon Elastic Compute Cloud (Amazon EC2)-Instance über dieselben Netzwerkkonfigurationen verfügt wie die AWS DMS-Replikations-Instance mit den Konnektivitätsproblemen. Führe zur Problembehandlung bei der Netzwerkkonnektivität zunächst die folgenden Befehle auf der neuen Amazon EC2-Instance aus:
telnet database_IP_address_or_DNS port_number
Hinweis: Ersetze database_IP_address_or_DNS durch die IP-Adresse oder den Domain-Namen der Datenbank, die für den AWS DMS-Quell- oder Zielendpunkt angegeben wurde. Ersetze port_number durch die Portnummer der Datenbank, die für den AWS DMS-Quell- oder Zielendpunkt angegeben wurde.
Führe dann den folgenden Befehl aus:
nslookup domain_name
Hinweis: Ersetze domain_name durch den Domain-Namen der Datenbank, die für den AWS DMS-Quell- oder Zielendpunkt angegeben wurde.
Beheben von Fehlern der nativen Datenbank
Vergewissere dich, dass die folgenden Endpunktkonfigurationen korrekt eingerichtet sind, um systemeigene Datenbankfehler zu beheben:
- Benutzername
- Passwort
- Der ServerName ist auf das DNS oder die IP der On-Premises-Datenbank oder des Amazon Relational Database Service (Amazon RDS)-Endpunkts festgelegt
- Port
- Name der Datenbank
Hinweis: Gib keinen Datenbanknamen für die MySQL-Quelle oder das MySQL-Ziel an.
Wenn eines dieser Felder beim AWS Secrets Manager angegeben wird, findest du weitere Informationen unter Verwendung von Secrets für den Zugriff auf AWS Database Migration Service-Endpunkte.
Informationen zu Fehlern der nativen Datenbank im Zusammenhang mit der Quell- oder Zieldatenbank findest du in der entsprechenden Datenbankdokumentation zur Auflösung. Verwende den Fehlercode und die Fehlermeldung, die du in der AWS DMS-Konsole erhältst.
Weitere Informationen findest du in den Fehler-, Ablaufverfolgungs-, Alarm- oder anderen Protokollen der Quell- oder Zieldatenbank.
Bestätige bei Datenbankzugriffsfehlern die von AWS DMS für die jeweilige Quelle oder das Ziel erforderlichen Berechtigungen.
Weitere Informationen zum Verschlüsseln von Verbindungen für Quell- und Zielendpunkte mit SSL findest du unter Verwendung von SSL bei AWS Database Migration Service.
Ähnliche Informationen
Wie kann ich Fehler bei Amazon S3-Endpunktverbindungstests beheben, wenn ich AWS DMS verwende?
Wie behebe ich Verbindungsfehler zwischen AWS DMS und einem MongoDB-Quellendpunkt?
Migration von Microsoft SQL Server-Datenbanken zur AWS Cloud
Ähnliche Videos
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Monat
- AWS OFFICIALAktualisiert vor einem Monat
- AWS OFFICIALAktualisiert vor einem Monat