Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWSSupport-TroubleshootDMSEndpointConnection
Beschreibung
Das AWSSupport-TroubleshootDMSEndpointConnection Runbook hilft bei der Diagnose und Behebung von Verbindungsproblemen zwischen AWS Database Migration Service Replikationsinstanzen und Endpunkten. AWS DMS Die Automatisierung verwendet Reachability Analyzer-Prüfungen, um die Netzwerkkonnektivität zu testen, und analysiert die Netzwerkkonfiguration, um potenzielle Konnektivitätsprobleme zu identifizieren, die erfolgreiche Migrationen verhindern könnten. AWS DMS
Wichtig
Sie müssen die Konnektivität zwischen der AWS DMS Replikationsinstanz und dem Endpunkt mithilfe der AWS DMS Konsole oder API getestet haben, bevor Sie dieses Runbook ausführen. Wenn Sie die Verbindung nicht getestet haben, tun Sie dies bitte zuerst, andernfalls müssen Sie dieses Runbook möglicherweise erneut ausführen. Sowohl die AWS DMS Replikationsinstanz als auch der Endpunkt müssen für genaue Konnektivitätstests verfügbar sein.
Wichtig
Dieses Runbook erstellt und ruft AWS Lambda Funktionen auf, für die Lambda-Gebühren anfallen. Für jeden Reachability Analyzer-Analyselauf fallen ebenfalls Gebühren an. Einzelheiten zu den Preisen finden Sie auf der Amazon
Wie funktioniert das?
Das Runbook führt eine systematische Analyse der AWS DMS Konnektivität in den folgenden Phasen durch:
Phase 1: Ressourcenvalidierung und Voraussetzungen
-
Endpunktvalidierung: Überprüft, ob der AWS DMS Endpunkt existiert, ruft seine Konfiguration ab (Servername, Port, Engine-Typ) und bestätigt, dass die Datenbank-Engine für die Problembehandlung unterstützt wird.
-
Status des Verbindungstests: Ruft mithilfe der AWS DMS
DescribeConnectionsAPI den aktuellen Verbindungsteststatus zwischen der Replikationsinstanz und dem Endpunkt ab, einschließlich aller Fehlermeldungen früherer Testversuche. -
Analyse der Replikationsinstanz: Erfasst Netzwerkkonfigurationsdetails wie Amazon VPC-ID, Subnetz-IDs und Sicherheitsgruppen-IDs und identifiziert das zugehörige Elastic Network Interface (ENI) für die Replikationsinstanz.
Phase 2: DNS-Auflösung und Erkennung des Netzwerkpfads
-
Amazon VPC-based DNS-Auflösung: Erstellt eine temporäre Lambda-Funktion innerhalb derselben Amazon VPC wie die Replikationsinstanz, um den Hostnamen des Endpunkts aus dem Amazon VPC-Kontext heraus in seine IP-Adresse aufzulösen und so eine genaue private DNS-Auflösung sicherzustellen.
-
Zielidentifikation: Ermittelt das geeignete Ziel für Reachability Analyzer auf der Grundlage, ob sich der Endpunkt innerhalb derselben Amazon VPC (verwendet ENI) oder extern (verwendet eine aufgelöste IP-Adresse) befindet.
-
IPv6-Kompatibilitätsprüfung: Überprüft, ob es sich bei den aufgelösten Adressen um IPv4-Adressen handelt, da Reachability Analyzer keine IPv6-Adressen unterstützt.
Phase 3: Umfassende Netzwerkpfadanalyse
-
Ausführung des Reachability Analyzers: Erstellt einen Network Insights-Pfad von der ENI der Replikationsinstanz zum Ziel (Endpunkt-ENI oder IP-Adresse) und führt eine umfassende Analyse durch, um die TCP-Konnektivität auf dem angegebenen Port zu testen.
-
Multi-layer Netzwerkanalyse: Untersucht den gesamten Netzwerkpfad einschließlich Routing-Tabellen, Sicherheitsgruppen, Netzwerk-ACLs, Internet-Gateways, NAT-Gateways, Amazon VPC-Peering-Verbindungen und Transit-Gateways, um Konnektivitätsbarrieren zu identifizieren.
-
Generierung detaillierter Erläuterungen: Enthält spezifische Erklärungen für jede Netzwerkkomponente, die den Datenverkehr blockiert, für den Fall, dass Verbindungen fehlschlagen, einschließlich genauer Regelnummern, CIDR-Blöcke, Portbereiche und Protokolleinschränkungen.
Phase 4: Berichtserstellung und Bereinigung der Ressourcen
-
Umfassende Berichterstattung: Generiert einen detaillierten Bericht, der eine Zusammenfassung der Verbindungstests, Ergebnisse der Netzwerkpfadanalyse und spezifische Fehlererklärungen mit Anleitungen zur Behebung enthält.
-
Ressourcenmanagement: Bereinigt automatisch die erstellten Ressourcen (Lambda-Funktion, IAM-Rollen, Network Insights-Pfade), sofern der PersistReachabilityAnalyzerResults Parameter nicht so eingestellt ist, dass Analyseergebnisse für weitere Untersuchungen gespeichert werden.
-
Fehlerbehandlung: Stellt spezifische Fehlerberichte für verschiedene Fehlerszenarien bereit, darunter nicht unterstützte Datenbank-Engines, fehlende Ressourcen, DNS-Auflösungsfehler und Berechtigungsprobleme.
Das Runbook unterstützt die Konnektivität zur Fehlerbehebung für mehrere Datenbank-Engines, darunter Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, DB2, MySQL, Oracle, PostgreSQL, SQL Server und viele andere.
Führen Sie diese Automatisierung aus (Konsole)
Art des Dokuments
Automatisierung
Eigentümer
Amazon
Plattformen
/
Erforderliche IAM-Berechtigungen
Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.
-
cloudformation:CreateStack -
cloudformation:DeleteStack -
cloudformation:DescribeStacks -
cloudformation:DescribeStackEvents -
dms:DescribeEndpoints -
dms:DescribeReplicationInstances -
dms:DescribeConnections -
iam:GetRole -
iam:PassRole -
iam:SimulatePrincipalPolicy -
lambda:CreateFunction -
lambda:DeleteFunction -
lambda:GetFunction -
lambda:InvokeFunction -
lambda:ListTags -
lambda:TagResource -
lambda:UntagResource -
lambda:UpdateFunctionCode
Optionale IAM-Berechtigungen
Die folgenden Berechtigungen sind nur erforderlich, AutomationAssumeRole wenn Sie keinen LambdaRoleArn Parameter angeben und möchten, dass die Automatisierung die Lambda-Ausführungsrolle für Sie erstellt:
-
iam:CreateRole -
iam:DeleteRole -
iam:AttachRolePolicy -
iam:DetachRolePolicy -
iam:TagRole -
iam:UntagRole
Wichtig
Zusätzlich zu den oben genannten Aktionen AutomationAssumeRole sollte ihnen die verwaltete Richtlinie beigefügt sein, damit die Reachability Analyzer-Tests erfolgreich durchgeführt werden. AmazonVPCReachabilityAnalyzerFullAccessPolicy
Beispiel für eine Richtlinie:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDMSTroubleshootingActions", "Effect": "Allow", "Action": [ "dms:DescribeEndpoints", "dms:DescribeReplicationInstances", "dms:DescribeConnections", "lambda:GetFunction", "lambda:ListTags", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "lambda:UntagResource", "lambda:UpdateFunctionCode", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:CreateStack", "cloudformation:DeleteStack", "iam:GetRole", "iam:SimulatePrincipalPolicy", "iam:CreateRole", "iam:DeleteRole", "iam:TagRole", "iam:UntagRole" ], "Resource": "*" }, { "Sid": "AllowDMSLambdaInvocation", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:AWSSupport-TroubleshootDMSEndpointConnection-*" }, { "Sid": "AllowPassRoleToDMSLambda", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/AWSSupport-TroubleshootDMSEndpointConnection-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } }, { "Sid": "AllowRolePolicyManagement", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:DetachRolePolicy" ], "Resource": "*", "Condition": { "StringLikeIfExists": { "iam:ResourceTag/AWSSupport-TroubleshootDMSEndpointConnection": "true" } } } ] }
Anweisungen
Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:
-
Navigieren Sie
AWSSupport-TroubleshootDMSEndpointConnectionim Systems Manager unter Dokumente zu. -
Wählen Sie Execute automation (Automatisierung ausführen).
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
AutomationAssumeRole (Fakultativ):
-
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es SSM Automation ermöglicht, die Aktionen in Ihrem Namen auszuführen. Wenn keine Rolle angegeben ist, verwendet SSM Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
Typ:
AWS::IAM::Role::Arn
-
-
DmsEndpointArn (Erforderlich)
-
Beschreibung: (Erforderlich) Der Amazon-Ressourcenname (ARN) des AWS Database Migration Service Endpunkts.
-
Typ:
String -
Zulässiges Muster:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:endpoint:[A-Z0-9]{1,48}$
-
-
DmsReplicationInstanceArn (Erforderlich)
-
Beschreibung: (Erforderlich) Der Amazon-Ressourcenname (ARN) der AWS Database Migration Service Replication-Instance.
-
Typ:
String -
Zulässiges Muster:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:rep:[A-Z0-9]+$
-
-
PersistReachabilityAnalyzerResults (Fakultativ)
-
Beschreibung: (Optional) Das Kennzeichen, das darüber informiert, ob die Ergebnisse der Network Insights Analysis-Ausführung beibehalten werden sollen oder nicht.
-
Typ:
Boolean -
Zulässige Werte:
[true, false] -
Standard:
false
-
-
LambdaRoleArn (Fakultativ)
-
Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS AWS Identity and Access Management (IAM) -Rolle, die der AWS Lambda Funktion den Zugriff auf die erforderlichen AWS Dienste und Ressourcen ermöglicht. Wenn keine Rolle angegeben ist, erstellt diese Systems Manager Automation eine IAM-Rolle für Lambda in Ihrem Konto.
-
Typ:
AWS::IAM::Role::Arn -
Standard:
""
-
-
Bestätigen (erforderlich)
-
Beschreibung: (Erforderlich) Geben Sie ein,
yesum zu bestätigen, dass dieses Runbook eine Lambda-Funktion in Ihrem Konto erstellt und eine IAM-Rolle erstellt, falls keineLambdaRoleArnangegeben wird. -
Typ:
String -
Zulässiges Muster:
^[Yy][Ee][Ss]$
-
-
-
Wählen Sie Ausführen aus.
-
Die Automatisierung wird initiiert.
-
Das Dokument führt die folgenden Schritte aus:
-
DescribeEndpointAndCheckEngine:
Ruft die AWS DMS Endpunktkonfiguration ab und überprüft, ob der Datenbank-Engine-Typ für die Problembehandlung unterstützt wird. Extrahiert Servername, Port und Engine-Typ aus der Endpunktkonfiguration.
-
BranchOnEndpointAndCheckEngineErrors:
Verzweigt die Automatisierung basierend auf etwaigen Fehlern bei der Endpunktvalidierung. Wenn Fehler gefunden werden, generiert die Automatisierung einen Fehlerbericht. Andernfalls werden die Konnektivitätstests fortgesetzt.
-
GetTestConnectionStatus:
Ruft mithilfe der
DescribeConnectionsAPI den Verbindungsstatus und die Fehlermeldung für den AWS DMS Endpunkt ab. In diesem Schritt wird überprüft, ob ein Verbindungstest durchgeführt wurde, und alle Fehlermeldungen werden erfasst. -
BranchOnTestConnectionStatusErrors:
Verzweigt die Automatisierung auf der Grundlage von Statusfehlern beim Verbindungstest. Wenn Fehler erkannt werden, generiert die Automatisierung einen Fehlerbericht; andernfalls fährt sie mit der Analyse der Replikationsinstanz fort.
-
DescribeReplicationInstance:
Ruft Netzwerkkonfigurationsdetails für die AWS DMS Replikationsinstanz ab, einschließlich Amazon VPC-ID, Subnetz-IDs und Sicherheitsgruppen-IDs, und identifiziert das zugehörige Elastic Network Interface (ENI).
-
ValidateResourcePermissions:
Überprüft, ob die Ausführungsrolle über die erforderlichen Berechtigungen verfügt, um Ressourcen zu bereinigen, die während des Automatisierungsprozesses erstellt werden.
-
CreateDNSResolverLambda:
Erstellt einen AWS CloudFormation Stack, der eine Lambda-Funktion enthält, die in derselben Amazon VPC wie die Replikationsinstanz bereitgestellt wird. Diese Funktion wird verwendet, um DNS-Namen innerhalb des Amazon VPC-Kontexts in private IP-Adressen aufzulösen.
-
DescribeCloudFormationErrorFromStackEvents:
Schlägt die CloudFormation Stack-Erstellung fehl, werden in diesem Schritt die Fehler beschrieben, die sich aus den Stack-Ereignissen ergeben, um detaillierte Informationen zur Fehlerbehebung bereitzustellen.
-
GetDNSResolverLambdaName:
Ruft den Namen der DNS-Resolver-Lambda-Funktion aus den CloudFormation Stack-Ausgaben zur Verwendung in nachfolgenden Schritten ab.
-
ResolveDmsEndpoint:
Ruft die Lambda-Funktion auf, um den AWS DMS Endpunkt-Hostnamen innerhalb der Amazon VPC in seine IP-Adresse aufzulösen. Dies gewährleistet eine genaue private DNS-Auflösung und validiert die IPv4-Kompatibilität.
-
BranchOnResolveDmsEndpointErrors:
Verzweigt die Automatisierung auf der Grundlage von DNS-Auflösungsfehlern. Wenn der Endpunkt nicht aufgelöst werden kann oder in eine IPv6-Adresse aufgelöst wird, generiert die Automatisierung einen Fehlerbericht.
-
GetReachabilityAnalyzerTarget:
Identifiziert das geeignete Ziel für Reachability Analyzer auf der Grundlage der Amazon VPC-Konfiguration und des Endpunktstandorts. Legt fest, ob eine ENI (für dieselben Amazon VPC-Endpunkte) oder eine IP-Adresse (für externe Endpunkte) als Ziel verwendet werden soll.
-
GenerateErrors:
Erstellt einen umfassenden Fehlerbericht, wenn in den vorherigen Schritten Fehler auftreten. Dazu gehören Details zu Fehlern bei der Endpunktvalidierung, Fehlschlägen bei Verbindungstests oder Problemen mit der DNS-Auflösung sowie spezifische Anleitungen zur Behebung.
-
GenerateReport:
Erstellt einen umfassenden Bericht zur Problembehandlung, der den Verbindungsstatus, die Ergebnisse der Netzwerkpfadanalyse mithilfe des Reachability Analyzers, detaillierte Erläuterungen der Konnektivitätsbarrieren und empfohlene Maßnahmen zur Behebung enthält.
-
CheckStackExists:
Überprüft, ob der CloudFormation Stapel erfolgreich erstellt wurde und bei der Bereinigung gelöscht werden muss. Dieser Schritt gewährleistet ein ordnungsgemäßes Ressourcenmanagement, unabhängig vom Erfolg oder Misserfolg der Automatisierung.
-
DeleteDNSResolverLambda:
Löscht den CloudFormation Stack, der die Lambda-Funktion des DNS-Resolvers und die zugehörigen Ressourcen enthält (sofern nicht auf gesetzt
true), wodurch sichergestelltPersistReachabilityAnalyzerResultswird, dass nach Abschluss der Automatisierung keine Restressourcen übrig bleiben.
-
-
Nach Abschluss des Vorgangs finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung:
-
GetTestConnectionStatus.status
Der aktuelle Status des Verbindungstests zwischen der AWS DMS Replikationsinstanz und dem Endpunkt (z. B. erfolgreich, fehlgeschlagen, getestet).
-
DescribeCloudFormationErrorFromStackEvents.Events
Wenn die CloudFormation Stack-Erstellung fehlschlägt, enthält diese Ausgabe detaillierte Fehlerereignisse aus dem Stack-Erstellungsprozess, um die Diagnose von Problemen bei der Infrastrukturbereitstellung zu erleichtern.
-
GenerateReport.report
Ein umfassender Bericht zur Problembehandlung mit Ergebnissen der Verbindungsanalyse, Ergebnissen von Reachability Analyzer, Netzwerkpfadanalysen, identifizierten spezifischen Konnektivitätsbarrieren und detaillierten Empfehlungen zur Behebung mit Links zu relevanter Dokumentation. AWS
-
GenerateErrors.report
Wenn während des Automatisierungsprozesses Fehler auftreten, enthält diese Ausgabe einen detaillierten Fehlerbericht mit spezifischen Fehlerursachen, betroffenen Ressourcen und Anleitungen zur Behebung der Probleme, bevor die Automatisierung erneut versucht wird.
-
Referenzen
Systems Manager Automation