Wie kann ich über den privaten Netzwerkzugriffsmodus in meiner Amazon-MWAA-Umgebung auf die Apache-Airflow-Benutzeroberfläche zugreifen?

Letzte Aktualisierung: 23.02.2022

Wenn ich versuche, die Apache-Airflow-Benutzeroberfläche in meiner Amazon Managed Workflows for Apache Airflow (Amazon MWAA)-Umgebung zu öffnen, wird die Fehlermeldung „Zeitüberschreitung bei der Verbindung“ angezeigt.

Kurzbeschreibung

Die Amazon-MWAA-Umgebung bietet einen öffentlichen und einen privaten Zugriffsmodus für die Apache-Airflow-Benutzeroberfläche. Im öffentlichen Zugriffsmodus ist der Apache-Airflow-Webserver für das Internet geöffnet und kann ohne weitere Einrichtung aufgerufen werden. Sie können den Netzwerkzugriff des Apache-Airflow-Webservers allerdings nicht mithilfe einer Sicherheitsgruppe steuern. Daher gilt diese Option im Vergleich zum privaten Zugriffsmodus als weniger sicher. 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 in Ihrer VPC einen VPC-Endpunkt für jede Umgebung. Daher ist für den Zugriff auf die Apache-Airflow-Benutzeroberfläche der Zugriff auf die VPC erforderlich. Der private Netzwerkzugriffsmodus erfordert eine zusätzliche Netzwerkeinrichtung.

Lösung

Sie können im privaten Netzwerkzugriffsmodus mit einer der folgenden Methoden auf den Apache-Airflow-Webserver zugreifen.

AWS Direct Connect oder VPN

Wenn Sie über eine AWS-Direct-Connect- oder VPN-Verbindung verfügen, um Ihr lokales Netzwerk mit Amazon VPC zu verbinden, wenden Sie sich zum Konfigurieren des Zugriffs auf die Amazon MWAA-Webserveradresse an Ihr Netzwerkteam. Überprüfen Sie nach Einrichten des Netzwerkpfads die mit der Umgebung verknüpften Sicherheitsgruppen, um sicherzustellen, dass der Amazon-MWAA-Webserver HTTPS-Datenverkehr (TCP 443) von der Quell-IP oder vom Quell-Subnetz zulässt. Sie können zum Konfigurieren des privaten Netzwerkzugriffs auch ein AWS Client VPN verwenden.

Wenn Sie immer noch Probleme haben, versuchen Sie Folgendes:

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

Wenn das Problem weiterhin besteht, überprüfen Sie, ob für den Browser ein Webproxy konfiguriert ist. Versuchen Sie in diesem Fall, den Proxy zum Testen zu deaktivieren, oder beheben Sie das Problem in der Proxy-Konfiguration.

Linux Bastion Host

Ein Bastion Host kann als Vermittler zwischen dem Internet und dem privaten Subnetz eingesetzt werden. Der Host ist normalerweise ein Linux-Computer mit laufendem SSH-Server. Sie können einen SSH-Tunnel zum Bastion Host einrichten, um auf Ressourcen in Ihrer Amazon VPC zuzugreifen. Anschließend können Sie die Apache-Airflow-Benutzeroberfläche mit einem Browser-Proxy wie FoxyProxy über den SSH-Tunnel öffnen. Informationen zum Einrichten eines Linux Bastion Hosts finden Sie unter Tutorial: Konfigurieren des privaten Netzwerkzugriffs mit einem Linux Bastion Host.

Wenn Sie eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit einer grafischen Benutzeroberfläche (GUI) haben, z. B. einen Windows-Computer, können Sie diese Instance für den Zugriff auf die Apache-Airflow-Benutzeroberfläche verwenden.

Load Balancer

Als Vermittler zwischen dem Internet und dem privaten Subnetz können Sie auch einen Load Balancer einsetzen. Im Gegensatz zum Bastion Host können Sie ohne zusätzliche Einrichtung direkt auf die Adresse des Load Balancers zugreifen.

Gehen Sie zum Konfigurieren des Load Balancers wie folgt vor:

  1. Identifizieren Sie die privaten IP-Adressen des MWAA-Webservers. Führen Sie zum Ermitteln dieser IP-Adressen eine DNS-Suche auf der Adresse der Apache-Airflow-Benutzeroberfläche durch (dig +short <airflow-web-server-address>).
  2. Erstellen Sie eine Zielgruppe für die privaten IP-Adressen des Amazon-MWAA-Webservers.
  3. Konfigurieren Sie die Zustandsprüfungseinstellungen für die Zielgruppe so, dass sie 200 und 302 für Matcher enthalten.
    Hinweis: Ohne diese Einstellung werden die Ziele möglicherweise als fehlerhaft gekennzeichnet, wenn der Apache-Airflow-Webserver mit einer 302-Umleitung reagiert.
  4. Erstellen Sie einen Application Load Balancer mit einem HTTPS-Listener und der erstellten Zielgruppe.
    Hinweis: Sie müssen über ein SSL-Zertifikat verfügen, bevor Sie einen HTTPS-Listener erstellen können. Ein SSL-Zertifikat können Sie mit dem AWS Certificate Manager (ACM) erstellen, indem Sie sich bei der Domain oder Subdomain Ihrer Wahl anmelden.
  5. Testen Sie den Zugriff auf die Apache-Airflow-Benutzeroberfläche mithilfe der Adresse des von Ihnen erstellten Application Load Balancers.

Hinweis: Amazon MWAA benötigt für den Zugriff auf die Apache-Airflow-Benutzeroberfläche ein Web-Login-Token. Daher müssen Sie das Web-Login-Token erstellen und dieses Token als Abfragestring übergeben, wenn Sie über den Application Load Balancer auf die Apache-Airflow-Benutzeroberfläche zugreifen. Informationen zur Automatisierung der Erstellung dieses Tokens finden Sie unter Accessing a private Amazon MWAA environment using federated identities (Zugriff auf eine private Amazon-MWAA-Umgebung mithilfe von Verbundidentitäten).


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?