Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tutoriel : Configuration de l'accès au réseau privé à l'aide d'un hôte Linux Bastion
Ce didacticiel explique les étapes à suivre pour créer un tunnel SSH entre votre ordinateur et le serveur Web Apache Airflow pour votre environnement Amazon Managed Workflows pour Apache Airflow. Cela suppose que vous avez déjà créé un environnement Amazon MWAA. Une fois configuré, un Linux Bastion Host agit comme un serveur de saut permettant une connexion sécurisée entre votre ordinateur et les ressources de votre VPC. Vous utilisez ensuite un module complémentaire de gestion de proxy SOCKS pour contrôler les paramètres du proxy dans votre navigateur afin d'accéder à votre interface utilisateur Apache Airflow.
Note
Ce didacticiel s'applique au mode d'accès au réseau privé. Si vous avez choisi Accès au réseau public et privé, vous n'avez pas besoin d'un hôte bastion pour accéder à l'interface utilisateur d'Apache Airflow car celle-ci est accessible via Internet.
réseau privé
Ce didacticiel part du principe que vous avez choisi le mode d'accès au réseau privé pour votre serveur Web Apache Airflow.
Le mode d'accès au réseau privé limite l'accès à l'interface utilisateur d'Apache Airflow aux utilisateurs de votre Amazon VPC qui ont obtenu l'accès à la politique IAM de votre environnement.
Lorsque vous créez un environnement avec un accès réseau privé, vous devez regrouper toutes vos dépendances dans une archive en forme de roue Python (.whl), puis y faire référence .whl dans votrerequirements.txt. Pour obtenir des instructions sur l'empaquetage et l'installation de vos dépendances à l'aide de wheel, reportez-vous à la section Gestion des dépendances à l'aide de Python Wheel.
L'image suivante montre où se trouve l'option Réseau privé sur la console Amazon MWAA.
Cas d’utilisation
Vous pouvez utiliser ce didacticiel après avoir créé un environnement Amazon MWAA. Vous devez utiliser le même Amazon VPC, les mêmes groupes de sécurité VPC et les mêmes sous-réseaux publics que votre environnement.
Avant de commencer
-
Vérifiez les autorisations des utilisateurs. Assurez-vous que votre compte dans Gestion des identités et des accès AWS (IAM) dispose des autorisations suffisantes pour créer et gérer des ressources VPC.
-
Utilisez votre Amazon MWAA VPC. Ce didacticiel part du principe que vous associez l'hôte bastion à un VPC existant. L'Amazon VPC doit se trouver dans la même région que votre environnement Amazon MWAA et disposer de deux sous-réseaux privés, comme défini dans. Création du réseau VPC
-
Créez une clé SSH. Vous devez créer une clé SSH Amazon EC2 (.pem) dans la même région que votre environnement Amazon MWAA pour vous connecter aux serveurs virtuels. Si vous ne possédez pas de clé SSH, consultez la section Créer ou importer une paire de clés dans le guide de l'utilisateur Amazon EC2.
Objectifs
Dans le cadre de ce didacticiel, vous effectuerez les tâches suivantes :
-
Créez une instance Linux Bastion Host à l'aide d'un CloudFormation modèle pour un VPC
existant. -
Autorisez le trafic entrant vers le groupe de sécurité de l'instance bastion à l'aide d'une règle d'entrée sur le port.
22 -
Autorisez le trafic entrant depuis le groupe de sécurité d'un environnement Amazon MWAA vers le groupe de sécurité de l'instance Bastion.
-
Créez un tunnel SSH vers l'instance Bastion.
-
Installez et configurez le FoxyProxy module complémentaire pour le navigateur Firefox afin d'accéder à l'interface utilisateur d'Apache Airflow.
Étape 1 : Création de l'instance de bastion
La section suivante décrit les étapes à suivre pour créer l'instance Linux Bastion.
Ouvrez la console Amazon Elastic Compute Cloud à https://console.aws.amazon.com/ec2/
Note
Nous vous recommandons d'autoriser le transfert TCP sur l'instance Amazon EC2. Le transfert TCP signifie le transfert TCP SSH, qui permet la création de ssh -L/-D tunnels via l'hôte. La AllowTcpForwarding directive du démon SSH config (/etc/ssh/sshd_config) contrôle ce paramètre. Il est activé par défaut yes sur la plupart des AMI Amazon Linux et Ubuntu, mais il est souvent désactivé sur les AMI bastion renforcées.
Étape 2 : Création du tunnel SSH
Les étapes suivantes décrivent comment créer le tunnel SSH vers votre bastion Linux. Un tunnel SSH reçoit la demande de votre adresse IP locale vers le bastion Linux. C'est pourquoi le transfert TCP pour le bastion Linux a été défini sur true lors des étapes précédentes.
Note
Si vous recevez un Permission denied (publickey) message d'erreur, nous vous recommandons d'utiliser l'AWSSupport-TroubleshootSSHoutil et de choisir Exécuter cette automatisation (console) pour résoudre les problèmes de configuration SSH.
Troisième étape : configurer le groupe de sécurité Bastion en tant que règle entrante
L'accès aux serveurs et l'accès Internet régulier à partir des serveurs sont autorisés avec un groupe de sécurité de maintenance spécial attaché à ces serveurs. Les étapes suivantes décrivent comment configurer le groupe de sécurité Bastion en tant que source de trafic entrant vers le groupe de sécurité VPC d'un environnement.
-
Ouvrez la page
Environnements sur la console Amazon MWAA. -
Choisissez un environnement.
-
Dans le volet Réseau, choisissez le groupe de sécurité VPC.
-
Choisissez Modifier les règles entrantes.
-
Choisissez Ajouter une règle.
-
Choisissez l'ID de votre groupe de sécurité VPC dans la liste déroulante Source.
-
Laissez les autres options vides ou retrouvez-les sur leurs valeurs par défaut.
-
Sélectionnez Enregistrer les règles.
Étape 4 : copiez l'URL d'Apache Airflow
Les étapes suivantes décrivent comment ouvrir la console Amazon MWAA et copier l'URL vers l'interface utilisateur d'Apache Airflow.
-
Ouvrez la page
Environnements sur la console Amazon MWAA. -
Choisissez un environnement.
-
Copiez l'URL dans l'interface utilisateur d'Airflow pour les étapes suivantes.
Étape 5 : configurer les paramètres du proxy
Si vous utilisez un tunnel SSH avec réacheminement de port dynamique, vous devez utiliser un module complémentaire de gestion de proxy SOCKS pour contrôler les paramètres de proxy dans votre navigateur. Par exemple, vous pouvez utiliser la --proxy-server fonctionnalité de Chromium pour démarrer une session de navigateur ou utiliser l' FoxyProxy extension dans le FireFox navigateur Mozilla.
Option 1 : configurer un tunnel SSH à l'aide de la redirection de port locale
Si vous ne souhaitez pas utiliser de proxy SOCKS, vous pouvez configurer un tunnel SSH à l'aide de la redirection de port locale. L'exemple de commande suivant permet d'accéder au serveur Web Apache Airflow en transférant le trafic sur le port local 8157.
-
Ouvrez une nouvelle fenêtre d’invite de commandes.
-
Entrez la commande suivante pour ouvrir un tunnel SSH.
ssh -imykeypair.pem-N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ec2-user@YOUR_PUBLIC_IPV4_DNS-Lsignifie l'utilisation de la redirection de port locale que vous pouvez utiliser pour spécifier un port local utilisé pour transférer les données vers le port distant identifié sur le serveur Web local du nœud. -
Entrez
http://localhost:8157/dans votre navigateur.Note
Il se peut que vous deviez utiliser
https://localhost:8157/.
Option 2 : proxy à l'aide de la ligne de commande
Vous pouvez utiliser la plupart des navigateurs Web pour configurer des proxys à l'aide d'une ligne de commande ou d'un paramètre de configuration. Par exemple, avec Chromium, vous pouvez démarrer le navigateur à l'aide de la commande suivante :
chromium --proxy-server="socks5://localhost:8157"
Cela démarre une session de navigateur qui utilise le tunnel SSH que vous avez créé lors des étapes précédentes pour transmettre ses requêtes par proxy. Vous pouvez ouvrir l'URL de votre environnement Amazon MWAA privé (avec https ://) comme suit :
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
Option 3 : utilisation de proxys FoxyProxy pour Mozilla Firefox
L'exemple suivant illustre une configuration FoxyProxy Standard (version 7.5.1) pour Mozilla Firefox. FoxyProxy fournit un ensemble d'outils de gestion de proxy. Il vous permet d'utiliser un serveur proxy pour les URL qui correspondent à des modèles correspondant aux domaines utilisés par l'interface utilisateur d'Apache Airflow.
-
Dans Firefox, ouvrez la page de l'extension
FoxyProxy Standard. -
Choisissez Ajouter à Firefox.
-
Choisissez Ajouter.
-
Choisissez l' FoxyProxy icône dans la barre d'outils de votre navigateur, puis choisissez Options.
-
Copiez le code suivant et enregistrez-le localement sous
mwaa-proxy.json. Remplacez la valeur de l'échantillonYOUR_HOST_NAMEpar votre URL Apache Airflow.{ "e0b7kh1606694837384": { "type": 3, "color": "#66cc66", "title": "airflow", "active": true, "address": "localhost", "port": 8157, "proxyDNS": false, "username": "", "password": "", "whitePatterns": [ { "title": "airflow-ui", "pattern": "YOUR_HOST_NAME", "type": 1, "protocols": 1, "active": true } ], "blackPatterns": [], "pacURL": "", "index": -1 }, "k20d21508277536715": { "active": true, "title": "Default", "notes": "These are the settings that are used when no patterns match a URL.", "color": "#0055E5", "type": 5, "whitePatterns": [ { "title": "all URLs", "active": true, "pattern": "*", "type": 1, "protocols": 1 } ], "blackPatterns": [], "index": 9007199254740991 }, "logging": { "active": true, "maxSize": 500 }, "mode": "patterns", "browserVersion": "82.0.3", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" } -
Dans le volet Paramètres d'importation à partir de la FoxyProxy version 6.0+, choisissez Paramètres d'importation et sélectionnez le
mwaa-proxy.jsonfichier. -
Choisissez OK.
Étape 6 : Ouvrez l'interface utilisateur d'Apache Airflow
Les étapes suivantes décrivent comment ouvrir l'interface utilisateur d'Apache Airflow.
-
Ouvrez la page
Environnements sur la console Amazon MWAA. -
Choisissez Open Airflow UI.
Quelle est la prochaine étape ?
-
Apprenez à exécuter les commandes de l'interface de ligne de commande Airflow sur un tunnel SSH vers un hôte Bastion situé dansRéférence des commandes de la CLI Apache Airflow.
-
Découvrez comment charger le code DAG dans votre compartiment Amazon S3 dansAjouter ou mettre à jour DAGs.