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 de création d'un tunnel SSH entre votre ordinateur et le serveur Web Apache Airflow pour votre environnement Amazon Managed Workflows for Apache Airflow. Cela suppose que vous avez déjà créé un environnement Amazon MWAA. Une fois configuré, un hôte Linux Bastion agit comme un serveur de saut permettant une connexion sécurisée entre votre ordinateur et les ressources de votre VPC. Vous utiliserez 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.
Sections
- Réseau privé
- Cas d’utilisation
- Avant de commencer
- Objectifs
- Première étape : créer l'instance de bastion
- Deuxième étape : créer le tunnel SSH
- Troisième étape : configurer le groupe de sécurité Bastion en tant que règle entrante
- Quatrième étape : copier l'URL d'Apache Airflow
- Étape 5 : configurer les paramètres du proxy
- Sixième étape : ouvrir l'interface utilisateur d'Apache Airflow
- Quelle est la prochaine étape ?
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 accès à un serveur Web privé, vous devez empaqueter toutes vos dépendances dans une archive Python Wheel (.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, consultez la section Gestion des dépendances à l'aide de Python Wheel.
L'image suivante montre où trouver 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, le même groupe 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 AWS Identity and Access Management (IAM) dispose des autorisations suffisantes pour créer et gérer les ressources VPC.
-
Utilisez votre VPC Amazon MWAA. Ce didacticiel part du principe que vous associez l'hôte bastion à un VPC existant. Le VPC Amazon 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éez le VPC réseau
-
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 n'avez 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 d'hôte Linux Bastion à l'aide d'un AWS 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 de bastion.
-
Installez et configurez le FoxyProxy module complémentaire pour le navigateur Firefox afin d'afficher l'interface utilisateur d'Apache Airflow.
Première étape : créer l'instance de bastion
La section suivante décrit les étapes de création de l'instance Linux Bastion à l'aide d'un AWS CloudFormation modèle pour un VPC existant
Pour créer l'hôte Linux Bastion
-
Ouvrez la page de démarrage rapide du déploiement
sur la AWS CloudFormation console. -
Utilisez le sélecteur de région dans la barre de navigation pour choisir la même AWS région que votre environnement Amazon MWAA.
-
Choisissez Suivant.
-
Tapez un nom dans le champ de texte Stack name, tel que
mwaa-linux-bastion
. -
Dans le volet Paramètres, Configuration réseau, choisissez les options suivantes :
-
Choisissez l'ID VPC de votre environnement Amazon MWAA.
-
Choisissez l'ID de sous-réseau public 1 de votre environnement Amazon MWAA.
-
Choisissez l'ID de sous-réseau public 2 de votre environnement Amazon MWAA.
-
Entrez la plage d'adresses la plus étroite possible (par exemple, une plage d'adresses CIDR interne) dans Allowed Bastion external access CIDR.
Note
Le moyen le plus simple d'identifier une plage est d'utiliser la même plage CIDR que celle de vos sous-réseaux publics. Par exemple, les sous-réseaux publics du AWS CloudFormation modèle de la Créez le VPC réseau page sont
10.192.10.0/24
et10.192.11.0/24
.
-
-
Dans le volet de configuration Amazon EC2, choisissez ce qui suit :
-
Choisissez votre clé SSH dans la liste déroulante dans Nom de la paire de clés.
-
Entrez un nom dans le champ Nom d'hôte de Bastion.
-
Choisissez true pour le transfert TCP.
Avertissement
Le transfert TCP doit être défini sur true à cette étape. Dans le cas contraire, vous ne pourrez pas créer de tunnel SSH à l'étape suivante.
-
-
Appuyez sur Suivant, Suivant.
-
Sélectionnez l'accusé de réception, puis choisissez Create stack.
Pour en savoir plus sur l'architecture de votre hôte Linux Bastion, consultez Linux Bastion Hosts on the AWS Cloud : Architecture.
Deuxième étape : créer le 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 dans les étapes précédentes. true
Note
Si vous recevez un Permission denied (publickey)
message d'erreur, nous vous recommandons d'utiliser l'outil AWSSupport-TroubleShootSSH et de choisir Run this Automation (console) pour résoudre les problèmes liés à votre 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 régulier à Internet depuis les serveurs sont autorisés grâce à 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 Mise en 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 options restantes vides ou définissez leurs valeurs par défaut.
-
Sélectionnez Enregistrer les règles.
Quatrième étape : copier l'URL d'Apache Airflow
Les étapes suivantes décrivent comment ouvrir la console Amazon MWAA et copier l'URL dans 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.
Première option : 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 en utilisant la redirection de port locale. L'exemple de commande suivant accède à l'interface Web Amazon ResourceManagerEC2 en transférant le trafic sur le port local 8157.
-
Ouvrez une nouvelle fenêtre d’invite de commandes.
-
Tapez la commande suivante pour ouvrir un tunnel SSH.
ssh -i
mykeypair.pem
-N -L 8157:YOUR_VPC_ENDPOINT_ID
-vpce.YOUR_REGION
.airflow.amazonaws.com:443 ubuntu@YOUR_PUBLIC_IPV4_DNS
.YOUR_REGION
.compute.amazonaws.com.rproxy.goskope.com-L
signifie l'utilisation de la redirection de port local qui vous permet de 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. -
Tapez
http://localhost:8157/
dans votre navigateur.Note
Il se peut que vous deviez utiliser
https://localhost:8157/
.
Deuxième option : Proxies via la ligne de commande
La plupart des navigateurs Web vous permettent de configurer des proxys via une ligne de commande ou un paramètre de configuration. Par exemple, avec Chromium, vous pouvez démarrer le navigateur avec 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 demandes par proxy. Vous pouvez ouvrir l'URL de votre environnement Amazon MWAA privé (avec https ://) comme suit :
https://
YOUR_VPC_ENDPOINT_ID
-vpce.YOUR_REGION
.airflow.amazonaws.com/home.
Troisième option : 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 aux 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.
-
Cliquez FoxyProxy sur l'icône dans la barre d'outils de votre navigateur, puis sélectionnez Options.
-
Copiez le code suivant et enregistrez-le localement sous
mwaa-proxy.json
. Remplacez la valeur d'échantillon dansYOUR_HOST_NAME
par 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.json
fichier. -
Choisissez OK.
Sixième étape : ouvrir 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 ?
-
Découvrez comment exécuter les commandes de la CLI Airflow sur un tunnel SSH vers un hôte bastion dans. Référence des commandes de la CLI Apache Airflow
-
Découvrez comment télécharger du code DAG dans votre compartiment Amazon S3 dansAjout ou mise à jour des DAG.