View a markdown version of this page

AWSSupport-TroubleshootDMSEndpointConnection - AWS Systems Manager Referencia del manual de procedimientos de Automatización

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWSSupport-TroubleshootDMSEndpointConnection

Descripción

El AWSSupport-TroubleshootDMSEndpointConnection manual ayuda a diagnosticar y solucionar los problemas de conectividad entre AWS Database Migration Service las instancias de replicación y los puntos finales. AWS DMS La automatización utiliza las comprobaciones del Reachability Analyzer para probar la conectividad de la red y analiza la configuración de la red para identificar posibles problemas de conectividad que podrían impedir que las migraciones se realicen correctamente. AWS DMS

importante

Debe haber probado la conectividad entre la instancia de AWS DMS replicación y el punto final mediante la AWS DMS consola o la API antes de ejecutar este manual. Si no ha probado la conexión, hágalo primero; de lo contrario, es posible que tenga que volver a ejecutar este runbook. Tanto la instancia de AWS DMS replicación como el punto final deben estar disponibles para realizar pruebas de conectividad precisas.

importante

Este manual crea e invoca AWS Lambda funciones, lo que generará cargos de Lambda. Cada análisis de Reachability Analyzer también genera cargos. Para obtener información sobre los precios, consulte la página de precios de Amazon VPC en la pestaña Análisis de red y Precios. AWS Lambda

¿Cómo funciona?

El manual realiza un análisis sistemático de la AWS DMS conectividad a través de las siguientes fases:

Fase 1: Validación de los recursos y requisitos previos

  • Validación del punto final: verifica la existencia del AWS DMS punto final, recupera su configuración (nombre del servidor, puerto, tipo de motor) y confirma que el motor de la base de datos es compatible para solucionar problemas.

  • Estado de la prueba de conexión: recupera el estado actual de la prueba de conexión entre la instancia de replicación y el punto final mediante la AWS DMS DescribeConnections API, incluidos los mensajes de error de los intentos de prueba anteriores.

  • Análisis de instancias de replicación: recopila los detalles de la configuración de la red, incluidos el ID de Amazon VPC, los ID de subred y los ID de los grupos de seguridad, e identifica la Interfaz de Red Elástica (ENI) asociada a la instancia de replicación.

Fase 2: resolución de DNS y descubrimiento de rutas de red

  • Resolución del VPC-based DNS de Amazon: crea una función Lambda temporal en la misma Amazon VPC que la instancia de replicación para convertir el nombre de host del punto final en su dirección IP desde el contexto de Amazon VPC, lo que garantiza una resolución de DNS privada precisa.

  • Identificación del objetivo: determina el objetivo apropiado para Reachability Analyzer en función de si el punto final se encuentra dentro de la misma Amazon VPC (usa ENI) o externo (usa una dirección IP resuelta).

  • Comprobación de compatibilidad con IPv6: valida que las direcciones resueltas sean IPv4, ya que Reachability Analyzer no admite direcciones IPv6.

Fase 3: Análisis exhaustivo de rutas de red

  • Ejecución del analizador de accesibilidad: crea una ruta de Network Insights desde la ENI de la instancia de replicación hasta el destino (ENI o dirección IP del punto final) y ejecuta un análisis exhaustivo para probar la conectividad TCP en el puerto especificado.

  • Multi-layer Análisis de red: examina la ruta de red completa, incluidas las tablas de enrutamiento, los grupos de seguridad, las ACL de red, las pasarelas de Internet, las pasarelas de NAT, las conexiones de interconexión de Amazon VPC y las pasarelas de tránsito, para identificar las barreras de conectividad.

  • Generación de explicaciones detalladas: en caso de fallos de conectividad, proporciona explicaciones específicas para cada componente de red que bloquea el tráfico, incluidos los números exactos de las reglas, los bloqueos de CIDR, los intervalos de puertos y las restricciones de protocolo.

Fase 4: generación de informes y limpieza de recursos

  • Informes exhaustivos: genera un informe detallado que contiene un resumen de las pruebas de conexión, los resultados del análisis de las rutas de red y las explicaciones específicas de los fallos, junto con una guía para solucionarlos.

  • Administración de recursos: limpia automáticamente los recursos creados (función de Lambda, funciones de IAM, rutas de Network Insights), a menos que el PersistReachabilityAnalyzerResults parámetro esté configurado para conservar los resultados del análisis para su posterior investigación.

  • Gestión de errores: proporciona informes de errores específicos para varios escenarios de error, como los motores de bases de datos no compatibles, los recursos faltantes, los errores de resolución de DNS y los problemas de permisos.

