Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tutorial: Konfiguration des privaten Netzwerkzugriffs mit einem Linux Bastion Host
Dieses Tutorial führt Sie durch die Schritte zum Erstellen eines SSH-Tunnels von Ihrem Computer zum Apache Airflow-Webserver für Ihre Amazon Managed Workflows for Apache Airflow-Umgebung. Es wird davon ausgegangen, dass Sie bereits eine Amazon MWAA-Umgebung erstellt haben. Nach der Einrichtung fungiert ein Linux Bastion Host als Jump-Server, der eine sichere Verbindung von Ihrem Computer zu den Ressourcen in Ihrer VPC ermöglicht. Anschließend verwenden Sie ein SOCKS-Proxy-Management-Add-on, um die Proxy-Einstellungen in Ihrem Browser für den Zugriff auf Ihre Apache Airflow-Benutzeroberfläche zu steuern.
Anmerkung
Dieses Tutorial bezieht sich auf den Zugriffsmodus „Privates Netzwerk“. Wenn Sie sowohl öffentlichen als auch privaten Netzwerkzugriff ausgewählt haben, benötigen Sie keinen Bastion-Host, um auf die Apache Airflow-Benutzeroberfläche zuzugreifen, da sie über das Internet zugänglich ist.
Sections
Privates Netzwerk
In diesem Tutorial wird davon ausgegangen, dass Sie den privaten Netzwerkzugriffsmodus für Ihren Apache Airflow-Webserver ausgewählt haben.
Der Zugriffsmodus für private Netzwerke beschränkt den Zugriff auf die Apache Airflow-Benutzeroberfläche auf Benutzer in Ihrer Amazon VPC, denen Zugriff auf die IAM-Richtlinie für Ihre Umgebung gewährt wurde.
Wenn Sie eine Umgebung mit privatem Netzwerkzugriff erstellen, müssen Sie alle Ihre Abhängigkeiten in einem Python-Wheel-Archiv (.whl) verpacken und dann in Ihrem darauf verweisen. .whl requirements.txt Anweisungen zum Verpacken und Installieren Ihrer Abhängigkeiten mit Wheel finden Sie unter Abhängigkeiten mit Python Wheel verwalten.
Die folgende Abbildung zeigt, wo Sie die Option Privates Netzwerk auf der Amazon MWAA-Konsole finden.
Anwendungsfälle
Sie können dieses Tutorial verwenden, nachdem Sie eine Amazon MWAA-Umgebung erstellt haben. Sie müssen dieselbe Amazon VPC, dieselben VPC-Sicherheitsgruppen und dieselben öffentlichen Subnetze wie Ihre Umgebung verwenden.
Bevor Sie beginnen
-
Suchen Sie nach Benutzerberechtigungen. Stellen Sie sicher, dass Ihr Konto in AWS Identity and Access Management (IAM) über ausreichende Berechtigungen zum Erstellen und Verwalten von VPC-Ressourcen verfügt.
-
Verwenden Sie Ihre Amazon MWAA VPC. In diesem Tutorial wird davon ausgegangen, dass Sie den Bastion-Host einer vorhandenen VPC zuordnen. Die Amazon VPC muss sich in derselben Region wie Ihre Amazon MWAA-Umgebung befinden und über zwei private Subnetze verfügen, wie unter definiert. Erstellen Sie das VPC-Netzwerk
-
Erstellen Sie einen SSH-Schlüssel. Sie müssen einen Amazon EC2-SSH-Schlüssel (.pem) in derselben Region wie Ihre Amazon MWAA-Umgebung erstellen, um eine Verbindung zu den virtuellen Servern herzustellen. Wenn Sie keinen SSH-Schlüssel haben, finden Sie weitere Informationen unter Erstellen oder Importieren eines Schlüsselpaars im Amazon EC2-Benutzerhandbuch.
Ziele
In diesem Tutorial führen Sie folgende Aufgaben durch:
-
Erstellen Sie eine Linux Bastion Host-Instance mithilfe einer CloudFormation Vorlage für eine vorhandene VPC.
-
Autorisieren Sie eingehenden Datenverkehr zur Sicherheitsgruppe der Bastion-Instanz mithilfe einer Eingangsregel für den Port.
22 -
Autorisieren Sie eingehenden Datenverkehr von der Sicherheitsgruppe einer Amazon MWAA-Umgebung zur Sicherheitsgruppe der Bastion-Instance.
-
Erstellen Sie einen SSH-Tunnel zur Bastion-Instance.
-
Installieren und konfigurieren Sie das FoxyProxy Add-on für den Firefox-Browser, um auf die Apache Airflow-Benutzeroberfläche zuzugreifen.
Schritt 1: Erstellen Sie die Bastion-Instanz
Im folgenden Abschnitt werden die Schritte zum Erstellen der Linux-Bastion-Instanz beschrieben.
Öffnen Sie die Amazon Elastic Compute Cloud-Konsole unter https://console.aws.amazon.com/ec2/
Anmerkung
Wir empfehlen, dass Sie die TCP-Weiterleitung auf der Amazon EC2-Instance zulassen. TCP-Weiterleitung bedeutet SSH-TCP-Weiterleitung, die ssh -L/-D Tunnel durch den Host ermöglicht. Die AllowTcpForwarding Direktive im SSH-Daemon config (/etc/ssh/sshd_config) steuert diese Einstellung. Bei den meisten yes Amazon Linux- und Ubuntu-AMIs ist sie standardmäßig aktiviert, bei gehärteten Bastion-AMIs ist sie jedoch häufig deaktiviert.
Schritt 2: Erstellen Sie den SSH-Tunnel
Die folgenden Schritte beschreiben, wie Sie den SSH-Tunnel zu Ihrer Linux-Bastion erstellen. Ein SSH-Tunnel empfängt die Anfrage von Ihrer lokalen IP-Adresse an die Linux-Bastion, weshalb true in den vorherigen Schritten die TCP-Weiterleitung für die Linux-Bastion auf eingestellt wurde.
Anmerkung
Wenn Sie eine Permission denied (publickey) Fehlermeldung erhalten, empfehlen wir, das AWSSupport-TroubleshootSSH Tool zu verwenden und diese Automatisierung ausführen (Konsole) auszuwählen, um Probleme mit Ihrem SSH-Setup zu beheben.
Schritt drei: Konfigurieren Sie die Bastion-Sicherheitsgruppe als Regel für eingehenden Datenverkehr
Der Zugriff auf die Server und der reguläre Internetzugriff von den Servern aus werden mit einer speziellen Wartungssicherheitsgruppe ermöglicht, die diesen Servern zugeordnet ist. In den folgenden Schritten wird beschrieben, wie die Bastion-Sicherheitsgruppe als Quelle für eingehenden Datenverkehr an die VPC-Sicherheitsgruppe einer Umgebung konfiguriert wird.
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie im Bereich Netzwerk die Option VPC-Sicherheitsgruppe aus.
-
Wählen Sie Edit inbound rules (Regeln für eingehenden Datenverkehr bearbeiten) aus.
-
Wählen Sie Regel hinzufügen aus.
-
Wählen Sie Ihre VPC-Sicherheitsgruppen-ID in der Dropdownliste Quelle aus.
-
Lassen Sie die verbleibenden Optionen leer oder setzen Sie sie auf ihre Standardwerte zurück.
-
Wählen Sie Regeln speichern aus.
Schritt 4: Kopieren Sie die Apache Airflow-URL
In den folgenden Schritten wird beschrieben, wie Sie die Amazon MWAA-Konsole öffnen und die URL in die Apache Airflow-Benutzeroberfläche kopieren.
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Kopieren Sie die URL in der Airflow-Benutzeroberfläche für die nachfolgenden Schritte.
Fünfter Schritt: Proxy-Einstellungen konfigurieren
Wenn Sie einen SSH-Tunnel mit dynamischer Port-Weiterleitung verwenden, müssen Sie ein Add-On für die SOCKS-Proxy-Verwaltung einsetzen, um die Proxy-Einstellungen in Ihrem Browser zu steuern. Sie können beispielsweise die --proxy-server Funktion von Chromium verwenden, um eine Browsersitzung zu starten, oder die FoxyProxy Erweiterung im FireFox Mozilla-Browser verwenden.
Option eins: Richten Sie einen SSH-Tunnel mithilfe der lokalen Portweiterleitung ein
Wenn Sie keinen SOCKS-Proxy verwenden möchten, können Sie mithilfe der lokalen Portweiterleitung einen SSH-Tunnel einrichten. Der folgende Beispielbefehl greift auf den Apache Airflow-Webserver zu, indem er den Datenverkehr über den lokalen Port 8157 weiterleitet.
-
Öffnen Sie ein neues Befehlszeilenfenster.
-
Geben Sie den folgenden Befehl ein, um einen SSH-Tunnel zu öffnen.
ssh -imykeypair.pem-N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ec2-user@YOUR_PUBLIC_IPV4_DNS-Lbedeutet die Verwendung einer lokalen Portweiterleitung, mit der Sie einen lokalen Port angeben können, über den Daten an den identifizierten Remote-Port auf dem lokalen Webserver des Knotens weitergeleitet werden. -
Geben Sie es
http://localhost:8157/in Ihrem Browser ein.Anmerkung
Möglicherweise müssen Sie verwenden
https://localhost:8157/.
Option zwei: Proxys über die Befehlszeile
Sie können die meisten Webbrowser verwenden, um Proxys mithilfe einer Befehlszeile oder eines Konfigurationsparameters zu konfigurieren. Mit Chromium können Sie den Browser beispielsweise mit dem folgenden Befehl starten:
chromium --proxy-server="socks5://localhost:8157"
Dadurch wird eine Browsersitzung gestartet, die den SSH-Tunnel verwendet, den Sie in den vorherigen Schritten erstellt haben, um ihre Anfragen weiterzuleiten. Sie können Ihre private Amazon MWAA-Umgebungs-URL (mit https://) wie folgt öffnen:
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
Option drei: Proxys, die Mozilla Firefox verwenden FoxyProxy
Das folgende Beispiel zeigt eine FoxyProxy Standardkonfiguration (Version 7.5.1) für Mozilla Firefox. FoxyProxy bietet eine Reihe von Tools zur Proxyverwaltung. Sie können damit einen Proxyserver für URLs verwenden, die Mustern entsprechen, die den von der Apache Airflow-Benutzeroberfläche verwendeten Domänen entsprechen.
-
Öffnen Sie in Firefox die Seite mit der FoxyProxy
Standarderweiterung. -
Wählen Sie Zu Firefox hinzufügen.
-
Wählen Sie Hinzufügen aus.
-
Wählen Sie das FoxyProxy Symbol in der Werkzeugleiste Ihres Browsers und wählen Sie Optionen.
-
Kopieren Sie den folgenden Code und speichern Sie ihn lokal unter
mwaa-proxy.json. Ersetzen Sie den BeispielwertYOUR_HOST_NAMEdurch Ihre Apache Airflow-URL.{ "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" } -
Wählen Sie im Bereich „Einstellungen von FoxyProxy 6.0+ importieren“ die Option „Einstellungen importieren“ und wählen Sie die Datei aus.
mwaa-proxy.json -
Wählen Sie OK aus.
Schritt 6: Öffnen Sie die Apache Airflow-Benutzeroberfläche
Die folgenden Schritte beschreiben, wie Sie Ihre Apache Airflow-Benutzeroberfläche öffnen.
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie Open Airflow UI.
Als nächstes
-
Erfahren Sie, wie Sie Airflow-CLI-Befehle in einem SSH-Tunnel zu einem Bastion-Host in ausführen. Apache Airflow CLI-Befehlsreferenz
-
Erfahren Sie unter, wie Sie DAG-Code in Ihren Amazon S3-Bucket hochladenHinzufügen oder Aktualisieren DAGs.