View a markdown version of this page

AWSSupport-TroubleshootDMSEndpointConnection - AWS Systems Manager Referência do Automation Runbook

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWSSupport-TroubleshootDMSEndpointConnection

Descrição

O AWSSupport-TroubleshootDMSEndpointConnectionrunbook ajuda a diagnosticar e solucionar problemas de conectividade entre instâncias de AWS Database Migration Service replicação e endpoints. AWS DMS A automação usa verificações do Reachability Analyzer para testar a conectividade da rede e analisa a configuração da rede para identificar possíveis problemas de conectividade que poderiam impedir migrações bem-sucedidas. AWS DMS

Importante

Você deve ter testado a conectividade entre a instância de AWS DMS replicação e o endpoint usando o AWS DMS console ou a API antes de executar esse runbook. Se você não testou a conexão, faça isso primeiro, caso contrário, talvez seja necessário executar este runbook novamente. Tanto a instância AWS DMS de replicação quanto o endpoint devem estar em um estado disponível para testes de conectividade precisos.

Importante

Esse runbook cria e invoca AWS Lambda funções, que incorrerão em cobranças Lambda. Cada execução de análise do Reachability Analyzer também incorre em cobranças. Para obter detalhes sobre preços, consulte a página de preços do Amazon VPC na guia Análise de rede e AWS Lambda Preços.

Como funciona?

O runbook realiza uma análise sistemática da AWS DMS conectividade por meio das seguintes fases:

Fase 1: Validação de recursos e pré-requisitos

  • Validação do endpoint: verifica se o AWS DMS endpoint existe, recupera sua configuração (nome do servidor, porta, tipo de mecanismo) e confirma se o mecanismo do banco de dados é compatível com a solução de problemas.

  • Status do teste de conexão: recupera o status atual do teste de conexão entre a instância de replicação e o endpoint usando a AWS DMS DescribeConnections API, incluindo todas as mensagens de falha de tentativas de teste anteriores.

  • Análise da instância de replicação: reúne detalhes da configuração da rede, incluindo ID da Amazon VPC, sub-rede, grupo de segurança IDs IDs, e identifica a interface de rede elástica (ENI) associada à instância de replicação.

Fase 2: Resolução de DNS e descoberta de caminhos de rede

  • Resolução de DNS baseada na Amazon VPC: cria uma função Lambda temporária dentro da mesma Amazon VPC da instância de replicação para resolver o nome do host do endpoint para seu endereço IP a partir do contexto da Amazon VPC, garantindo uma resolução precisa de DNS privado.

  • Identificação do alvo: determina a meta apropriada para o Reachability Analyzer com base no fato de o endpoint estar dentro da mesma Amazon VPC (usa ENI) ou externo (usa endereço IP resolvido).

  • IPv6 Verificação de compatibilidade: valida se os endereços foram resolvidos IPv4, pois o Reachability Analyzer não oferece suporte a endereços. IPv6

Fase 3: Análise abrangente do caminho de rede

  • Execução do Reachability Analyzer: cria um caminho do Network Insights da ENI da instância de replicação até o destino (ENI do endpoint ou endereço IP) e executa uma análise abrangente para testar a conectividade TCP na porta especificada.

  • Análise de rede multicamada: examina o caminho completo da rede, incluindo tabelas de rotas, grupos de segurança, rede, gateways de internet ACLs, gateways NAT, conexões de emparelhamento da Amazon VPC e gateways de trânsito para identificar barreiras de conectividade.

  • Geração de explicação detalhada: Para falhas de conectividade, fornece explicações específicas para cada componente de rede que bloqueia o tráfego, incluindo números de regras exatos, blocos CIDR, intervalos de portas e restrições de protocolo.

Fase 4: Geração de relatórios e limpeza de recursos

  • Relatórios abrangentes: gera um relatório detalhado contendo o resumo do teste de conexão, os resultados da análise do caminho da rede e explicações específicas de falhas com orientação de remediação.

  • Gerenciamento de recursos: limpa automaticamente os recursos criados (função Lambda, funções do IAM, caminhos do Network Insights), a menos que PersistReachabilityAnalyzerResults o parâmetro seja definido para reter os resultados da análise para uma investigação mais aprofundada.

  • Tratamento de erros: fornece relatórios de erros específicos para vários cenários de falha, incluindo mecanismos de banco de dados sem suporte, recursos ausentes, falhas na resolução de DNS e problemas de permissão.

