Como faço para acessar a interface do usuário do Apache Airflow usando o modo de acesso de rede privada no meu ambiente do Amazon MWAA?

Data da última atualização: 23/2/2022

Quando tento abrir a interface do usuário do Apache Airflow no meu ambiente do Amazon Managed Workflows for Apache Airflow (Amazon MWAA), recebo o erro "Connection timed out" (Tempo limite de conexão esgotado).

Descrição breve

O ambiente do Amazon MWAA fornece os modos de acesso público e privado para a interface do usuário do Apache Airflow. Com o modo de acesso público, o servidor Web Apache Airflow é aberto para a Internet e pode ser acessado sem qualquer configuração adicional. No entanto, você não pode controlar o acesso à rede do servidor Web Apache Airflow usando um grupo de segurança. Portanto, essa opção é considerada menos segura em comparação ao modo de acesso privado. Com o modo de acesso privado, o servidor Web Apache Airflow é exposto somente na Amazon Virtual Private Cloud (Amazon VPC) no ambiente. O Amazon MWAA cria um endpoint da VPC em sua VPC para cada ambiente. Assim, acesso à VPC é necessário para acessar a interface do usuário do Apache Airflow. O modo de acesso de rede privada requer configuração de rede adicional.

Resolução

Você pode acessar o servidor Web Apache Airflow no modo de acesso de rede privada usando uma das abordagens a seguir.

AWS Direct Connect ou VPN

Se você tiver uma conexão AWS Direct Connect ou VPN para conectar sua rede on-premises à Amazon VPC, consulte sua equipe de rede para configurar o acesso ao endereço do servidor Web do Amazon MWAA. Depois que o caminho de rede for estabelecido, revise os grupos de segurança associados ao ambiente para garantir que o servidor Web do Amazon MWAA permita tráfego HTTPS (TCP 443) do IP ou da sub-rede de origem. Você também pode usar uma VPN do cliente da AWS para configurar o acesso à rede privada.

Se você ainda estiver enfrentando problemas, tente o seguinte:

  • Verifique a resolução do DNS com uma ferramenta como nslookup ou dig (dig <airflow-web-server-address>).
  • Verifique a conectividade em nível de porta usando uma ferramenta como telnet (telnet <airflow-web-server-address-443>).

Se o problema persistir, verifique se o navegador tem um proxy da Web configurado. Nesse caso, tente desativar o proxy para testar ou corrigir o problema na configuração do proxy.

Linux bastion host

Um bastion host pode ser usado como intermediário entre a Internet e a sub-rede privada. O host geralmente é uma máquina Linux com o servidor SSH em execução. Você pode estabelecer um túnel SSH para o bastion host para acessar recursos dentro de sua Amazon VPC. Em seguida, você pode usar um proxy de navegador, como o FoxyProxy, para abrir a interface do usuário do Apache Airflow por meio do túnel SSH. Para configurar um Linux bastion host, consulte Tutorial: Configurando o acesso à rede privada usando um Linux bastion host.

Se você tiver uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com uma interface gráfica do usuário (GUI), como uma máquina Windows, poderá usar essa instância para acessar a interface do usuário do Apache Airflow.

Balanceador de carga

Você também pode usar um balanceador de carga como intermediário entre a Internet e a sub-rede privada. Ao contrário do bastion host, você pode acessar diretamente o endereço do balanceador de carga sem nenhuma configuração adicional.

Para configurar o balanceador de carga, faça o seguinte:

  1. Identifique os endereços IP privados do servidor Web MWAA. Para obter esses endereços IP, faça uma pesquisa de DNS no endereço da interface do usuário do Apache Airflow (dig +short <airflow-web-server-address>).
  2. Crie um grupo-alvo para os endereços IP privados do servidor Web do Amazon MWAA.
  3. Configure as opções de verificação de integridade para o grupo-alvo para incluir 200 e 302 para Matcher.
    Observação: sem essa configuração, os destinos podem ser sinalizados como não íntegros quando o servidor Web Apache Airflow responder com uma mensagem 302 Redirect.
  4. Crie um Application Load Balancer com um ouvinte HTTPS e o grupo-alvo.
    Observação: é necessário ter um certificado SSL antes de criar um ouvinte HTTPS. Você pode criar um certificado SSL com o AWS Certificate Manager (ACM) fazendo login no domínio ou subdomínio de sua escolha.
  5. Teste o acesso à interface do usuário do Apache Airflow usando o endereço do Application Load Balancer que você criou.

Observação: o Amazon MWAA requer um token de login da Web para acessar a interface do usuário do Apache Airflow. Assim, você deve criar o token de login da Web e passar esse token como uma string de consulta ao acessar a interface do usuário do Apache Airflow via Application Load Balancer. Para automatizar a criação desse token, consulte Acessando um ambiente privado do Amazon MWAA usando identidades federadas.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?