Comment puis-je résoudre les problèmes d'accès à l'interface utilisateur d'Apache Airflow dans Amazon MWAA ?

Lecture de 6 minute(s)
0

Je souhaite résoudre les problèmes d'accès à l'interface utilisateur d'Apache Airflow dans Amazon Managed Workflows pour Apache Airflow (Amazon MWAA).

Brève description

Lorsque vous essayez d'accéder à l'interface utilisateur d'Apache Airflow dans Amazon MWAA, vous pouvez recevoir des erreurs Oops, something went wrong ou 403 Forbidden. Ces erreurs se produisent lorsque votre rôle AWS Identity and Access Management (IAM) ne dispose pas des autorisations nécessaires.

Vous pouvez également recevoir des erreurs de serveur et des erreurs 5xx. Ces erreurs sont dues à des problèmes DNS, à des problèmes de connexion à Amazon Virtual Private Cloud (Amazon VPC) ou à des incompatibilités avec les exigences de l'environnement.

Amazon MWAA fournit des modes d'accès au réseau public et privé pour l'interface utilisateur d'Apache Airflow. Si vous recevez des erreurs de délai d’expiration de la connexion en mode privé, assurez-vous que votre mécanisme intermédiaire est correctement configuré dans votre Amazon VPC.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), reportez-vous à la section Résolution d’erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Résolution des erreurs « Oops, something went wrong » ou 403 Forbidden

Pour résoudre les erreurs Oops, something went wrong ou 403 Forbidden, vérifiez les autorisations de la stratégie d'accès IAM pour le rôle IAM. Modifiez votre stratégie de rôle d'accès IAM pour inclure l'autorisation airflow:CreateWebLoginToken :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "airflow:CreateWebLoginToken",
            "Resource": "arn:aws:airflow:example-region:example-account-id:role/example-mwaa-environment/example-role";
        }
    ]
}

Remarque : Remplacez example-region par votre région AWS, example-account-id par votre ID de compte et example-role par Administrateur, Op, Utilisateur, Visionneuse ou Public. Pour l'accès à l'interface utilisateur, votre stratégie d'accès IAM doit correspondre à un rôle de contrôle d'accès basé sur des rôles (RBAC) prédéfini pris en charge par Apache Airflow. Pour plus d'informations, consultez la section Stratégie d'accès à l'interface utilisateur d'Apache Airflow : AmazonMWAAWebServerAccess.

Résoudre les erreurs 403 Forbidden dues à l'expiration des jetons de connexion Web

Les jetons de connexion Web ont une durée de validité de 60 secondes. Pour accéder à un serveur Web privé, utilisez un mécanisme tel qu'un hôte Bastion ou un AWS Client VPN.

Pour générer un jeton de connexion Web avant d'accéder à l'interface utilisateur, exécutez la commande create-web-login-token :

token=$(aws mwaa create-web-login-token --name example-mwaa-environment)
WEB_TOKEN=$(echo $token | jq --raw-output '.WebToken')
echo $WEB_TOKEN

Remarque : Remplacez example-mwaa-environment par le nom de votre environnement Amazon MWAA.

Pour accéder à l'interface utilisateur d'Apache Airflow à l'aide d'un Application Load Balancer, utilisez le format suivant pour votre URL :

https://example-alb-dns/aws_mwaa/aws-console-sso?login=true#example-web-token

Remarque : Remplacez example-alb-dns de votre Application Load Balancer et example-web-token par votre jeton Web.

Pour accéder à Amazon VPC, utilisez des extensions de navigateur, telles que LiveHosts ou Internal Redirector, pour rediriger le point de terminaison Airflow vers le DNS Application Load Balancer.

Résoudre les erreurs de serveur et les erreurs 5xx

Avant de commencer, exécutez le script de vérification Amazon MWAA à partir des outils de support AWS pour vérifier l'état de votre environnement. Pour plus d'informations, consultez la page aws-support-tools sur le site Web de GitHub. Puis, vérifiez les autorisations de votre rôle d'exécution, les paramètres DNS et la configuration réseau, ainsi que votre conflit de ressources.

Vérifier les autorisations de votre rôle d'exécution

Pour consulter et modifier votre stratégie de rôle d'exécution, consultez la section Afficher et mettre à jour une stratégie de rôle d'exécution.

Vérifier vos paramètres DNS et votre configuration réseau

Assurez-vous que vos paramètres DNS et votre configuration réseau autorisent l'accès au serveur Web et à la base de métadonnées.

Pour résoudre les problèmes liés à vos paramètres DNS et à votre configuration réseau, effectuez les actions suivantes :

  • Pour la résolution DNS, exécutez une commande dig pour vous assurer que le nom de domaine de l'interface utilisateur Airflow est correctement résolu.
  • Pour tester votre connectivité au point de terminaison de l'interface utilisateur Airflow depuis votre Amazon VPC, utilisez telnet ou curl.
  • Pour configurer vos listes de contrôle d'accès réseau (ACL réseau) et vos tables de routage, suivez les directives de sécurité d’Amazon MWAA pour Amazon VPC.
  • Pour autoriser le trafic sur les ports 443 et 5432, modifiez vos groupes de sécurité. Si vous utilisez un Application Load Balancer, modifiez vos groupes de sécurité à partir de l’Application Load Balancer.
  • Pour répondre aux exigences du réseau Amazon MWAA, utilisez un modèle AWS CloudFormation pour créer un réseau Amazon VPC avec accès à Internet.

Vérifier votre conflit de ressources

Les composants du planificateur, du serveur Web et de l’environnement de travail qui utilisent une quantité de processeur et de mémoire élevée peuvent entraîner des problèmes d'accès à l'interface utilisateur. En outre, une syntaxe DAG incorrecte ou des problèmes de compatibilité peuvent entraîner des conflits de ressources. Si ces problèmes se produisent, vous recevez une erreur Oops, something bad has happened ou 5xx lorsque vous accédez à l'interface utilisateur d'Airflow. Pour vérifier l'existence d'un conflit de ressources, examinez vos métriques Amazon CloudWatch CPUUtilization et MemoryUtilization afin de détecter une utilisation élevée du processeur et de la mémoire.

Pour déterminer si l'un de vos DAG pose des problèmes d'accès, supprimez tous les fichiers Python de l'emplacement DAG de votre environnement dans Amazon Simple Storage Service (Amazon S3). Puis, ajoutez-les un par un et surveillez les modifications de l'accès à l'interface utilisateur ou des performances afin d'identifier le DAG concerné.

Pour plus d'informations, consultez la section Comment puis-je résoudre les problèmes courants liés à mon planificateur dans Amazon MWAA ?

Vérifier les exigences relatives à la version de votre package Python

Les versions de packages Python incompatibles peuvent entraîner des problèmes d'accès à l'interface utilisateur Airflow. Pour résoudre ce problème, recherchez les dépendances incompatibles ou les contraintes manquantes. Consultez également vos journaux Airflow dans CloudWatch pour le planificateur, l’environnement de travail et le serveur Web Airflow. Vérifiez les erreurs liées au traitement du DAG, à l'installation des exigences ou à l'exécution du plug-in.

Pour plus d'informations, consultez la section Comment puis-je installer des bibliothèques dans mon environnement Amazon MWAA ?

Informations connexes

Je vois une erreur 5xx lors de l'accès au serveur Web

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 mois