AWSSupport-TroubleshootDMSEndpointConnection - AWS Systems Manager Referenz zum Automatisierungs-Runbook

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-TroubleshootDMSEndpointConnectionRunbook 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 Verbindungsprobleme zu identifizieren, die erfolgreiche AWS DMS Migrationen verhindern könnten.

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. Jeder Analyselauf mit dem Reachability Analyzer ist ebenfalls kostenpflichtig. Preisdetails finden Sie auf der Seite mit den Amazon VPC-Preisen unter dem Tab Netzwerkanalyse und unter AWS Lambda Preise.

Wie funktioniert es?

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 bei der Fehlerbehebung unterstützt wird.

  • Status des Verbindungstests: Ruft mithilfe der AWS DMS DescribeConnections API den aktuellen Status des Verbindungstests zwischen der Replikationsinstanz und dem Endpunkt ab, einschließlich aller Fehlermeldungen früherer Testversuche.

  • Analyse der Replikationsinstanz: Sammelt Netzwerkkonfigurationsdetails, einschließlich Amazon VPC-ID, Subnetz und Sicherheitsgruppe IDs IDs, und identifiziert das zugehörige Elastic Network Interface (ENI) für die Replikationsinstanz.

Phase 2: DNS-Auflösung und Erkennung von Netzwerkpfaden

  • Amazon VPC-basierte DNS-Auflösung: Erstellt eine temporäre Lambda-Funktion innerhalb derselben Amazon VPC wie die Replikationsinstanz, um den Endpunkt-Hostnamen innerhalb des Amazon VPC-Kontextes in seine IP-Adresse aufzulösen und so eine genaue private DNS-Auflösung zu gewährleisten.

  • Zielidentifikation: Ermittelt das geeignete Ziel für Reachability Analyzer basierend darauf, ob sich der Endpunkt innerhalb derselben Amazon-VPC (verwendet ENI) oder extern (verwendet aufgelöste IP-Adresse) befindet.

  • IPv6 Kompatibilitätsprüfung: Überprüft, ob aufgelöste Adressen vorhanden sind IPv4, da Reachability Analyzer keine Adressen unterstützt. IPv6

Phase 3: Umfassende Netzwerkpfadanalyse

  • Ausführung des Reachability Analyzer: Erstellt einen Network Insights-Pfad von der Replikationsinstanz ENI 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.

  • Mehrschichtige Netzwerkanalyse: Untersucht den gesamten Netzwerkpfad, einschließlich Routentabellen, Sicherheitsgruppen, Netzwerk, Internet-Gateways ACLs, NAT-Gateways, Amazon VPC-Peering-Verbindungen und Transit-Gateways, um Konnektivitätsbarrieren zu identifizieren.

  • Generierung detaillierter Erläuterungen: Bei fehlgeschlagener Konnektivität werden spezifische Erläuterungen für jede Netzwerkkomponente bereitgestellt, die den Datenverkehr blockiert, einschließlich genauer Regelnummern, CIDR-Blöcke, Portbereiche und Protokolleinschränkungen.

Phase 4: Berichtserstellung und Bereinigung der Ressourcen

  • Umfassende Berichterstattung: Generiert einen detaillierten Bericht mit einer Zusammenfassung der Verbindungstests, Ergebnissen der Netzwerkpfadanalyse und spezifischen Fehlererklärungen mit Anleitungen zur Behebung.

  • Ressourcenmanagement: Bereinigt automatisch erstellte Ressourcen (Lambda-Funktion, IAM-Rollen, Network Insights Paths), sofern der PersistReachabilityAnalyzerResults Parameter nicht so eingestellt ist, dass Analyseergebnisse für weitere Untersuchungen aufbewahrt 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 Fehlerbehebung bei Konnektivität für mehrere Datenbank-Engines, darunter Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, MySQL, Oracle, PostgreSQL DB2, 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 innerhalb von 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 Amazon VPCReachability AnalyzerFullAccessPolicy als verwaltete Richtlinie beigefügt sein, damit die Reachability Analyzer-Tests erfolgreich durchgeführt werden.

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