O runbook oferece suporte à solução de problemas de conectividade para vários mecanismos de banco de dados, incluindo Amazon Aurora, Amazon DocumentDB, Amazon DynamoDB, Amazon Neptune, Amazon Redshift, Amazon S3, Banco de Dados SQL do Azure, MySQL, Oracle, PostgreSQL, DB2 SQL Server e muitos outros.

Executar esta automação (console)

Tipo de documento

Automação

Proprietário

Amazon

Plataformas

/

Permissões obrigatórias do IAM

O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.

  • 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

Permissões opcionais do IAM

As permissões a seguir são necessárias somente AutomationAssumeRole se você não fornecer um LambdaRoleArn parâmetro e quiser que a automação crie a função de execução do Lambda para você:

  • iam:CreateRole

  • iam:DeleteRole

  • iam:AttachRolePolicy

  • iam:DetachRolePolicy

  • iam:TagRole

  • iam:UntagRole

Importante

Além das ações acima mencionadas, a Amazon AutomationAssumeRole deve ter a Amazon VPCReachability AnalyzerFullAccessPolicy como uma política gerenciada anexada para que os testes do Reachability Analyzer sejam realizados com sucesso.

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

Instruções

Siga estas etapas para configurar a automação:

  1. Navegue até AWSSupport-TroubleshootDMSEndpointConnectionem Systems Manager em Documentos.

  2. Selecione Execute automation (Executar automação).

  3. Para os parâmetros de entrada, insira o seguinte:

    • AutomationAssumeRole (Opcional):

      • Descrição: (Opcional) O Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) que permite que o SSM Automation execute as ações em seu nome. Se nenhuma função for especificada, o SSM Automation usa as permissões do usuário que inicia esse runbook.

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

    • DmsEndpointArn (Obrigatório)

      • Descrição: (Obrigatório) O nome de recurso da Amazon (ARN) do AWS Database Migration Service endpoint.

      • Tipo: String

      • Allowed-pattern: ^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 (Obrigatório)

      • Descrição: (Obrigatório) O nome de recurso da Amazon (ARN) da instância de AWS Database Migration Service replicação.

      • Tipo: String

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

    • PersistReachabilityAnalyzerResults (Opcional)

      • Descrição: (Opcional) O sinalizador informando se os resultados da execução da Análise do Network Insights devem ser mantidos ou não.

      • Tipo: Boolean

      • Valores permitidos: [true, false]

      • Padrão: false

    • LambdaRoleArn (Opcional)

      • Descrição: (Opcional) O Amazon Resource Name (ARN) da função AWS AWS Identity and Access Management (IAM) que permite que a AWS Lambda função acesse os AWS serviços e recursos necessários. Se nenhuma função for especificada, esse Systems Manager Automation criará uma função do IAM para o Lambda em sua conta.

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

      • Padrão: ""

    • Reconhecer (Obrigatório)

      • Descrição: (Obrigatório) Digite yes para confirmar que este runbook criará uma função Lambda em sua conta e criará uma função do IAM se LambdaRoleArn nenhuma for fornecida.

      • Tipo: String

      • Allowed-pattern: ^[Yy][Ee][Ss]$

  4. Selecione Executar.

  5. A automação é iniciada.

  6. O bucket realiza as seguintes etapas:

    • DescribeEndpointAndCheckEngine:

      Recupera a configuração do AWS DMS endpoint e valida se o tipo de mecanismo de banco de dados é compatível com a solução de problemas. Extrai o nome do servidor, a porta e o tipo de mecanismo da configuração do endpoint.

    • BranchOnEndpointAndCheckEngineErrors:

      Ramifica a automação com base em quaisquer erros da validação do endpoint. Se forem encontrados erros, a automação continuará gerando um relatório de erros; caso contrário, continuará com o teste de conectividade.

    • GetTestConnectionStatus:

      Recupera o status da conexão e a mensagem de erro do AWS DMS endpoint usando a DescribeConnections API. Essa etapa verifica se um teste de conexão foi realizado e captura qualquer mensagem de falha.

    • BranchOnTestConnectionStatusErrors:

      Ramifica a automação com base nos erros de status do teste de conexão. Se forem detectados erros, a automação gera um relatório de erros; caso contrário, ela prossegue com a análise da instância de replicação.

    • DescribeReplicationInstance:

      Recupera detalhes da configuração de rede para a instância de AWS DMS replicação, incluindo Amazon VPC ID, sub-rede, grupo de segurança IDs IDs, e identifica a Elastic Network Interface (ENI) associada.

    • ValidateResourcePermissions:

      Valida se a função de execução tem as permissões necessárias para limpar os recursos que serão criados durante o processo de automação.

    • Crie DNSResolver Lambda:

      Cria uma AWS CloudFormation pilha contendo uma função Lambda implantada na mesma Amazon VPC da instância de replicação. Essa função é usada para resolver nomes DNS em endereços IP privados a partir do contexto da Amazon VPC.

    • DescribeCloudFormationErrorFromStackEvents:

      Se a criação da CloudFormation pilha falhar, essa etapa descreve os erros dos eventos da pilha para fornecer informações detalhadas sobre falhas para solução de problemas.

    • Obtenha DNSResolverLambdaName:

      Recupera o nome da função Lambda do resolvedor de DNS das saídas da CloudFormation pilha para uso nas etapas subsequentes.

    • ResolveDmsEndpoint:

      Invoca a função Lambda para resolver o nome do host do AWS DMS endpoint para seu endereço IP de dentro da Amazon VPC. Isso garante uma resolução precisa do DNS privado e valida a compatibilidade IPv4 .

    • BranchOnResolveDmsEndpointErrors:

      Ramifica a automação com base em erros de resolução de DNS. Se o endpoint não puder ser resolvido ou for resolvido para um IPv6 endereço, a automação gerará um relatório de erro.

    • GetReachabilityAnalyzerTarget:

      Identifica o destino apropriado para o Reachability Analyzer com base na configuração da Amazon VPC e na localização do endpoint. Determina se deve usar uma ENI (para os mesmos endpoints VPC da Amazon) ou um endereço IP (para endpoints externos) como destino.

    • GenerateErrors:

      Cria um relatório de erros abrangente quando ocorrem falhas nas etapas anteriores. Isso inclui detalhes sobre erros de validação de endpoints, falhas no teste de conexão ou problemas de resolução de DNS com orientações específicas de remediação.

    • GenerateReport:

      Cria um relatório abrangente de solução de problemas contendo o status da conexão, os resultados da análise do caminho da rede usando o Reachability Analyzer, explicações detalhadas das barreiras de conectividade e ações recomendadas para resolução.

    • CheckStackExists:

      Verifica se a CloudFormation pilha foi criada com sucesso e precisa ser excluída durante a limpeza. Essa etapa garante o gerenciamento adequado dos recursos, independentemente do sucesso ou falha da automação.

    • Exclua DNSResolver Lambda:

      Exclui a CloudFormation pilha que contém a função Lambda do resolvedor de DNS e os recursos associados (a menos que PersistReachabilityAnalyzerResults esteja definida comotrue), garantindo que nenhum recurso residual permaneça após a conclusão da automação.

  7. Depois de concluído, revise a seção Saídas para obter os resultados detalhados da execução:

    • GetTestConnectionStatus.status

      O status atual do teste de conexão entre a instância de AWS DMS replicação e o endpoint (por exemplo, sucesso, falha, teste).

    • DescribeCloudFormationErrorFromStackEvents.Eventos

      Se a criação da CloudFormation pilha falhar, essa saída conterá eventos de erro detalhados do processo de criação da pilha para ajudar a diagnosticar problemas de implantação da infraestrutura.

    • GenerateReport.relatório

      Um relatório abrangente de solução de problemas contendo resultados da análise de conexão, descobertas do Reachability Analyzer, análise do caminho da rede, barreiras de conectividade específicas identificadas e recomendações detalhadas de remediação com links para a documentação relevante. AWS

    • GenerateErrors.relatório

      Se ocorrerem erros durante o processo de automação, essa saída fornecerá um relatório de erros detalhado, incluindo motivos específicos da falha, recursos afetados e orientações para resolver os problemas antes de tentar novamente a automação.

Referências

Automação do Systems Manager