Como soluciono problemas de trabalho entre contas do AWS Glue para um cluster Amazon MSK?

4 minuto de leitura
0

Quero solucionar um problema de trabalho malsucedido no AWS Glue que se conecta a um cluster Amazon Managed Streaming for Apache Kafka (MSK) em todas as contas da AWS.

Resolução

Verifique se o trabalho do AWS Glue pode se conectar ao cluster do Amazon MSK e, em seguida, solucione o problema do método de autenticação do trabalho do AWS Glue.

Verifique a conectividade entre contas do trabalho do AWS Glue

Para verificar se o trabalho do AWS Glue pode se conectar ao cluster Amazon MSK, execute as seguintes etapas:

  1. Verifique se a lista de controle de acesso à rede (ACL de rede) da conexão do AWS Glue permite o tráfego para o cluster Amazon MSK na Amazon Virtual Private Cloud (Amazon VPC) entre contas.
  2. Confirme que o grupo de segurança do cluster Amazon MSK permite a sub-rede CIDR da conexão AWS Glue nas portas do servidor bootstrap do cluster Amazon MSK.
    Observação: os grupos de segurança da conexão do AWS Glue devem conter uma regra de entrada autorreferenciada para as portas TCP necessárias.
  3. Verifique se você configurou corretamente suas conexões de peering de VPC entre o cluster Amazon MSK e as VPCs ou sub-redes da conexão do AWS Glue.
  4. Use o Reachability Analyzer para verificar se algum componente interfere na conectividade entre as VPCs.
  5. Execute uma instância do Amazon Elastic Compute Cloud (Amazon EC2) na mesma sub-rede e grupo de segurança que a conexão do AWS Glue usa.

Use o Session Manager, um recurso do AWS Systems Manager, ou um cliente SSH para fazer login na sua instância do EC2. Execute a seguinte consulta:

telnet example-bootstrap-server-hostname example-bootstrap-server-port  
nc -zv example-bootstrap-server-hostname example-bootstrap-server-port   
dig example-bootstrap-server-hostname

Observação: no comando anterior, substitua os valores de exemplo pelos valores reais. Se o telnet não estiver instalado, execute sudo yum install telnet -y para instalá-lo.

Se a saída contiver conexões conectadas ou estabelecidas, a conectividade do trabalho do AWS Glue será verificada.

Solucionar problemas de autenticação

Para verificar o URL do servidor bootstrap na conexão do AWS Glue, execute as seguintes etapas:

  1. Obtenha os corretores de bootstrap da Amazon MSK.
  2. Abra o console do AWS Glue.
  3. No painel de navegação, em Catálogo de dados, escolha Conexões. Também é possível escolher Conexões de dados no painel de navegação.
  4. Em Conexões, selecione sua conexão e escolha Ações.
  5. Na lista suspensa, escolha Editar.
  6. Em Acesso à conexão, verifique se os URLs do servidor de bootstrap Kafka correspondem aos URLs no console do Amazon MSK.
  7. Se os URLs não corresponderem, atualize-os de acordo com o método de autenticação usado pelo cluster Amazon MSK. Use os números de porta que correspondem à configuração do seu agente:
    Para TLS/SSL, use a porta 9094 para acesso na AWS e a porta 9194 para acesso público.
    Para SASL/SCRAM, use a porta 9096 para acesso na AWS e a porta 9196 para acesso público.
  8. Escolha Salvar alterações.

Em seguida, execute as seguintes ações com base no método de autenticação do cluster Amazon MSK.

SASL/SCRAM-SHA-512

Use o AWS Secrets Manager para verificar seu nome de usuário e senha. Se você usa o Secrets Manager para armazenar suas credenciais, verifique se a sub-rede da conexão do AWS Glue é capaz de se conectar ao endpoint do seu Secret Manager.

Autenticação de cliente TLS/SSL

Para validar o certificado de armazenamento de chaves e a senha do armazenamento de chaves ou senha de chave do cliente Kafka, execute o seguinte comando:

keytool -list -v -keystore /pathtocert/kafka.client.keystore.jks -storepass 123456

Verifique se a saída contém o certificado da AWS Private Certificate Authority (AWS Private CA) que o cluster Amazon MSK usa.

Se a saída não contiver o certificado, execute as etapas 5 a 11 de Configurar um cliente para usar a autenticação para criar novos armazenamentos de chaves.

Importante: Crie novos armazenamentos de chaves para cada cliente com o mesmo certificado privado que o cluster Amazon MSK usa.

Faça o upload do certificado kafka.client.keystore.jks para o Amazon Simple Storage Service (Amazon S3). Em seguida, configure sua conexão do AWS Glue Kafka com o caminho S3 do certificado.

Autenticação do IAM

Verifique se o perfil do AWS Identity and Access Management (IAM) do trabalho do AWS Glue tem a política de autorização correta para o cluster Amazon MSK.

Informações relacionadas

Como criar uma conexão com o Kafka

Streaming de trabalhos de ETL no AWS Glue

AWS OFICIAL
AWS OFICIALAtualizada há um mês