Gehen Sie wie folgt vor, um die Automatisierung zu konfigurieren:

  1. Navigieren Sie AWSSupport-TroubleshootDMSEndpointConnectionim Systems Manager unter Dokumente zu.

  2. Wählen Sie Execute automation (Automatisierung ausführen).

  3. 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 durchzufü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 Replikationsinstanz.

      • 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) Die Markierung, die darüber informiert, ob die Ergebnisse der Ausführung von Network Insights Analysis 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, der der AWS Lambda Funktion den Zugriff auf die erforderlichen AWS Dienste und Ressourcen ermöglicht. Wenn keine Rolle angegeben ist, erstellt diese Systems Manager Manager-Automatisierung eine IAM-Rolle für Lambda in Ihrem Konto.

      • Typ: AWS::IAM::Role::Arn

      • Standard: ""

    • Bestätigen (erforderlich)

      • Beschreibung: (Erforderlich) Geben Sie ein, yes um zu bestätigen, dass dieses Runbook eine Lambda-Funktion in Ihrem Konto erstellt und, falls keine LambdaRoleArn angegeben ist, eine IAM-Rolle erstellt.

      • Typ: String

      • Zulässiges Muster: ^[Yy][Ee][Ss]$

  4. Wählen Sie Ausführen aus.

  5. Die Automatisierung wird initiiert.

  6. 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 Fehlerbehebung unterstützt wird. Extrahiert Servername, Port und Engine-Typ aus der Endpunktkonfiguration.

    • BranchOnEndpointAndCheckEngineErrors:

      Verzweigt die Automatisierung auf der Grundlage von Fehlern bei der Endpunktvalidierung. Wenn Fehler gefunden werden, generiert die Automatisierung weiterhin einen Fehlerbericht. Andernfalls fährt sie mit den Konnektivitätstests fort.

    • GetTestConnectionStatus:

      Ruft mithilfe der DescribeConnections API den Verbindungsstatus und die Fehlermeldung für den AWS DMS Endpunkt ab. In diesem Schritt wird geprüft, ob ein Verbindungstest durchgeführt wurde, und alle Fehlermeldungen erfasst.

    • BranchOnTestConnectionStatusErrors:

      Verzweigt die Automatisierung auf der Grundlage von Statusfehlern beim Verbindungstest. Wenn Fehler erkannt werden, generiert die Automatisierung einen Fehlerbericht. Andernfalls wird mit der Analyse der Replikationsinstanz fortgefahren.

    • DescribeReplicationInstance:

      Ruft Netzwerkkonfigurationsdetails für die AWS DMS Replikationsinstanz ab, einschließlich Amazon VPC-ID, Subnetz und Sicherheitsgruppe IDs 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.

    • DNSResolverLambda erstellen:

      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-Kontextes in private IP-Adressen aufzulösen.

    • DescribeCloudFormationErrorFromStackEvents:

      Wenn die CloudFormation Stack-Erstellung fehlschlägt, werden in diesem Schritt die Fehler anhand der Stack-Ereignisse beschrieben, um detaillierte Fehlerinformationen für die Fehlerbehebung bereitzustellen.

    • Holen Sie sich DNSResolverLambdaName:

      Ruft den Namen der Lambda-Funktion des DNS-Resolvers aus den CloudFormation Stack-Ausgaben ab, um ihn in nachfolgenden Schritten zu verwenden.

    • ResolveDmsEndpoint:

      Ruft die Lambda-Funktion auf, um den Hostnamen des AWS DMS Endpunkts innerhalb der Amazon VPC in seine IP-Adresse aufzulösen. Dies gewährleistet eine genaue private DNS-Auflösung und bestätigt die Kompatibilität. IPv4

    • BranchOnResolveDmsEndpointErrors:

      Verzweigt die Automatisierung auf der Grundlage von DNS-Auflösungsfehlern. Wenn der Endpunkt nicht aufgelöst werden kann oder zu einer IPv6 Adresse aufgelöst werden kann, 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 aufgetreten sind. Dazu gehören Details zu Fehlern bei der Endpunktvalidierung, fehlgeschlagenen Verbindungstests oder Problemen mit der DNS-Auflösung sowie spezifische Anleitungen zur Problembehebung.

    • GenerateReport:

      Erstellt einen umfassenden Bericht zur Problembehandlung, der den Verbindungsstatus, die Ergebnisse der Netzwerkpfadanalyse mithilfe von Reachability Analyzer, detaillierten Erläuterungen zu Konnektivitätsbarrieren und empfohlenen Maßnahmen zur Behebung enthält.

    • CheckStackExists:

      Überprüft, ob der CloudFormation Stapel erfolgreich erstellt wurde und während der Bereinigung gelöscht werden muss. Dieser Schritt gewährleistet ein ordnungsgemäßes Ressourcenmanagement unabhängig vom Erfolg oder Misserfolg der Automatisierung.

    • DNSResolverLambda löschen:

      Löscht den CloudFormation Stack, der die Lambda-Funktion des DNS-Resolvers und die zugehörigen Ressourcen enthält (sofern nicht PersistReachabilityAnalyzerResults auf gesetzttrue), um sicherzustellen, dass nach Abschluss der Automatisierung keine Restressourcen übrig bleiben.

  7. Wenn der Vorgang abgeschlossen ist, 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. Ereignisse

      Falls die CloudFormation Stack-Erstellung fehlschlägt, enthält diese Ausgabe detaillierte Fehlerereignisse aus dem Stack-Erstellungsprozess, um bei der Diagnose von Problemen mit der Infrastrukturbereitstellung zu helfen.

    • GenerateReport.bericht

      Ein umfassender Bericht zur Fehlerbehebung mit Ergebnissen der Verbindungsanalyse, Ergebnissen des Reachability Analyzer, Netzwerkpfadanalysen, identifizierten spezifischen Konnektivitätsbarrieren und detaillierten Empfehlungen zur Behebung von Problemen mit Links zu relevanter Dokumentation. AWS

    • GenerateErrors. Bericht

      Wenn während des Automatisierungsprozesses Fehler auftreten, enthält diese Ausgabe einen detaillierten Fehlerbericht mit spezifischen Fehlergründen, betroffenen Ressourcen und Anleitungen zur Behebung der Probleme, bevor Sie die Automatisierung erneut versuchen.

Referenzen

Systems Manager Automation