AWSSupport-TroubleshootDMSEndpointConnection - AWS Systems Manager Riferimento all'Automation Runbook

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWSSupport-TroubleshootDMSEndpointConnection

Descrizione

Il AWSSupport-TroubleshootDMSEndpointConnectionrunbook aiuta a diagnosticare e risolvere i problemi di connettività tra le istanze di replica e gli endpoint. AWS Database Migration Service AWS DMS L'automazione utilizza i controlli Reachability Analyzer per testare la connettività di rete e analizza la configurazione di rete per identificare potenziali problemi di connettività che potrebbero impedire il successo delle migrazioni. AWS DMS

Importante

È necessario aver testato la connettività tra l'istanza di AWS DMS replica e l'endpoint utilizzando la AWS DMS console o l'API prima di eseguire questo runbook. Se non hai testato la connessione, fallo prima, altrimenti potresti dover eseguire nuovamente questo runbook. Sia l'istanza di AWS DMS replica che l'endpoint devono essere disponibili per un test di connettività accurato.

Importante

Questo runbook crea e richiama AWS Lambda funzioni, che comporteranno costi Lambda. Ogni analisi di Reachability Analyzer eseguita comporta inoltre dei costi. Per i dettagli sui prezzi, consulta la pagina dei prezzi di Amazon VPC nella scheda Analisi di rete e AWS Lambda nei prezzi.

Come funziona?

Il runbook esegue un'analisi sistematica della AWS DMS connettività attraverso le seguenti fasi:

Fase 1: convalida delle risorse e prerequisiti

  • Convalida dell'endpoint: verifica l'esistenza dell' AWS DMS endpoint, recupera la sua configurazione (nome del server, porta, tipo di motore) e conferma che il motore di database sia supportato per la risoluzione dei problemi.

  • Stato del test di connessione: recupera lo stato corrente del test di connessione tra l'istanza di replica e l'endpoint utilizzando l' AWS DMS DescribeConnectionsAPI, inclusi eventuali messaggi di errore dei precedenti tentativi di test.

  • Analisi dell'istanza di replica: raccoglie i dettagli della configurazione di rete tra cui ID Amazon VPC, sottorete IDs IDs, gruppo di sicurezza e identifica l'interfaccia di rete elastica (ENI) associata per l'istanza di replica.

Fase 2: risoluzione DNS e individuazione del percorso di rete

  • Risoluzione DNS basata su Amazon VPC: crea una funzione Lambda temporanea all'interno dello stesso Amazon VPC dell'istanza di replica per risolvere il nome host dell'endpoint nel relativo indirizzo IP dall'interno del contesto Amazon VPC, garantendo una risoluzione DNS privata accurata.

  • Identificazione del target: determina l'obiettivo appropriato per Reachability Analyzer in base al fatto che l'endpoint si trovi all'interno dello stesso Amazon VPC (utilizza ENI) o esterno (utilizza un indirizzo IP risolto).

  • IPv6 Controllo di compatibilità: verifica che gli indirizzi risolti lo siano IPv4, poiché Reachability Analyzer non supporta gli indirizzi. IPv6

Fase 3: analisi completa dei percorsi di rete

  • Reachability Analyzer Execution: crea un Network Insights Path dall'istanza di replica ENI alla destinazione (endpoint ENI o indirizzo IP) ed esegue un'analisi completa per testare la connettività TCP sulla porta specificata.

  • Analisi di rete multilivello: esamina il percorso di rete completo, comprese tabelle di routing, gruppi di sicurezza, rete, gateway Internet ACLs, gateway NAT, connessioni peering Amazon VPC e gateway di transito per identificare le barriere di connettività.

  • Generazione di spiegazioni dettagliate: in caso di connettività non riuscita, fornisce spiegazioni specifiche per ogni componente di rete che blocca il traffico, compresi i numeri esatti delle regole, i blocchi CIDR, gli intervalli di porte e le restrizioni del protocollo.

Fase 4: generazione di report e pulizia delle risorse

  • Reporting completo: genera un rapporto dettagliato contenente un riepilogo dei test di connessione, i risultati dell'analisi del percorso di rete e spiegazioni specifiche sugli errori con indicazioni sulla risoluzione.

  • Gestione delle risorse: pulisce automaticamente le risorse create (funzione Lambda, ruoli IAM, percorsi di Network Insights) a meno che PersistReachabilityAnalyzerResults il parametro non sia impostato per conservare i risultati dell'analisi per ulteriori indagini.

  • Gestione degli errori: fornisce report di errori specifici per vari scenari di errore, tra cui motori di database non supportati, risorse mancanti, errori di risoluzione DNS e problemi di autorizzazione.

