AWSSupport-TroubleshootGlueConnection - AWS Systems Manager Referencia del manual 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-TroubleshootGlueConnection

Descripción

El TroubleshootGlueConnections manual de AWSSupportinstrucciones ayuda a solucionar problemas AWS Glue de conexión. El destino de la conexión probada debe alcanzarse a través de una JDBC conexión y puede ser un clúster/instancia de Amazon Relational Database Service (RDSAmazon), un clúster o cualquier otro destino al que se pueda acceder. JDBC En los dos primeros casos, se utiliza la herramienta Reachability Analyzer para determinar si se concede la conectividad entre la fuente AWS Glue() y el destino (Amazon o RDS Amazon Redshift).

Si el destino de la conexión no es Amazon RDS ni Amazon Redshift, la conectividad se sigue probando creando una AWS Lambda función en la misma subred que la AWS Glue conexión (un punto de presencia de la red) y comprobando si el nombre del destino se puede resolver y si se puede acceder a él en el puerto de destino.

importante

Para ejecutar las comprobaciones del Reachability Analyzer, se crearán interfaces de red elásticas en cada una de las subredes de fuentes de datos de la conexión. Asegúrese de disponer de suficiente espacio libre IPs en esas subredes y de que el consumo de una IP no afecte a su carga de trabajo antes de ejecutar esta automatización.

importante

Todos los recursos creados por esta automatización están etiquetados para que se puedan encontrar fácilmente. Las etiquetas utilizadas son:

  • AWSSupport-TroubleshootGlueConnection: true

  • AutomationExecutionId: Amazon EC2 Systems Manager Execution Id

¿Cómo funciona?

El manual de instrucciones realiza los siguientes pasos:

  • Describe la AWS Glue conexión para obtener la información de origen (subred y grupos de seguridad) para las comprobaciones de conectividad.

  • Obtiene la información de destino (subred y grupos de seguridad) de la fuente de datos a la que se hace referencia en los JDBC URL DatasourceSubnets parámetros DatasourceSecurityGroups y, si están presentes.

  • Si la fuente de datos presente en el JDBC URL es una RDS instancia o clúster de Amazon o un clúster de Amazon Redshift, esta automatización se ENIs crea con la información de origen y destino recopilada en los pasos anteriores y utiliza Reachability Analyzer para realizar una comprobación de conectividad entre ellos.

  • Se utiliza una función Lambda (punto de presencia de la red, en el contexto de esta automatización) para realizar comprobaciones de conectividad L4 y resolución de nombres.

  • La misma función Lambda se utiliza para realizar las comprobaciones en el punto de conexión Amazon S3.

  • El simulador de políticas se utiliza para determinar si el IAM rol utilizado en la conexión tiene los permisos necesarios.

  • La automatización comprueba si el grupo de seguridad utilizado por la conexión tiene la configuración esperada.

  • Se genera un informe que contiene las posibles causas del error en la operación de prueba de la conexión y/o también las pruebas realizadas con éxito.

Ejecuta esta automatización (consola)

Tipo de documento

Automatización

Propietario

Amazon

Plataformas

/

IAMPermisos necesarios

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

  • cloudformation:CreateStack

  • cloudformation:DeleteStack

  • ec2:CreateNetworkInsightsPath

  • ec2:CreateNetworkInterface

  • ec2:CreateTags

  • ec2:DeleteNetworkInsightsAnalysis

  • ec2:DeleteNetworkInsightsPath

  • ec2:DeleteNetworkInterface

  • ec2:StartNetworkInsightsAnalysis

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:DetachRolePolicy

  • iam:PutRolePolicy

  • iam:TagRole

  • lambda:CreateFunction

  • lambda:DeleteFunction

  • lambda:TagResource

  • logs:CreateLogGroup

  • logs:DeleteLogGroup

  • logs:PutRetentionPolicy

  • logs:TagResource

  • glue:GetConnection

  • glue:GetDataCatalogEncryptionSettings

  • cloudformation:DescribeStacks

  • cloudformation:DescribeStackEvents

  • ec2:DescribeDhcpOptions

  • ec2:DescribeNetworkInsightsPaths

  • ec2:DescribeNetworkInsightsAnalyses

  • ec2:DescribeSecurityGroupRules

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

  • ec2:DescribeVpcAttribute

  • iam:GetRole

  • iam:ListAttachedRolePolicies

  • iam:SimulatePrincipalPolicy

  • kms:DescribeKey

  • lambda:InvokeFunction

  • lambda:GetFunction

  • s3:GetEncryptionConfiguration

  • iam:PassRole

