本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 Linux 堡壘主機設定私有網路存取
本教學課程會逐步解說從電腦建立 SSH 通道到 Amazon Managed Workflows for Apache Airflow 環境的 Apache Airflow Web 伺服器的步驟。其假設您已建立 Amazon MWAA 環境。設定後,Linux 堡壘主機會充當跳轉伺服器,允許從您的電腦安全連線至 VPC 中的資源。然後,您可以使用 SOCKS 代理管理附加元件來控制瀏覽器中的代理設定,以存取 Apache Airflow UI。
注意
本教學課程適用於私有網路存取模式。如果您選擇公有和私有網路存取,則不需要堡壘主機來存取 Apache Airflow UI,因為它可透過網際網路存取。
章節
私有網路
本教學假設您已為 Apache Airflow Web 伺服器選擇私有網路存取模式。
私有網路存取模式會將對 Apache Airflow UI 的存取限制在 Amazon VPC 中已獲授予環境 IAM 政策存取權的使用者。
當您建立具有私有網路存取的環境時,您必須在 Python wheel 封存檔 (.whl) 中封裝所有相依性,然後在 .whl中參考 requirements.txt。如需使用 wheel 封裝和安裝相依性的說明,請參閱使用 Python wheel 管理相依性。
下圖說明在 Amazon MWAA 主控台上尋找私有網路選項的位置。
使用案例
您可以在建立 Amazon MWAA 環境之後使用此教學課程。您必須使用與環境相同的 Amazon VPC、VPC 安全群組和公有子網路。
開始之前
-
檢查使用者許可。請確定您在 AWS Identity and Access Management (IAM) 中的帳戶有足夠的許可來建立和管理 VPC 資源。
-
使用您的 Amazon MWAA VPC。本教學假設您正在將堡壘主機與現有 VPC 建立關聯。Amazon VPC 必須與 Amazon MWAA 環境位於相同的區域,並具有兩個私有子網路,如 中所定義建立 VPC 網路。
-
建立 SSH 金鑰。您需要在與 Amazon MWAA 環境相同的區域中建立 Amazon EC2 SSH 金鑰 (.pem),才能連線至虛擬伺服器。如果您沒有 SSH 金鑰,請參閱《Amazon EC2 使用者指南》中的建立或匯入金鑰對。
目標
在本教學中,您將執行下列作業:
-
使用CloudFormation 現有 VPC 的範本
建立 Linux 堡壘主機執行個體。 -
使用連接埠 上的傳入規則,將傳入流量授權至堡壘執行個體的安全群組
22。 -
授權從 Amazon MWAA 環境安全群組到堡壘執行個體安全群組的傳入流量。
-
建立堡壘執行個體的 SSH 通道。
-
安裝並設定 Firefox 瀏覽器的 FoxyProxy 附加元件,以存取 Apache Airflow UI。
步驟 1:建立堡壘執行個體
下一節說明建立 Linux 堡壘執行個體的步驟。
在 https://console.aws.amazon.com/ec2/
注意
建議您在 Amazon EC2 執行個體上允許 TCP 轉送。TCP 轉送表示 SSH TCP 轉送 — 允許ssh -L/-D通道通過主機。SSH 協助程式組態 (/etc/ssh/sshd_config) 中的AllowTcpForwarding指令會控制此設定。它在大多數 Amazon Linux 和 Ubuntu AMIs yes上預設為 ,但通常在強化堡AMIs上停用。
步驟 2:建立 SSH 通道
下列步驟說明如何建立 Linux 堡壘的 SSH 通道。SSH 通道會從本機 IP 地址接收請求至 Linux 堡壘,這就是為什麼在先前步驟true中將 Linux 堡壘的 TCP 轉送設定為 的原因。
注意
如果您收到Permission denied (publickey)錯誤,建議您使用 AWSSupport-TroubleshootSSH 工具,然後選擇執行此自動化 (主控台) 來疑難排解 SSH 設定。
步驟三:將堡壘安全群組設定為傳入規則
允許從伺服器存取伺服器和定期存取網際網路,並將特殊維護安全群組連接到這些伺服器。下列步驟說明如何將堡壘安全群組設定為環境 VPC 安全群組的傳入流量來源。
-
在 Amazon MWAA 主控台上開啟環境
頁面。 -
選擇環境。
-
在聯網窗格中,選擇 VPC 安全群組。
-
選擇 Edit inbound Rules (編輯傳入規則)。
-
選擇新增規則。
-
在來源下拉式清單中選擇您的 VPC 安全群組 ID。
-
將其餘選項保留空白,或設定為其預設值。
-
選擇儲存規則。
步驟四:複製 Apache Airflow URL
下列步驟說明如何開啟 Amazon MWAA 主控台,並將 URL 複製到 Apache Airflow UI。
-
在 Amazon MWAA 主控台上開啟環境
頁面。 -
選擇環境。
-
在 Airflow UI 中複製 URL 以進行後續步驟。
步驟五:設定代理設定
如果您使用 SSH 通道搭配動態連接埠轉送,您必須使用 SOCKS 代理管理附加元件,以控制在瀏覽器中的代理設定。例如,您可以使用 Chromium --proxy-server的功能來啟動瀏覽器工作階段,或在 Mozilla FireFox 瀏覽器中使用 FoxyProxy 延伸模組。
選項一:使用本機連接埠轉送設定 SSH 通道
如果您不想使用 SOCKS 代理,您可以使用本機連接埠轉送來設定 SSH 通道。下列範例命令透過轉送本機連接埠 8157 上的流量來存取 Apache Airflow Web 伺服器。
-
開啟新的命令提示視窗。
-
輸入下列命令以開啟 SSH 通道。
ssh -imykeypair.pem-N -L 8157:YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com:443 ec2-user@YOUR_PUBLIC_IPV4_DNS-L表示使用本機連接埠轉送,您可以使用它來指定本機連接埠,用來將資料轉送到節點本機 Web 伺服器上已識別的遠端連接埠。 -
在瀏覽器
http://localhost:8157/中輸入 。注意
您可能需要使用
https://localhost:8157/。
選項二:使用命令列的代理
您可以使用大多數 Web 瀏覽器,使用命令列或組態參數來設定代理。例如,使用 Chromium,您可以使用下列命令啟動瀏覽器:
chromium --proxy-server="socks5://localhost:8157"
這會啟動瀏覽器工作階段,使用您在先前步驟中建立的 ssh 通道來代理其請求。您可以開啟私有 Amazon MWAA 環境 URL (使用 https://),如下所示:
https://YOUR_VPC_ENDPOINT_ID-vpce.us-east-1.airflow.amazonaws.com/home.
選項三:使用 FoxyProxy for Mozilla Firefox 的代理
下面的範例演示了 Mozilla Firefox 的 FoxyProxy Standard (7.5.1 版) 組態。FoxyProxy 提供一組代理管理工具。它可讓您將代理伺服器用於符合對應於 Apache Airflow UI 所用網域之模式的 URLs。
-
在 Firefox 中,開啟 FoxyProxy 標準
擴充功能頁面。 -
選擇新增至 Firefox。
-
選擇新增。
-
選擇瀏覽器工具列中的 FoxyProxy 圖示,然後選擇選項。
-
複製下列程式碼,並在本機儲存為
mwaa-proxy.json。使用 Apache Airflow URL 取代YOUR_HOST_NAME中的範例值。{ "e0b7kh1606694837384": { "type": 3, "color": "#66cc66", "title": "airflow", "active": true, "address": "localhost", "port": 8157, "proxyDNS": false, "username": "", "password": "", "whitePatterns": [ { "title": "airflow-ui", "pattern": "YOUR_HOST_NAME", "type": 1, "protocols": 1, "active": true } ], "blackPatterns": [], "pacURL": "", "index": -1 }, "k20d21508277536715": { "active": true, "title": "Default", "notes": "These are the settings that are used when no patterns match a URL.", "color": "#0055E5", "type": 5, "whitePatterns": [ { "title": "all URLs", "active": true, "pattern": "*", "type": 1, "protocols": 1 } ], "blackPatterns": [], "index": 9007199254740991 }, "logging": { "active": true, "maxSize": 500 }, "mode": "patterns", "browserVersion": "82.0.3", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" } -
在從 FoxyProxy 6.0+ 匯入設定窗格中,選擇匯入設定並選取
mwaa-proxy.json檔案。 -
選擇確定。
步驟六:開啟 Apache Airflow UI
下列步驟說明如何開啟 Apache Airflow UI。
-
在 Amazon MWAA 主控台上開啟環境
頁面。 -
選擇開啟氣流使用者介面。
後續步驟?
-
了解如何在 中對堡壘主機的 SSH 通道上執行 Airflow CLI 命令Apache Airflow CLI 命令參考。
-
了解如何將 DAG 程式碼上傳至 中的 Amazon S3 儲存貯體新增或更新 DAGs。