Lorsque j'essaie d'ouvrir l'interface utilisateur d'Apache Airflow dans mon environnement Amazon Managed Workflows for Apache Airflow (Amazon MWAA), le message d'erreur « Connection timed out » s'affiche.
Brève description
L'environnement Amazon MWAA fournit des modes d'accès publics et privés pour l'interface utilisateur d'Apache Airflow. En mode d'accès public, le serveur Web Apache Airflow est ouvert à Internet et est accessible sans aucune configuration supplémentaire. Cependant, vous ne pouvez pas contrôler l'accès réseau du serveur Web Apache Airflow à l'aide d'un groupe de sécurité. Par conséquent, cette option est considérée comme moins sécurisée que le mode d'accès privé. Avec le mode d'accès privé, le serveur Web Apache Airflow est exposé uniquement dans le cloud Amazon Virtual Private (Amazon VPC) de l'environnement. Amazon MWAA crée un point de terminaison de VPC dans votre VPC pour chaque environnement. Par conséquent, l'accès au VPC est nécessaire pour accéder à l'interface utilisateur d'Apache Airflow. Le mode d'accès au réseau privé requiert une configuration réseau supplémentaire.
Résolution
Vous pouvez accéder au serveur Web Apache Airflow en mode d'accès réseau privé en utilisant l'une des approches suivantes.
AWS Direct Connect ou VPN
Si vous disposez d'une connexion AWS Direct Connect ou VPN pour connecter votre réseau local à Amazon VPC, consultez votre équipe réseau pour configurer l'accès à l'adresse du serveur Web Amazon MWAA. Une fois le chemin réseau établi, passez en revue les groupes de sécurité associés à l'environnement pour vous assurer que le serveur Web Amazon MWAA autorise le trafic HTTPS (TCP 443) depuis l'adresse IP ou le sous-réseau source. Vous pouvez également utiliser un VPN client AWS pour configurer l'accès au réseau privé.
Si vous rencontrez toujours des problèmes, essayez ce qui suit :
- Vérifiez la résolution DNS à l'aide d'un outil tel que nslookup ou dig (dig <airflow-web-server-address>).
- Vérifiez la connectivité au niveau du port à l'aide d'un outil tel que telnet (telnet <airflow-web-server-address-443>).
Si le problème persiste, vérifiez si un proxy Web est configuré pour le navigateur. Dans ce cas, essayez de désactiver le proxy à des fins de test ou corrigez le problème dans la configuration du proxy.
Hôte bastion Linux
Un hôte bastion peut être utilisé comme intermédiaire entre Internet et un sous-réseau privé. L'hôte est généralement une machine Linux avec un serveur SSH en cours d'exécution. Vous pouvez établir un tunnel SSH vers l'hôte bastion pour accéder aux ressources de votre Amazon VPC. Vous pouvez ensuite utiliser un proxy de navigateur, tel que FoxyProxy, pour ouvrir l'interface utilisateur d'Apache Airflow via le tunnel SSH. Pour configurer un hôte Linux Bastion, consultez le didacticiel : Configuration de l'accès au réseau privé à l'aide d'un hôte bastion Linux.
Si vous utilisez une instance Amazon Elastic Compute Cloud (Amazon EC2) dotée d'une interface utilisateur graphique (GUI), telle qu'une machine Windows, vous pouvez l’utiliser pour accéder à l'interface utilisateur d'Apache Airflow.
Équilibreur de charge
Vous pouvez également utiliser un équilibreur de charge comme intermédiaire entre Internet et un sous-réseau privé. Contrairement à l'hôte bastion, vous pouvez accéder directement à l'adresse de l'équilibreur de charge sans aucune configuration supplémentaire.
Pour configurer l'équilibreur de charge, procédez comme suit :
- Identifiez les adresses IP privées du serveur Web MWAA. Pour obtenir ces adresses IP, effectuez une recherche DNS sur l'adresse de l'interface utilisateur d'Apache Airflow (dig +short <airflow-web-server-address>).
- Créez un groupe cible pour les adresses IP privées du serveur Web Amazon MWAA.
- Configurez les paramètres de vérification de l’état du groupe cible afin d'inclure 200 et 302 pour Comparateur.
Remarque : Sans ce paramètre, les cibles peuvent être signalées comme étant insalubres lorsque le serveur Web Apache Airflow répond par une redirection 302.
- Créez un Application Load Balancer avec un écouteur HTTPS et le groupe cible créé.
Remarque : Vous devez disposer d'un certificat SSL avant de créer un écouteur HTTPS. Vous pouvez créer un certificat SSL avec AWS Certificate Manager (ACM) en vous connectant au domaine ou au sous-domaine de votre choix.
- Testez l'accès à l'interface utilisateur d'Apache Airflow à l'aide de l'adresse de l'Application Load Balancer que vous avez créé.
Remarque : Amazon MWAA requiert un jeton de connexion Web pour accéder à l'interface utilisateur d'Apache Airflow. Par conséquent, vous devez créer le jeton de connexion Web et le transmettre sous forme de chaîne de requête lorsque vous accédez à l'interface utilisateur d'Apache Airflow via l'Application Load Balancer. Pour automatiser la création de ce jeton, consultez la section Accès à un environnement Amazon MWAA privé à l'aide d'identités fédérées.
Informations connexes
Modes d'accès à Apache Airflow
Accès à l'interface utilisateur d'Apache Airflow