importante

Además de las acciones mencionadas anteriormente, AutomationAssumeRole deben tener la A mazonVPCReachability AnalyzerFullAccessPolicy como política gestionada adjunta para que las pruebas del Reachability Analyzer se realicen correctamente.

Este es un ejemplo de una política que podría concederse para: AutomationAssumeRole

{ "Version": "2012-10-17", "Statement": [{ "Sid": "TaggedAWSResourcesPermissions", "Effect": "Allow", "Condition": { "StringEquals": { "aws:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:TagResource", "logs:DeleteLogGroup", "logs:CreateLogGroup", "logs:PutRetentionPolicy", "logs:TagResource", "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": "*" }, { "Sid": "TaggedEC2ResourcesPermissions", "Effect": "Allow", "Condition": { "StringEquals": { "ec2:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Sid": "PutRolePolicy", "Effect": "Allow", "Condition": { "StringEquals": { "iam:ResourceTag/AWSSupport-TroubleshootGlueConnection": "true" } }, "Action": [ "iam:PutRolePolicy", "iam:DeleteRolePolicy" ], "Resource": "*" }, { "Sid": "InvokeFunction", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:*:lambda:*:*:function:point-of-presence-*" }, { "Sid": "UnTaggedActions", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInsightsPath", "ec2:DeleteNetworkInsightsAnalysis", "ec2:DeleteNetworkInsightsPath", "ec2:CreateNetworkInterface", "ec2:CreateTags", "ec2:StartNetworkInsightsAnalysis", "glue:GetConnection", "glue:GetDataCatalogEncryptionSettings", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInsightsPaths", "ec2:DescribeNetworkInsightsAnalyses", "ec2:DescribeSecurityGroupRules", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcAttribute", "iam:GetRole", "iam:ListAttachedRolePolicies", "iam:SimulatePrincipalPolicy", "kms:DescribeKey", "lambda:GetFunction", "s3:GetEncryptionConfiguration" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:*:iam::*:role/point-of-presence-*", "Condition": { "StringLikeIfExists": { "iam:PassedToService": "lambda.amazonaws.com" } } } ] }

Instrucciones

Siga estos pasos para configurar la automatización:

  1. Navegue hasta AWSSupport-TroubleshootGlueConnectionSystems Manager, en Documentos.

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

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

    • AutomationAssumeRole (Opcional):

      El nombre del recurso de Amazon (ARN) de la función AWS AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que inicia este runbook.

    • TestConnectionRole (Obligatorio)

      El nombre del recurso de Amazon (ARN) del IAM rol que se utiliza durante la prueba de conexión.

    • ConnectionName (Obligatorio)

      AWS Glue no se pudo comprobar el nombre de la conexión que deseas solucionar.

    • PersistReachabilityAnalyzerResults (Opcional)

      El indicador que informa si los resultados de la ejecución del Reachability Analyzer deben conservarse o no. Valor predeterminado: false.

    • PointOfPresenceLogRetentionPeriod (Opcional)

      La cantidad de días durante los que se almacenarán los registros del punto de presencia Lambda. Predeterminado: 7.

    • DatasourceSubnets (Opcional)

      Si la fuente de datos original no está disponible, utilice este parámetro para proporcionar las subredes que utilizó, de modo que se sigan realizando las pruebas de conectividad. Debe usarse con. DatasourceSecurityGroups Ejemplo: subnet-1,subnet-2.

    • DatasourceSecurityGroups (Opcional)

      Si la fuente de datos original no está disponible, utilice este parámetro para proporcionar los grupos de seguridad que utilizó, de modo que se sigan realizando las pruebas de conectividad. Debe usarse con. DatasourceSubnets Ejemplo: sg-1,sg-2.

    Input parameters form for AWS Glue connection troubleshooting with various configuration options.
  4. Seleccione Ejecutar.

  5. Se inicia la automatización.

  6. El manual de procedimientos de automatización realiza los siguientes pasos:

    • ParseInputs:

      Este paso valida la combinación de entradas. Si DatasourceSubnets se proporcionan ambos DatasourceSecurityGroups y, son válidos y se devuelven tal cual. Si no se proporciona ninguna, se devuelven dos listas vacías. Si solo se proporciona una de ellas, el escalón genera unaValueException.

    • GetConnectionDetails:

      Este paso devuelve los detalles de la AWS Glue conexión proporcionada.

    • ParseSecurityGroupList:

      Este paso se utiliza para concatenar lo que se utilizará SecurityGroupIdList en un String futuro en esta automatización.

    • GetConnectionData:

      Determina en función del JDBC URL tipo de conexión entre:RedShift, RdsInstance y. RdsCluster Other Además, devuelve el dominio y el puerto utilizados en la JDBC conexión, Amazon de la conexión VPC y sus servidores de nombres de dominio.

    • GetNetworkDetails:

      Obtiene la información de la subred y el grupo de seguridad del objetivo de Amazon RDS o Amazon Redshift.

    • C: reateENITemplate

      Genera la AWS CloudFormation plantilla utilizada para crear las interfaces de red que se utilizan para probar la conectividad. Esto es necesario para ejecutar la herramienta Reachability Analyzer.

    • C: reateENIStack

      Crea la AWS CloudFormation pila a partir de la plantilla creada en el paso anterior.

    • GetStackDetails:

      Describe la AWS CloudFormation pila creada en la pila anterior y recupera la SourceNetworkInterface TargetNetworkInterfaces información.

    • RunSourceToTargetCheck:

      Ejecuta comprobaciones entre el origen y el destino ENIs creados en el paso anterior mediante la herramienta Reachability Analyzer.

    • D: eleteENIStack

      Elimina la AWS CloudFormation pila que crea las interfaces de red

    • CreateNetworkPointOfPresence:

      AWS CloudFormation crea la función Lambda utilizada como punto de presencia de la red.

    • GetFunctionName:

      Realiza una API llamada a AWS CloudFormation describir la pila para recuperar el nombre de la función Lambda creada en el paso anterior.

    • RunEndpointChecks:

      Utiliza el punto de presencia de la red para determinar si el punto final presente en la JDBC conexión se puede resolver y se puede acceder a él en el puerto declarado.

    • Comprueba la conectividad de 3:

      Comprueba la conectividad de red desde la AWS Glue conexión al servicio Amazon S3.

    • DeletePointOfPresence:

      Elimina la AWS CloudFormation pila que crea el punto de presencia de la red Lambda.

    • Permisos TestIAMRole:

      Comprueba si el IAM rol utilizado para la prueba tiene los permisos necesarios para ejecutarla.

    • CheckConnectionSecurityGroupReferencingRule:

      Comprueba si el grupo de seguridad utilizado en la AWS Glue conexión permite que todo el tráfico de entrada provenga de él mismo. Devolverá una lista de los grupos de seguridad sin esta regla, si la hubiera.

    • GenerateReport:

      Genera un informe que contiene una lista de los resultados (posibles motivos del error en la prueba de conexión) y los pasos a seguir (intentos de resolver el error en la prueba de conexión).

  7. Una vez finalizada, revise la sección de resultados para ver los resultados detallados de la ejecución:

    • Resultados de la automatización

      En esta sección, encontrará escenarios que describen las posibles causas del fallo de la operación de conexión de prueba (hallazgos) y cómo pueden solucionarse (pasos siguientes). Si la automatización no puede encontrar la causa del fallo de la prueba, también se explicará en esta sección.

    • Pruebas exitosas

      En esta sección, encontrará escenarios que indican lo que esta automatización ha probado satisfactoriamente. Las pruebas realizadas correctamente son útiles en caso de que la automatización no pueda identificar la causa del fallo en la conexión de prueba, ya que reducen el alcance de la investigación al informar sobre lo que no contribuye al problema.

    • Errores de automatización

      En esta sección, encontrará escenarios que describen los problemas que se produjeron durante la automatización y que pueden haber limitado el número de pruebas que la automatización podía realizar. La descripción del escenario indicará qué paso falló.

    Troubleshooting results for AWS Glue connection issues with DNS resolution and IAM role problems.

Referencias

Automatización de Systems Manager