如何在我的 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 端點。因此,存取 Apache Airflow UI 需要存取 VPC。私有網路存取模式需要額外的聯網設定。

解決方案

您可以使用以下方法之一在私有網路存取模式下存取 Apache Airflow Web 伺服器。

AWS Direct Connect 或 VPN

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

如果仍然面臨問題,請嘗試以下操作:

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

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

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. 為 Amazon MWAA Web 伺服器的私有 IP 地址建立目標群組
  3. 目標群組的運作狀態檢查設定設定為包含比對器200302
    **注意:**如果沒有此設定,當 Apache Airflow Web 伺服器回覆 302 Redirect (302 重新引導) 時,可能會將目標標記為運作狀態不佳。
  4. 建立 Application Load Balancer,其中包含 HTTPS 接聽程式和建立的目標群組。
    注意:在建立 HTTPS 接聽程式之前,您必須擁有 SSL 憑證。您可以透過登入您選擇的網域或子網域,使用 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

AWS 官方
AWS 官方已更新 2 年前