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

5 minuto de leitura
0

Quando tento abrir a interface do usuário no meu ambiente Amazon Managed Workflows for Apache Airflow (Amazon MWAA), recebo o erro “Tempo limite de conexão expirado”.

Breve descrição

O ambiente Amazon MWAA fornece 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 está aberto à Internet e pode ser acessado sem qualquer configuração adicional. No entanto, não é possível 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 com o modo de acesso privado. Com o modo de acesso privado, o servidor Web Apache Airflow é exposto somente dentro da Amazon Virtual Private Cloud (Amazon VPC) no ambiente. O Amazon MWAA cria um endpoint da VPC em sua VPC para cada ambiente. Portanto, o acesso à VPC é necessário para acessar a interface do usuário do Apache Airflow. O modo de acesso à rede privada requer configuração de rede adicional.

Resolução

É possível acessar o servidor Web Apache Airflow no modo de acesso à rede privada usando uma das seguintes abordagens.

AWS Direct Connect ou VPN

Se você tiver uma conexão AWS Direct Connect ou VPN para conectar sua rede on-premises ao Amazon VPC, consulte sua equipe de rede para configurar o acesso ao endereço do servidor web Amazon MWAA. Depois que o caminho da rede for estabelecido, revise os grupos de segurança associados ao ambiente para ter certeza de que o servidor Web Amazon MWAA permite tráfego HTTPS (TCP 443) do IP de origem ou da sub-rede. Você também pode usar um AWS Client VPN 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 no nível da porta usando uma ferramenta, como telnet (telnet <airflow-web-server-address-443>).

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

Bastion host Linux

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 um servidor SSH em execução. É possível estabelecer um túnel SSH para o bastion host para acessar recursos dentro do seu Amazon VPC. Em seguida, é possível 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 bastion host Linux, consulte o Tutorial: Como configurar o acesso à rede privada usando um host bastion Linux.

Se você tiver uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com uma interface de usuário gráfica (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. Diferentemente do bastion host, é possível 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 Amazon MWAA.
  3. Defina as configurações de verificação de integridade do grupo-alvo para incluir 200 e 302 para Matcher.
    Observação: sem essa configuração, os alvos podem ser sinalizados como sem integridade quando o servidor Web Apache Airflow responder com um 302 Redirecionar.
  4. Crie um Application Load Balancer com um receptor HTTPS e o grupo-alvo criado.
    Observação: você deve ter um certificado SSL antes de criar um receptor HTTPS. É possível 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 exige um token de login na web para acessar a interface do usuário do Apache Airflow. Portanto, você precisa 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 por meio do Application Load Balancer. Para automatizar a criação desse token, consulte Como acessar um ambiente privado do Amazon MWAA usando identidades federadas.


Informações relacionadas

Modos de acesso do Apache Airflow

Como acessar a interface do usuário do Apache Airflow