

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á.

# AWS Glue
<a name="automation-ref-glu"></a>

 AWS Systems Manager A automação fornece runbooks predefinidos para. AWS Glue Para obter informações sobre como usar runbooks, consulte [Trabalhado com runbooks](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html). Para obter informações sobre como visualizar o conteúdo do runbook, consulte [Exibir conteúdo do runbook](automation-runbook-reference.md#view-automation-json). 

**Topics**
+ [`AWSSupport-TroubleshootGlueConnection`](automation-awssupport-troubleshootglueconnection.md)

# `AWSSupport-TroubleshootGlueConnection`
<a name="automation-awssupport-troubleshootglueconnection"></a>

 **Descrição** 

 O **AWSSupport-TroubleshootGlueConnections**runbook ajuda a solucionar problemas de AWS Glue conexão. O destino da conexão testada deve ser alcançado por meio de uma conexão JDBC e pode ser um cluster/instância do Amazon Relational Database Service (Amazon RDS), um cluster do Amazon Redshift ou qualquer outro destino acessível por meio do JDBC. Nos dois primeiros casos, a ferramenta Reachability Analyzer é usada para determinar se a conectividade entre a origem AWS Glue() e o destino (Amazon RDS ou Amazon Redshift) foi concedida. 

 Se o destino da conexão não for o Amazon RDS nem o Amazon Redshift, a conectividade ainda será testada criando AWS Lambda uma função na mesma AWS Glue sub-rede da conexão (um ponto de presença da rede) e verificando se o nome do destino pode ser resolvido e se está acessível na porta de destino. 

**Importante**  
 Para executar as verificações do [Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)[, as interfaces de rede elástica](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) serão criadas em cada uma das sub-redes da fonte de dados da conexão. Verifique se você tem espaço livre suficiente IPs nessas sub-redes e se o consumo de um IP não afetará sua carga de trabalho antes de executar essa automação. 

**Importante**  
 Todos os recursos criados por essa automação são marcados para que possam ser facilmente encontrados. As tags usadas são:   
 `AWSSupport-TroubleshootGlueConnection`: true 
 `AutomationExecutionId`: *Amazon EC2 Systems Manager Execution Id* 

 **Como funciona?** 

 O runbook executa as seguintes etapas: 
+ Descreve a AWS Glue conexão para obter as informações de origem (sub-rede e grupos de segurança) para as verificações de conectividade.
+ Busca as informações de destino (sub-rede e grupos de segurança) da fonte de dados referenciada na URL do JDBC ou dos parâmetros e, se estiverem presentes. `DatasourceSecurityGroups` `DatasourceSubnets`
+ Se a fonte de dados presente na URL do JDBC for uma instância ou cluster do Amazon RDS ou um cluster do Amazon Redshift, essa automação é criada ENIs usando as informações de origem e de destino coletadas nas etapas anteriores e usa o Reachability Analyzer para realizar uma verificação de conectividade entre elas.
+ Uma função Lambda (ponto de presença da rede, no contexto dessa automação) é usada para realizar verificações de conectividade L4 e resolução de nomes.
+ A mesma função Lambda é usada para realizar as verificações no endpoint do Amazon S3.
+ O Policy Simulator é usado para determinar se a função do IAM usada na conexão tem as permissões necessárias.
+ A automação verifica se o grupo de segurança usado pela conexão tem a configuração esperada.
+ Um relatório é gerado contendo as possíveis causas da falha na operação de conexão de teste e and/or também os testes bem-sucedidos que foram realizados.

 [Executar esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootGlueConnection) 

**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` 
+  `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**  
 Além das ações acima mencionadas, a Amazon `AutomationAssumeRole` deve ter a [Amazon VPCReachability AnalyzerFullAccessPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonVPCReachabilityAnalyzerFullAccessPolicy.html) como uma [política gerenciada anexada](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) para que os testes do [Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html) sejam realizados com sucesso. 

Aqui está um exemplo de uma política que poderia ser concedida para`AutomationAssumeRole`:

------
#### [ JSON ]

****  

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

------

 **Instruções** 

Siga estas etapas para configurar a automação:

1. Navegue até [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootGlueConnection/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootGlueConnection/description)em Systems Manager em Documentos.

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

1. Para os parâmetros de entrada, insira o seguinte:
   +  **AutomationAssumeRole (Opcional):** 

      O Amazon Resource Name (ARN) da função AWS AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation execute as ações em seu nome. Se nenhuma função for especificada, o Systems Manager Automation usa as permissões do usuário que inicia esse runbook. 
   +  **TestConnectionRole (Obrigatório)** 

      O Amazon Resource Name (ARN) da função do IAM que é usada durante o teste de conexão. 
   +  **ConnectionName (Obrigatório)** 

      AWS Glue falha no nome da conexão de teste que você deseja solucionar. 
   +  **PersistReachabilityAnalyzerResults(Opcional)** 

      O sinalizador informando se os resultados da execução do Reachability Analyzer devem ser mantidos ou não. Padrão: `false.` 
   +  **PointOfPresenceLogRetentionPeriod(Opcional)** 

      A quantidade de dias pelos quais os registros do ponto de presença Lambda serão armazenados. Padrão: `7`. 
   +  **DatasourceSubnets (Opcional)** 

      Se a fonte de dados original não estiver disponível, use esse parâmetro para fornecer as sub-redes usadas para que os testes de conectividade ainda sejam executados. **Deve** ser usado com`DatasourceSecurityGroups`. Exemplo: `subnet-1,subnet-2`. 
   +  **DatasourceSecurityGroups (Opcional)** 

      Se a fonte de dados original não estiver disponível, use esse parâmetro para fornecer os grupos de segurança usados para que os testes de conectividade ainda sejam executados. **Deve** ser usado com`DatasourceSubnets`. Exemplo: `sg-1,sg-2`.   
![\[Input parameters form for AWS Glue connection troubleshooting with various configuration options.\]](http://docs.aws.amazon.com/pt_br/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshootglueconnection_input_parameters.png)

1. Selecione Executar.

1. A automação é iniciada.

1. O runbook de automação realiza as seguintes etapas:
   +  **ParseInputs:** 

      Essa etapa valida a combinação de entradas. Se ambos `DatasourceSecurityGroups` `DatasourceSubnets` forem fornecidos, eles serão válidos e retornados como estão. Se nenhuma for fornecida, duas listas vazias serão retornadas. Se apenas um deles for fornecido, a etapa gera uma`ValueException`. 
   +  **GetConnectionDetails:** 

     Essas etapas retornam os detalhes da AWS Glue conexão fornecida.
   +  **ParseSecurityGroupList:** 

      Essa etapa é usada para concatenar o `SecurityGroupIdList` in a para `String` futura utilização nessa automação.
   +  **GetConnectionData:** 

      Determina, com base na URL do JDBC, que tipo de conexão entre: `RedShift``RdsInstance`, e. `RdsCluster` `Other` Além disso, retorna o domínio e a porta usados na conexão JDBC, o Amazon VPC da conexão e seus servidores de nomes de domínio. 
   +  **GetNetworkDetails:** 

      Obtém as informações da sub-rede e do grupo de segurança do destino do Amazon RDS ou do Amazon Redshift. 
   +  **CrieENITemplate:** 

      Gera o AWS CloudFormation modelo usado para criar as interfaces de rede usadas para testar a conectividade. Isso é necessário para executar a ferramenta Reachability Analyzer. 
   +  **CrieENIStack:** 

      Cria a CloudFormation pilha a partir do modelo criado na etapa anterior. 
   +  **GetStackDetails:** 

      Descreve a CloudFormation pilha criada na pilha anterior e recupera as `SourceNetworkInterface` informações de um. `TargetNetworkInterfaces` 
   +  **RunSourceToTargetCheck:** 

      Executa verificações entre a origem e o destino ENIs criados na etapa anterior usando a ferramenta Reachability Analyzer. 
   +  **ExcluirENIStack:** 

     Exclui a CloudFormation pilha que cria interfaces de rede
   +  **CreateNetworkPointOfPresence:** 

      CloudFormation cria a função Lambda usada como ponto de presença da rede. 
   +  **GetFunctionName:** 

      Executa uma chamada de API CloudFormation describe stack para recuperar o nome da função Lambda criada na etapa anterior. 
   +  **RunEndpointChecks:** 

      Usa o ponto de presença da rede para determinar se o endpoint presente na conexão JDBC é solucionável e acessível na porta declarada. 
   +  **Verifica a conectividade do CheckS3:** 

      Verifica a conectividade de rede a partir da AWS Glue conexão com o serviço Amazon S3. 
   +  **DeletePointOfPresence:** 

      Exclui a CloudFormation pilha que cria o ponto de presença da rede Lambda. 
   +  **IAMRolePermissões de teste:** 

      Verifica se a função do IAM usada para o teste tem as permissões necessárias para executá-la. 
   +  **CheckConnectionSecurityGroupReferencingRule:** 

      Verifica se o grupo de segurança usado na AWS Glue conexão está permitindo todo o tráfego de entrada de si mesmo. Ele retornará uma lista dos grupos de segurança sem essa regra, se houver. 
   +  **GenerateReport:** 

      Gera um relatório contendo uma lista de descobertas (possíveis motivos para a falha no teste de conexão) e as próximas etapas (tentativas de resolver a falha do teste de conexão). 

1. Depois de concluído, revise a seção Saídas para obter os resultados detalhados da execução:
   +  **Resultados da automação** 

      Nesta seção, você encontrará cenários que descrevem as possíveis causas da falha da operação de conexão de teste (descobertas) e como elas podem ser corrigidas (próximas etapas). Se a automação não conseguir encontrar a causa da falha no teste, isso também será informado nesta seção. 
   +  **Testes bem-sucedidos** 

      Nesta seção, você encontrará cenários que informam o que foi testado com sucesso por essa automação. Testes bem-sucedidos são úteis caso a automação não consiga identificar a causa da falha na conexão de teste, pois reduzem o escopo da investigação ao informar o que não está contribuindo para o problema. 
   +  **Erros de automação** 

      Nesta seção, você encontrará cenários que descrevem problemas que ocorreram durante a automação, que podem ter limitado o número de testes que a automação poderia realizar. A descrição do cenário informará qual etapa falhou.   
![\[Troubleshooting results for AWS Glue connection issues with DNS resolution and IAM role problems.\]](http://docs.aws.amazon.com/pt_br/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshootglueconnection_outputs.png)

 **Referências** 

Automação do Systems Manager
+  [Execute esta automação (console)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootGlueConnection/description) 
+  [Executar uma automação](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html) 
+  [Configurar a automação](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html) 
+  [Página inicial dos fluxos de trabalho de automação](https://aws.amazon.com/premiumsupport/technology/saw/) 