Como solucionar o erro “Ocorreu um erro ao se comunicar com o Amazon Athena” ao me conectar ao Athena com um driver JDBC ou ODBC?

4 minuto de leitura
0

Encontro problemas de tempo limite de conexão quando uso o Amazon Athena com um driver Java Database Connectivity (JDBC) ou Open Database Connectivity (ODBC). Ou não consigo ver os resultados da consulta do Athena na minha ferramenta de inteligência de negócios.

Resolução

A causa mais comum desse erro é a conexão entre o host em que você instalou o driver JDBC ou ODBC e os endpoints do Athena ou AWS Glue.

Para solucionar esse erro, verifique a conectividade entre o driver que está no host instalado e o Athena ou AWS Glue.

Observação: nas etapas a seguir, substitua o NAME em vpce-NAME pelo nome do endpoint da VPC.

Conectividade com o Athena

Para garantir que você tenha uma conectividade adequada com o Athena, lembre-se dos seguintes pontos:

  • Seu host pode se conectar ao Athena tanto com um endpoint de serviço público do Athena quanto com um endpoint privado do Athena. Para mais informações sobre como configurar o endpoint, consulte Opções da linha de comando e a documentação do Boto3.
  • O Athena usa a porta 443 para se conectar ao host.
  • A API de streaming do Athena usa a porta 444 para transmitir os resultados da consulta. Quando você usa um driver JDBC ou ODBC, o Athena usa essa porta para transmitir os resultados da consulta para o driver que estiver no host do cliente. Portanto, ao usar um driver JDBC ou ODBC para se conectar ao Athena, desbloqueie essa porta. Se essa porta estiver bloqueada, sua ferramenta de inteligência de negócios poderá atingir o tempo limite ou falhar em exibir os resultados da consulta quando você executa uma consulta.

Conectividade de endpoint do Athena

Um endpoint do Athena é semelhante a athena.us-east-1.amazonaws.com. Ao inserir o endpoint em um comando, certifique-se de atualizar a região da AWS de destino no endpoint.

Para testar a conectividade de um endpoint, execute os seguintes comandos, dependendo do seu sistema operacional (SO):

Observação: você também pode usar esses comandos para testar a conectividade à porta 444.

Windows

telnet athena.us-east-1.amazonaws.com 443

-ou-

Test-NetConnection -Computer_Name athena.us-east-1.amazonaws.com -Port 443

Linux ou macOS

nc -v athena.us-east-1.amazonaws.com 443

Se você usa um endpoint de nuvem privada virtual (VPC) para DNS privado, acrescente vpce-NAME ao início do endpoint nos comandos. Por exemplo, em vez de athena.us-east-1.vpce.amazonaws.com, digite vpce-NAME.athena.us-east-1.vpce.amazonaws.com para DNS privado. Substitua NAME pelo nome da VPC. Para mais informações sobre DNS privado, consulte Conectar-se ao Amazon Athena usando um endpoint de VPC de interface e Controle do acesso aos endpoints de VPC usando políticas de endpoint.

Além disso, certifique-se de seguir as melhores práticas para drivers ODCB ou JDBC. Por exemplo, ambos os drivers exigem que você mantenha a porta 444 aberta.

Conectividade com o AWS Glue

Certifique-se de verificar a conectividade entre o host que você instalou no driver JDBC ou ODBC e o AWS Glue. Seu host pode se conectar ao AWS Glue tanto com um endpoint de serviço público do AWS Glue quanto com um endpoint de serviço privado do AWS Glue. Para mais informações, consulte endpoints de serviço do AWS Glue. O Athena usa o Catálogo de Dados do AWS Glue para armazenar e recuperar metadados da tabela referentes aos dados do Amazon S3 em sua conta. Portanto, seu driver precisa se conectar com êxito ao catálogo do AWS Glue para obter as informações de metadados da tabela.

Se você usa um endpoint de serviço público do AWS Glue, teste a conectividade com um comando semelhante ao exemplo a seguir:

Observação: talvez seja necessário usar Test-NetConnection ou nc para verificar a conectividade da porta com base no seu sistema operacional.

telnet glue.us-east-1.amazonaws.com 443

Se você usa um endpoint de interface de VPC do AWS Glue, teste a conectividade com um comando semelhante ao exemplo a seguir:

Observação: use o comando a seguir se você tiver desativado o DNS privado para o endpoint.

telnet vpce-NAME.glue.us-east-1.vpce.amazonaws.com 443

Informações relacionadas

Conectando-se ao Amazon Athena com drivers ODBC e JDBC

AWS OFICIAL
AWS OFICIALAtualizada há um ano