¿Cómo accedo a la interfaz de usuario de Apache Airflow mediante el modo de acceso a red privada en mi entorno de Amazon MWAA?

5 minutos de lectura
0

Cuando intento abrir la interfaz de usuario de Apache Airflow en mi entorno de Amazon Managed Workflows para Apache Airflow (Amazon MWAA), aparece el error «Connection timed out».

Descripción corta

El entorno de Amazon MWAA proporciona modos de acceso público y privado para la interfaz de usuario de Apache Airflow. Con el modo de acceso público, el servidor web de Apache Airflow está abierto a Internet y se puede acceder a él sin ninguna configuración adicional. Sin embargo, no puedes controlar el acceso a la red del servidor web de Apache Airflow mediante un grupo de seguridad. Por lo tanto, esta opción se considera menos segura en comparación con el modo de acceso privado. Con el modo de acceso privado, el servidor web de Apache Airflow solo está expuesto dentro de la nube virtual privada de Amazon Virtual Private Cloud (Amazon VPC) del entorno. Amazon MWAA crea un punto de enlace de VPC en tu VPC para cada entorno. Por lo tanto, es necesario acceder a la VPC para acceder a la interfaz de usuario de Apache Airflow. El modo de acceso a la red privada requiere una configuración de red adicional.

Resolución

Puedes acceder al servidor web de Apache Airflow en modo de acceso de red privada mediante uno de los siguientes métodos.

AWS Direct Connect o VPN

Si tienes una conexión de VPN o AWS Direct Connect para conectar tu red local a Amazon VPC, pide a tu equipo de redes que configure el acceso a la dirección del servidor web de Amazon MWAA. Una vez establecida la ruta de red, revisa los grupos de seguridad asociados al entorno para asegurarte de que el servidor web de Amazon MWAA permita el tráfico HTTPS (TCP 443) desde la IP o subred de origen. También puedes usar AWS Client VPN para configurar el acceso a la red privada.

Si sigues teniendo problemas, prueba lo siguiente:

  • Verifica la resolución del DNS con una herramienta, como nslookup o dig (dig <airflow-web-server-address>).
  • Verifica la conectividad del puerto con una herramienta, como telnet (telnet <airflow-web-server-address-443>).

Si el problema persiste, comprueba si el navegador tiene configurado un proxy web. En ese caso, intenta desactivar el proxy para probar o corregir el problema en la configuración del proxy.

Host bastión de Linux

Un host bastión se puede utilizar como intermediario entre Internet y la subred privada. El host suele ser una máquina Linux con un servidor SSH en marcha. Puedes establecer un túnel SSH hasta el host bastión para acceder a los recursos de tu VPC de Amazon. Luego, puedes usar un proxy de navegador, como FoxyProxy, para abrir la interfaz de usuario de Apache Airflow a través del túnel SSH. Para configurar un host bastión de Linux, consulta Tutorial: Configuring private network access using a Linux bastion host.

Si tienes una instancia de Amazon Elastic Compute Cloud (Amazon EC2) con una interfaz gráfica de usuario (GUI), como una máquina Windows, puedes usar esta instancia para acceder a la interfaz de usuario de Apache Airflow.

Equilibrador de carga

También puedes usar un equilibrador de carga como intermediario entre Internet y la subred privada. A diferencia del host bastión, puedes acceder directamente a la dirección del equilibrador de carga sin ninguna configuración adicional.

Para configurar el equilibrador de carga, haz lo siguiente:

  1. Identifica las direcciones IP privadas del servidor web de MWAA. Para obtener estas direcciones IP, haz una búsqueda de DNS en la dirección de la interfaz de usuario de Apache Airflow (dig +short <airflow-web-server-address>).
  2. Crea un grupo de destino para las direcciones IP privadas del servidor web de Amazon MWAA.
  3. Configura los ajustes de comprobación de estado del grupo de destino de modo que se incluyan 200 y 302 para Matcher.
    Nota: Sin esta configuración, es posible que los destinos no aparezcan en buen estado cuando el servidor web de Apache Airflow responda con un redireccionamiento 302.
  4. Crea un equilibrador de carga de aplicación con un agente de escucha HTTPS y el grupo de destino creado.
    Nota: Debes tener un certificado SSL antes de crear un agente de escucha HTTPS. Puedes crear un certificado SSL con AWS Certificate Manager (ACM) iniciando sesión en el dominio o subdominio que elijas.
  5. Prueba el acceso a la interfaz de usuario de Apache Airflow con la dirección del equilibrador de carga de aplicación que creaste.

Nota: Amazon MWAA requiere un token de inicio de sesión web para acceder a la interfaz de usuario de Apache Airflow. Por lo tanto, debes crear el token de inicio de sesión web y pasarlo como cadena de consulta al acceder a la interfaz de usuario de Apache Airflow a través del equilibrador de carga de aplicación. Para automatizar la creación de este token, consulta Accessing a private Amazon MWAA environment using federated identities.


Información relacionada

Apache Airflow access modes

Accessing the Apache Airflow UI