Il runbook supporta la risoluzione dei problemi di connettività per più motori di database tra cui Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, MySQL, Oracle, PostgreSQL, SQL Server DB2 e molti altri.

Esegui questa automazione (console)

Tipo di documento

Automazione

Proprietario

Amazon

Piattaforme

/

Autorizzazioni IAM richieste

Il AutomationAssumeRole parametro richiede le seguenti azioni per utilizzare correttamente il runbook.

  • 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

Autorizzazioni IAM opzionali

Le seguenti autorizzazioni sono necessarie solo AutomationAssumeRole se non fornisci un LambdaRoleArn parametro e desideri che l'automazione crei il ruolo di esecuzione Lambda per te:

  • iam:CreateRole

  • iam:DeleteRole

  • iam:AttachRolePolicy

  • iam:DetachRolePolicy

  • iam:TagRole

  • iam:UntagRole

Importante

Oltre alle azioni sopra menzionate, AutomationAssumeRole dovrebbero avere Amazon VPCReachability AnalyzerFullAccessPolicy come policy gestita allegata in modo che i test Reachability Analyzer vengano eseguiti correttamente.

Policy di esempio:

{ "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" } } } ] }

Istruzioni

Segui questi passaggi per configurare l'automazione:

  1. Accedere AWSSupport-TroubleshootDMSEndpointConnectiona Systems Manager nella sezione Documenti.

  2. Seleziona Execute automation (Esegui automazione).

  3. Per i parametri di input, immettete quanto segue:

    • AutomationAssumeRole (Facoltativo):

      • Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a SSM Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, SSM Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.

      • Tipo: AWS::IAM::Role::Arn

    • DmsEndpointArn (Obbligatorio)

      • Descrizione: (Obbligatorio) L'Amazon Resource Name (ARN) dell' AWS Database Migration Service endpoint.

      • Tipo: String

      • Modello consentito: ^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 (Richiesto)

      • Descrizione: (Obbligatorio) L'Amazon Resource Name (ARN) dell'istanza di AWS Database Migration Service replica.

      • Tipo: String

      • Modello consentito: ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\\d{12}:rep:[A-Z0-9]+$

    • PersistReachabilityAnalyzerResults (Opzionale)

      • Descrizione: (Facoltativo) Il flag che indica se i risultati dell'esecuzione di Network Insights Analysis devono essere conservati o meno.

      • Tipo: Boolean

      • Valori consentiti: [true, false]

      • Impostazione predefinita: false

    • LambdaRoleArn (Facoltativo)

      • Descrizione: (Facoltativo) L'Amazon Resource Name (ARN) del ruolo AWS AWS Identity and Access Management (IAM) che consente alla AWS Lambda funzione di accedere ai AWS servizi e alle risorse richiesti. Se non viene specificato alcun ruolo, questa Systems Manager Automation creerà un ruolo IAM per Lambda nel tuo account.

      • Tipo: AWS::IAM::Role::Arn

      • Impostazione predefinita: ""

    • Conferma (obbligatorio)

      • Descrizione: (Obbligatorio) Inserisci yes per confermare che questo runbook creerà una funzione Lambda nel tuo account e creerà un ruolo IAM se LambdaRoleArn non viene fornito.

      • Tipo: String

      • Pattern consentito: ^[Yy][Ee][Ss]$

  4. Seleziona Esegui.

  5. L'automazione viene avviata.

  6. Il documento esegue le seguenti operazioni:

    • DescribeEndpointAndCheckEngine:

      Recupera la configurazione dell' AWS DMS endpoint e verifica se il tipo di motore di database è supportato per la risoluzione dei problemi. Estrae il nome del server, la porta e il tipo di motore dalla configurazione dell'endpoint.

    • BranchOnEndpointAndCheckEngineErrors:

      Suddivide l'automazione in base a eventuali errori derivanti dalla convalida dell'endpoint. Se vengono rilevati errori, l'automazione procede a generare un rapporto sugli errori; in caso contrario, continua con il test di connettività.

    • GetTestConnectionStatus:

      Recupera lo stato della connessione e il messaggio di errore per l' AWS DMS endpoint utilizzando l'API. DescribeConnections Questo passaggio verifica se è stato eseguito un test di connessione e acquisisce eventuali messaggi di errore.

    • BranchOnTestConnectionStatusErrors:

      Suddivide l'automazione in base agli errori di stato del test di connessione. Se vengono rilevati errori, l'automazione genera un rapporto sugli errori; in caso contrario, procede con l'analisi dell'istanza di replica.

    • DescribeReplicationInstance:

      Recupera i dettagli della configurazione di rete per l'istanza di AWS DMS replica, tra cui ID Amazon VPC, sottorete, gruppo di sicurezza IDs IDs, e identifica l'Elastic Network Interface (ENI) associata.

    • ValidateResourcePermissions:

      Verifica che il ruolo di esecuzione disponga delle autorizzazioni necessarie per ripulire le risorse che verranno create durante il processo di automazione.

    • Crea DNSResolver Lambda:

      Crea uno AWS CloudFormation stack contenente una funzione Lambda distribuita all'interno dello stesso Amazon VPC dell'istanza di replica. Questa funzione viene utilizzata per risolvere i nomi DNS in indirizzi IP privati dall'interno del contesto Amazon VPC.

    • DescribeCloudFormationErrorFromStackEvents:

      Se la creazione CloudFormation dello stack non riesce, questo passaggio descrive gli errori degli eventi dello stack per fornire informazioni dettagliate sugli errori per la risoluzione dei problemi.

    • Ottieni: DNSResolver LambdaName

      Recupera il nome della funzione Lambda del resolver DNS dagli output dello stack per utilizzarlo CloudFormation nei passaggi successivi.

    • ResolveDmsEndpoint:

      Richiama la funzione Lambda per risolvere il nome host dell' AWS DMS endpoint nel relativo indirizzo IP dall'interno di Amazon VPC. Ciò garantisce una risoluzione DNS privata accurata e convalida la compatibilità. IPv4

    • BranchOnResolveDmsEndpointErrors:

      Suddivide l'automazione in base agli errori di risoluzione DNS. Se l'endpoint non può essere risolto o si risolve in un IPv6 indirizzo, l'automazione genera un rapporto di errore.

    • GetReachabilityAnalyzerTarget:

      Identifica l'obiettivo appropriato per Reachability Analyzer in base alla configurazione di Amazon VPC e alla posizione degli endpoint. Determina se utilizzare un ENI (per endpoint VPC dello stesso tipo di Amazon) o un indirizzo IP (per endpoint esterni) come destinazione.

    • GenerateErrors:

      Crea un rapporto di errore completo quando si verificano errori nei passaggi precedenti. Ciò include dettagli sugli errori di convalida degli endpoint, sugli errori dei test di connessione o sui problemi di risoluzione DNS con linee guida specifiche per la correzione.

    • GenerateReport:

      Crea un rapporto completo sulla risoluzione dei problemi contenente lo stato della connessione, i risultati dell'analisi del percorso di rete utilizzando Reachability Analyzer, spiegazioni dettagliate delle barriere di connettività e azioni consigliate per la risoluzione.

    • CheckStackExists:

      Verifica se lo CloudFormation stack è stato creato correttamente e deve essere eliminato durante la pulizia. Questo passaggio garantisce una corretta gestione delle risorse indipendentemente dal successo o dal fallimento dell'automazione.

    • Elimina DNSResolver Lambda:

      Elimina lo CloudFormation stack contenente la funzione Lambda del resolver DNS e le risorse associate (a meno che non PersistReachabilityAnalyzerResults sia impostata sutrue), assicurando che non rimangano risorse residue dopo il completamento dell'automazione.

  7. Al termine, consulta la sezione Output per i risultati dettagliati dell'esecuzione:

    • GetTestConnectionStatus.stato

      Lo stato corrente del test di connessione tra l'istanza di AWS DMS replica e l'endpoint (ad esempio, test riuscito, fallito).

    • DescribeCloudFormationErrorFromStackEvents.Eventi

      Se la creazione CloudFormation dello stack non riesce, questo output contiene eventi di errore dettagliati relativi al processo di creazione dello stack per facilitare la diagnosi dei problemi di implementazione dell'infrastruttura.

    • GenerateReport.rapporto

      Un rapporto completo sulla risoluzione dei problemi contenente i risultati dell'analisi delle connessioni, i risultati di Reachability Analyzer, l'analisi del percorso di rete, le barriere di connettività specifiche identificate e raccomandazioni dettagliate per la riparazione con collegamenti alla documentazione pertinente. AWS

    • GenerateErrors.rapporto

      Se si verificano errori durante il processo di automazione, questo output fornisce un rapporto dettagliato sugli errori che include motivi specifici dell'errore, risorse interessate e indicazioni per risolvere i problemi prima di riprovare l'automazione.

Riferimenti

Systems Manager Automation