El manual permite solucionar problemas de conectividad en varios motores de bases de datos, incluidos Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Azure SQL Database, DB2, MySQL, Oracle, PostgreSQL, SQL Server y muchos otros.

Ejecuta esta automatización (consola)

Tipo de documento

Automatización

Propietario

Amazon

Plataformas

/

Permisos de IAM necesarios

El parámetro AutomationAssumeRole requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.

  • 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

Permisos de IAM opcionales

Los siguientes permisos solo son necesarios dentro de AutomationAssumeRole si no proporciona ningún LambdaRoleArn parámetro y desea que la automatización cree la función de ejecución de Lambda automáticamente:

  • iam:CreateRole

  • iam:DeleteRole

  • iam:AttachRolePolicy

  • iam:DetachRolePolicy

  • iam:TagRole

  • iam:UntagRole

importante

Además de las acciones mencionadas anteriormente, se AutomationAssumeRole debe adjuntar la política gestionada para que las pruebas del Reachability Analyzer se realicen correctamente. AmazonVPCReachabilityAnalyzerFullAccessPolicy

Ejemplo de política:

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

Instrucciones

Siga estos pasos para configurar la automatización:

  1. Navegue hasta AWSSupport-TroubleshootDMSEndpointConnection el Administrador de Sistemas, en la sección Documentos.

  2. Elija Execute automation (Ejecutar automatización).

  3. Para los parámetros de entrada, introduzca lo siguiente:

    • AutomationAssumeRole (Opcional):

      • Descripción: (opcional) El nombre de recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a SSM Automation realizar las acciones en tu nombre. Si no se especifica ningún rol, SSM Automation usa los permisos del usuario que inicia este libro de operaciones.

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

    • DmsEndpointArn (Obligatorio)

      • Descripción: (Obligatorio) El nombre del recurso de Amazon (ARN) del AWS Database Migration Service punto final.

      • Tipo: String

      • Valor permitido: ^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 (Obligatorio)

      • Descripción: (Obligatorio) El nombre de recurso de Amazon (ARN) de la instancia de AWS Database Migration Service replicación.

      • Tipo: String

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

    • PersistReachabilityAnalyzerResults (Opcional)

      • Descripción: (opcional) El indicador que indica si los resultados de la ejecución del análisis de Network Insights deben conservarse o no.

      • Tipo: Boolean

      • Valores permitidos: [true, false]

      • Valor predeterminado: false

    • LambdaRoleArn (Opcional)

      • Descripción: (opcional) El nombre del recurso de Amazon (ARN) del rol AWS AWS Identity and Access Management (IAM) que permite a la AWS Lambda función acceder a los AWS servicios y recursos necesarios. Si no se especifica ningún rol, esta automatización de Systems Manager creará un rol de IAM para Lambda en su cuenta.

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

      • Valor predeterminado: ""

    • Confirmar (obligatorio)

      • Descripción: (Obligatorio) Introdúzcalo yes para confirmar que este manual creará una función de Lambda en su cuenta y, si no se proporciona ningunaLambdaRoleArn, creará una función de IAM.

      • Tipo: String

      • Valor permitido: ^[Yy][Ee][Ss]$

  4. Seleccione Ejecutar.

  5. Se inicia la automatización.

  6. Este documento realiza los siguientes pasos:

    • DescribeEndpointAndCheckEngine:

      Recupera la configuración del AWS DMS punto final y valida si el tipo de motor de base de datos es compatible para solucionar problemas. Extrae el nombre del servidor, el puerto y el tipo de motor de la configuración del punto final.

    • BranchOnEndpointAndCheckEngineErrors:

      Diversifica la automatización en función de cualquier error de la validación del punto final. Si se encuentran errores, la automatización procede a generar un informe de errores; de lo contrario, continúa con las pruebas de conectividad.

    • GetTestConnectionStatus:

      Recupera el estado de la conexión y el mensaje de error del AWS DMS punto final mediante la DescribeConnections API. Este paso comprueba si se ha realizado una prueba de conexión y captura cualquier mensaje de error.

    • BranchOnTestConnectionStatusErrors:

      Diversifica la automatización en función de los errores de estado de las pruebas de conexión. Si se detectan errores, la automatización genera un informe de errores; de lo contrario, continúa con el análisis de la instancia de replicación.

    • DescribeReplicationInstance:

      Recupera los detalles de configuración de red de la instancia de AWS DMS replicación, incluidos el ID de Amazon VPC, los ID de subred y los ID de grupos de seguridad, e identifica la Elastic Network Interface (ENI) asociada.

    • ValidateResourcePermissions:

      Valida que el rol de ejecución tenga los permisos necesarios para eliminar los recursos que se crearán durante el proceso de automatización.

    • CreateDNSResolverLambda:

      Crea una AWS CloudFormation pila que contiene una función de Lambda implementada en la misma Amazon VPC que la instancia de replicación. Esta función se usa para convertir los nombres de DNS en direcciones IP privadas desde el contexto de Amazon VPC.

    • DescribeCloudFormationErrorFromStackEvents:

      Si se produce un error en la creación de la CloudFormation pila, en este paso se describen los errores de los eventos de la pila para proporcionar información detallada sobre los errores para la solución de problemas.

    • GetDNSResolverLambdaName:

      Recupera el nombre de la función Lambda de resolución de DNS de los resultados de la CloudFormation pila para usarlo en los pasos siguientes.

    • ResolveDmsEndpoint:

      Invoca la función Lambda para convertir el nombre de host del AWS DMS punto final en su dirección IP desde la Amazon VPC. Esto garantiza una resolución precisa del DNS privado y valida la compatibilidad con IPv4.

    • BranchOnResolveDmsEndpointErrors:

      Diversifica la automatización en función de los errores de resolución de DNS. Si el punto final no se puede resolver o se resuelve en una dirección IPv6, la automatización genera un informe de errores.

    • GetReachabilityAnalyzerTarget:

      Identifica el objetivo apropiado para Reachability Analyzer en función de la configuración de Amazon VPC y la ubicación del punto final. Determina si se debe utilizar un ENI (para los puntos de enlace de la VPC de Amazon) o una dirección IP (para los puntos de enlace externos) como destino.

    • GenerateErrors:

      Crea un informe de errores completo cuando se producen errores en los pasos anteriores. Incluye detalles sobre los errores de validación de los terminales, los errores en las pruebas de conexión o los problemas de resolución del DNS, con instrucciones específicas para solucionarlos.

    • GenerateReport:

      Crea un informe completo de solución de problemas que contiene el estado de la conexión, los resultados del análisis de las rutas de red con Reachability Analyzer, las explicaciones detalladas de las barreras de conectividad y las acciones recomendadas para su resolución.

    • CheckStackExists:

      Comprueba si la CloudFormation pila se creó correctamente y si es necesario eliminarla durante la limpieza. Este paso garantiza una administración adecuada de los recursos, independientemente del éxito o el fracaso de la automatización.

    • DeleteDNSResolverLambda:

      Elimina la CloudFormation pila que contiene la función Lambda de resolución de DNS y los recursos asociados (a menos que PersistReachabilityAnalyzerResults esté establecida entrue), lo que garantiza que no queden recursos residuales una vez finalizada la automatización.

  7. Una vez completada, consulta la sección Salidas para ver los resultados detallados de la ejecución:

    • GetTestConnectionStatus.status

      El estado actual de la prueba de conexión entre la instancia de AWS DMS replicación y el punto final (por ejemplo, exitosa, fallida, en prueba).

    • DescribeCloudFormationErrorFromStackEvents.Events

      Si la creación de la CloudFormation pila falla, este resultado contiene eventos de error detallados del proceso de creación de la pila para ayudar a diagnosticar los problemas de implementación de la infraestructura.

    • GenerateReport.report

      Un informe completo de solución de problemas que contiene los resultados del análisis de la conexión, las conclusiones del analizador de accesibilidad, el análisis de las rutas de red, las barreras de conectividad específicas identificadas y las recomendaciones de corrección detalladas, con enlaces a la documentación pertinente. AWS

    • GenerateErrors.report

      Si se producen errores durante el proceso de automatización, este resultado proporciona un informe de errores detallado que incluye los motivos específicos de los errores, los recursos afectados y una guía para resolver los problemas antes de volver a intentar la automatización.

Referencias

Automatización de Systems Manager