Wie greife ich im privaten Netzwerkzugriffsmodus in meiner Amazon MWAA-Umgebung auf die Apache Airflow-Benutzeroberfläche zu?

Lesedauer: 4 Minute
0

Wenn ich versuche, die Apache Airflow-Benutzeroberfläche in meiner Amazon Managed Workflows für die Apache Airflow (Amazon MWAA)-Umgebung zu öffnen, erhalte ich die Fehlermeldung „Connection timed out“.

Kurzbeschreibung

Die Amazon MWAA-Umgebung bietet öffentliche und private Zugriffsmodi für die Apache Airflow-Benutzeroberfläche. Im öffentlichen Zugriffsmodus ist der Apache Airflow-Webserver für das Internet geöffnet und kann ohne zusätzliche Einrichtung aufgerufen werden. Du kannst den Netzwerkzugriff des Apache Airflow-Webservers jedoch nicht mithilfe einer Sicherheitsgruppe steuern. Daher wird diese Option im Vergleich zum privaten Zugriffsmodus als weniger sicher angesehen. Im privaten Zugriffsmodus ist der Apache Airflow Webserver nur innerhalb der Amazon Virtual Private Cloud (Amazon VPC) in der Umgebung verfügbar. Amazon MWAA erstellt für jede Umgebung einen VPC-Endpunkt in deiner VPC. Daher ist der Zugriff auf die VPC erforderlich, um auf die Apache Airflow-Benutzeroberfläche zuzugreifen. Für den privaten Netzwerkzugriffsmodus sind zusätzliche Netzwerkeinstellungen erforderlich.

Lösung

Du kannst auf den Apache Airflow Webserver im privaten Netzwerkzugriffsmodus zugreifen, indem du eine der folgenden Methoden verwendest.

AWS Direct Connect oder VPN

Wenn du über eine AWS Direct Connect- oder VPN-Verbindung verfügst, um das On-Premises-Netzwerk mit Amazon VPC zu verbinden, wende dich an dein Netzwerkteam, um den Zugriff auf die Amazon MWAA-Webserveradresse zu konfigurieren. Nachdem der Netzwerkpfad eingerichtet wurde, überprüfe die mit der Umgebung verknüpften Sicherheitsgruppen, um sicherzustellen, dass der Amazon MWAA-Webserver HTTPS-Datenverkehr (TCP 443) von der Quell-IP oder dem Quellsubnetz zulässt. Du kannst auch ein AWS Client VPN verwenden, um den privaten Netzwerkzugriff zu konfigurieren.

Wenn du immer noch Probleme hast, versuche Folgendes:

  • Überprüfe die DNS-Auflösung mit einem Tool wie nslookup oder dig (dig <airflow-web-server-address>).
  • Überprüfe die Konnektivität auf Portebene mit einem Tool wie telnet (telnet <airflow-web-server-address-443>).

Wenn das Problem weiterhin besteht, überprüfe, ob für den Browser ein Web-Proxy konfiguriert ist. Versuche in diesem Fall, den Proxy zu Testzwecken zu deaktivieren, oder behebe das Problem in der Proxy-Konfiguration.

Linux-Bastion-Host

Ein Bastion-Host kann als Vermittler zwischen dem Internet und dem privaten Subnetz verwendet werden. Der Host ist normalerweise eine Linux-Maschine mit SSH-Server, der ausgeführt wird. Du kannst einen SSH-Tunnel zum Bastion-Host einrichten, um auf Ressourcen in der Amazon VPC zuzugreifen. Anschließend kannst du einen Browser-Proxy wie FoxyProxy verwenden, um die Apache Airflow-Benutzeroberfläche über den SSH-Tunnel zu öffnen. Informationen zum Einrichten eines Linux-Bastion-Hosts findest du im Tutorial: Konfiguration des privaten Netzwerkzugriffs mithilfe eines Linux-Bastion-Hosts.

Wenn du eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit einer grafischen Benutzeroberfläche (GUI) hast, z. B. einen Windows-Computer, kannst du diese Instance verwenden, um auf die Apache Airflow-Benutzeroberfläche zuzugreifen.

Load Balancer

Du kannst einen Load Balancer auch als Vermittler zwischen dem Internet und dem privaten Subnetz verwenden. Im Gegensatz zum Bastion-Host kannst du ohne zusätzliche Einrichtung direkt auf die Adresse des Load Balancers zugreifen.

Gehe wie folgt vor, um den Load Balancer zu konfigurieren:

  1. Identifiziere die privaten IP-Adressen des MWAA-Webservers. Um diese IP-Adressen abzurufen, führe eine DNS-Suche auf der Adresse der Apache Airflow-Benutzeroberfläche durch (dig +short <airflow-web-server-address>).
  2. Erstelle eine Zielgruppe für die privaten IP-Adressen des Amazon MWAA-Webservers.
  3. Konfiguriere die Einstellungen für die Zustandsprüfung für die Zielgruppe so, dass 200 und 302 für Matcher enthalten sind.
    Hinweis: Ohne diese Einstellung werden die Ziele möglicherweise als fehlerhaft gekennzeichnet, wenn der Apache Airflow-Webserver mit einer 302-Weiterleitung reagiert.
  4. Erstelle einen Application Load Balancer mit einem HTTPS-Listener und der erstellten Zielgruppe.
    Hinweis: Du benötigst ein SSL-Zertifikat, bevor du einen HTTPS-Listener erstellen kannst. Du kannst ein SSL-Zertifikat mit AWS Certificate Manager (ACM) erstellen, indem du dich bei der Domain oder Subdomain deiner Wahl anmeldest.
  5. Teste den Zugriff auf die Apache Airflow-Benutzeroberfläche anhand der Adresse des von dir erstellten Application Load Balancer.

Hinweis: Amazon MWAA benötigt ein Web-Anmelde-Token, um auf die Apache Airflow-Benutzeroberfläche zuzugreifen. Daher musst du das Web-Anmelde-Token erstellen und dieses Token als Abfragezeichenfolge übergeben, wenn du über den Application Load Balancer auf die Apache Airflow-Benutzeroberfläche zugreifst. Informationen zur Automatisierung der Erstellung dieses Tokens findest du unter Zugreifen auf eine private Amazon MWAA-Umgebung mithilfe von Verbundsidentitäten.


Ähnliche Informationen

Apache Airflow-Zugriffsmodi

Zugriff auf die Apache Airflow-Benutzeroberfläche