如何在 Amazon MWAA 環境中使用私人網路存取模式存取 Apache Airflow UI?

2 分的閱讀內容
0

當我嘗試在我的 Amazon Managed Workflows for Apache Airflow (Amazon MWAA) 環境中開啟 Apache Airflow UI 時,會出現「連線逾時」錯誤。

簡短說明

Amazon MWAA 環境為 Apache Airflow UI 提供公有和私有存取模式。使用公有存取模式,Apache Airflow Web 伺服器可以對網際網路開放,且無需任何額外設定即可存取。不過,您無法使用安全群組控制 Apache Airflow Web 伺服器的網路存取。因此,與私有存取模式相比,此選項被視為不安全的選項。使用私人存取模式,Apache Airflow Web 伺服器只會在環境中的 Amazon Virtual Private Cloud (Amazon VPC) 公開。Amazon MWAA 會針對每個環境在 VPC 中建立 VPC 端點。因此,必須存取 VPC 才能存取 Apache Airflow UI。私有網路存取模式需要額外的網路設定。

解決方法

您可以使用下列其中一種方法,以私有網路存取模式存取 Apache Airflow Web 伺服器。

AWS Direct Connect 或 VPN

如果您有 AWS Direct Connect 或 VPN 連線,以將內部部署網路連線至 Amazon VPC,請諮詢您的網路團隊以設定對 Amazon MWAA Web 伺服器位址的存取權。建立網路路徑之後,請檢閱與環境相關聯的安全群組,以確定 Amazon MWAA Web 伺服器允許來自來源 IP 或子網路的 HTTPS (TCP 443) 流量。您也可以使用 AWS Client VPN 來設定私有網路存取。

如果您仍然遇到問題,請嘗試以下操作:

  • 驗證 DNS 解析度時,請使用工具,例如 nslookup 或 dig (dig <airflow-web-server-address>)。
  • 驗證連接埠層級的連線時,請使用工具,例如 telnet (telnet <airflow-web-server-address-443>)。

如果問題仍然存在,請檢查瀏覽器是否已設定 Web Proxy。在這種情況下,請嘗試停用代理進行測試,或修復代理組態中的問題。

Linux 堡壘主機

堡壘主機可以作為網際網路和私人子網路之間的中介。主機通常是執行 SSH 伺服器的 Linux 機器。您可以建立通往堡壘主機的 SSH 通道,以存取 Amazon VPC 中的資源。接下來,您可以使用瀏覽器代理,例如 FoxyProxy,透過 SSH 通道開啟 Apache Airflow UI。若要設定 Linux 堡壘主機,請參閱教學課程: 使用 Linux 堡壘主機設定私有網路存取。

如果您使用具有圖形使用者介面 (GUI) 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,例如 Windows 機器,則可以使用此執行個體來存取 Apache Airflow UI。

負載平衡器

您也可以使用負載平衡器作為網際網路和私有子網路之間的中介。與堡壘主機不同,您無需任何其他設定,即可直接存取負載平衡器的位址。

若要設定負載平衡器,請執行下列動作:

  1. 識別 MWAA Web 伺服器的私有 IP 位址。若要取得這些 IP 位址,請在 Apache Airflow UI 位址上查詢 DNS (dig +short <airflow-web-server-address>)。
  2. 為 MWAA Web 伺服器的私有 IP 位址建立目標群組
  3. 設定目標群組的運作狀態檢查設定,以包括比對器200302
    **注意:**如果沒有此設定,當 Apache Airflow Web 伺服器以 302 重新導向回應時,目標可能會被標記為運作狀態不良。
  4. 使用 HTTPS 接聽程式和建立的目標群組建立 Application Load Balancer
    注意: 您必須擁有 SSL 憑證,才能建立 HTTPS 接聽程式。您可以登入您選擇的網域或子網域,使用 AWS Certificate Manager (ACM) 建立 SSL 憑證。
  5. 使用您建立的 Application Load Balancer 的位址來測試 Apache Airflow UI 的存取權。

**注意:**Amazon MWAA 需要 Web 登入權杖才能存取 Apache Airflow UI。因此,透過 Application Load Balancer 存取 Apache Airflow UI 時,您需要建立 Web 登入權杖並將此權杖作為查詢字串傳遞。若要自動建立此權杖,請參閱使用聯合身分存取私有 Amazon MWAA 環境


相關資訊

Apache Airflow 存取模式

存取 Apache Airflow UI