本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Apache Airflow 存取模式
Amazon Managed Workflows for Apache Airflow 主控台包含內建選項,可設定私有、公有或公有和私有路由至您環境中的 Apache Airflow Web 伺服器。本指南說明 Amazon Managed Workflows for Apache Airflow 環境上 Apache Airflow Web 伺服器可用的存取模式,以及如果您選擇私有網路選項,則需要在 Amazon VPC 中設定的其他資源。
內容
Apache Airflow 存取模式
您可以為 Apache Airflow Web 伺服器選擇私有、公有或公有和私有路由。若要啟用私有路由,請選擇私有網路。這會限制使用者存取 Amazon VPC 內的 Apache Airflow Web 伺服器。若要啟用公有路由,請選擇公有網路。這可讓使用者透過網際網路存取 Apache Airflow Web 伺服器。若要同時啟用公有和私有路由,請選擇公有和私有網路存取。這允許使用者透過網際網路存取 Apache Airflow Web 伺服器,同時工作者透過私有 VPC 端點與 Web 伺服器通訊。
公有網路
下列架構圖說明具有公有 Web 伺服器的 Amazon MWAA 環境。
公有網路存取模式允許授予您環境 IAM 政策存取權的使用者透過網際網路存取 Apache Airflow UI。
重要
如果您的環境使用 Apache Airflow 第 3 版或更新版本搭配公有網路存取模式,工作者必須透過網際網路連線到 Web 伺服器以通訊任務狀態。如果託管工作者的子網路無法存取網際網路 (例如,沒有 NAT 閘道的私有子網路),則 DAG 任務將會失敗。若要解決此問題,請升級至 Apache Airflow 3.2.1 版或更新版本,並切換到公有和私有網路存取模式,以透過私有 VPC 端點路由工作者通訊。
下圖說明在 Amazon MWAA 主控台上尋找公有網路選項的位置。
私有網路
下列架構圖說明具有私有 Web 伺服器的 Amazon MWAA 環境。
私有網路存取模式會將 Apache Airflow UI 的存取限制在 Amazon VPC 中已授予您環境 IAM 政策存取權的使用者。
當您建立具有私有 Web 伺服器存取權的環境時,您必須在 Python wheel 封存檔 (.whl) 中封裝所有相依性,然後在 .whl中參考 requirements.txt。如需使用 wheel 封裝和安裝相依性的說明,請參閱使用 Python wheel 管理相依性。
下圖說明在 Amazon MWAA 主控台上尋找私有網路選項的位置。
公有和私有網路存取
適用於 Apache Airflow 3.2.1 版和更新版本。在 Apache Airflow 第 3 版及更新版本中,工作者會透過任務 API 將任務狀態傳達給 Web 伺服器。如果您的 Amazon VPC 無法存取網際網路,工作者無法連線到公有 Web 伺服器,導致 DAG 任務失敗。此模式會建立用於瀏覽器存取 Apache Airflow UI 的公有網路負載平衡器,以及用於worker-to-webserver通訊的私有 VPC 端點,允許工作者在沒有網際網路存取的情況下連線到 Web 伺服器。請參閱上述每個元件的公有網路和私有網路架構圖。
注意
在此模式下,瀏覽器存取 Apache Airflow UI 會經過公有 URL。私有 VPC 端點供工作者用於內部通訊,不適用於瀏覽器存取。
存取模式概觀
本節說明當您選擇公有網路、私有網路或公有和私有網路存取模式時,在 Amazon VPC 中建立的 VPC 端點 (AWS PrivateLink)。
公有網路存取模式
如果您為 Apache Airflow Web 伺服器選擇公有網路存取模式,網路流量會透過網際網路公開路由。
-
Amazon MWAA 會為您的 Amazon Aurora PostgreSQL 中繼資料資料庫建立 VPC 介面端點。端點是在映射到您的私有子網路的可用區域中建立的,並且獨立於其他子網路 AWS 帳戶。
-
然後,Amazon MWAA 會將私有子網路的 IP 地址繫結至介面端點。這旨在支援從 Amazon VPC 的每個可用區域繫結單一 IP 的最佳實務。
私有網路存取模式
如果您為 Apache Airflow Web 伺服器選擇私有網路存取模式,網路流量會在 Amazon VPC 內私下路由。
-
Amazon MWAA 會為您的 Apache Airflow Web 伺服器建立 VPC 介面端點,並為 Amazon Aurora PostgreSQL 中繼資料資料庫建立介面端點。端點是在映射到您的私有子網路的可用區域中建立的,並且獨立於其他子網路 AWS 帳戶。
-
然後,Amazon MWAA 會將私有子網路的 IP 地址繫結至介面端點。這旨在支援從 Amazon VPC 的每個可用區域繫結單一 IP 的最佳實務。
公有和私有網路存取模式
如果您為 Apache Airflow Web 伺服器選擇公有和私有網路存取模式,則 Apache Airflow UI 的網路流量會透過網際網路公開路由,而worker-to-webserver通訊則會在您的 Amazon VPC 中私有路由。
-
Amazon MWAA 會為您的 Apache Airflow Web 伺服器 (用於工作者連線) 建立 VPC 介面端點,並為 Amazon Aurora PostgreSQL 中繼資料資料庫建立介面端點。端點會在映射到您的私有子網路的可用區域中建立,並獨立於其他子網路 AWS 帳戶。
-
然後,Amazon MWAA 會將私有子網路的 IP 地址繫結至介面端點。這旨在支援從 Amazon VPC 的每個可用區域繫結單一 IP 的最佳實務。
-
Apache Airflow UI 可透過公有網路負載平衡器透過網際網路存取。使用者存取 UI 的方式與使用公有網路存取模式的方式相同。
若要進一步了解,請參閱 Amazon VPC 和 Apache Airflow 存取模式的範例使用案例。
存取模式的設定
下一節說明根據您為環境選擇的 Apache Airflow 存取模式,您需要的其他設定和組態。
公有網路的設定
如果您為 Apache Airflow Web 伺服器選擇公有網路選項,您可以在建立環境後開始使用 Apache Airflow UI。
您需要採取下列步驟,為您的使用者設定存取權,以及您的環境使用其他 AWS 服務的許可。
-
新增許可。Amazon MWAA 需要許可才能使用其他 AWS 服務。當您建立環境時,Amazon MWAA 會建立服務連結角色,允許它針對 Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs 和 Amazon EC2 使用特定 IAM 動作。
您可以新增許可,以使用這些服務的其他動作,或透過將許可新增至執行角色 AWS 來使用其他服務。若要進一步了解,請參閱 Amazon MWAA 執行角色。
-
建立使用者政策。您可能需要為使用者建立多個 IAM 政策,以設定對您環境和 Apache Airflow UI 的存取。若要進一步了解,請參閱 存取 Amazon MWAA 環境。
私有網路的設定
如果您選擇 Apache Airflow Webserver 的私有網路選項,則需要為使用者設定存取權、環境使用其他服務的許可 AWS ,以及建立從電腦存取 Amazon VPC 中資源的機制。
-
新增許可。Amazon MWAA 需要許可才能使用其他 AWS 服務。當您建立環境時,Amazon MWAA 會建立服務連結角色,允許它針對 Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs 和 Amazon EC2 使用特定 IAM 動作。
您可以新增許可,以使用這些服務的其他動作,或透過將許可新增至執行角色 AWS 來使用其他服務。若要進一步了解,請參閱 Amazon MWAA 執行角色。
-
建立使用者政策。您可能需要為使用者建立多個 IAM 政策,以設定對您環境和 Apache Airflow UI 的存取。若要進一步了解,請參閱 存取 Amazon MWAA 環境。
-
啟用網路存取。您需要在 Amazon VPC 中建立機制,才能連線至 Apache Airflow Web 伺服器的 VPC 端點 (AWS PrivateLink)。例如,透過使用 從您的電腦建立 VPN 通道 AWS Client VPN。
設定公有和私有網路存取
如果您為 Apache Airflow Web 伺服器選擇公有和私有網路存取選項,您可以在建立環境後開始使用 Apache Airflow UI。瀏覽器存取不需要 VPN 或 VPC 端點存取機制。Apache Airflow UI 可透過網際網路存取。工作者會透過私有 VPC 端點自動連線至 Web 伺服器。
您需要採取下列步驟,為您的使用者設定存取權,以及您的環境使用其他 AWS 服務的許可。
-
新增許可。Amazon MWAA 需要許可才能使用其他 AWS 服務。當您建立環境時,Amazon MWAA 會建立服務連結角色,允許它針對 Amazon Elastic Container Registry (Amazon ECR)、CloudWatch Logs 和 Amazon EC2 使用特定 IAM 動作。
您可以新增許可,以使用這些服務的其他動作,或透過將許可新增至執行角色 AWS 來使用其他服務。若要進一步了解,請參閱 Amazon MWAA 執行角色。
-
建立使用者政策。您可能需要為使用者建立多個 IAM 政策,以設定對您環境和 Apache Airflow UI 的存取。若要進一步了解,請參閱 存取 Amazon MWAA 環境。
存取 Apache Airflow Webserver 的 VPC 端點 (私有網路存取)
如果您已選擇私有網路選項,則需要在 Amazon VPC 中建立機制,才能存取 Apache Airflow Web 伺服器的 VPC 端點 (AWS PrivateLink)。建議您針對這些資源使用與 Amazon MWAA 環境相同的 Amazon VPC、VPC 安全群組和私有子網路。
如果您已選擇公有和私有網路存取,則不需要建立存取 Apache Airflow UI 的機制。可透過網際網路存取。工作者會自動使用私有 VPC 端點進行內部通訊。
若要進一步了解,請參閱管理 VPC 端點的存取。