和風網標誌

推出更大的 Amazon MWAA 環境規模 |亞馬遜網路服務

日期:

適用於 Apache Airflow 的 Amazon 託管工作流 (Amazon MWAA) 是一項託管服務,適用於 阿帕奇氣流 它簡化了基礎設施的設定和操作,以協調雲端中的資料管道。客戶使用 Amazon MWAA 來管理其 Apache Airflow 環境的可擴充性、可用性和安全性。隨著客戶設計更密集、複雜且不斷成長的資料處理管道,客戶要求我們提供額外的底層資源,以便為他們的任務和工作流程提供更大的並發性和容量。

為了解決這個問題,今天,我們宣布 Amazon MWAA 中提供更大的環境類別。在這篇文章中,我們將深入探討這些新的 XL 和 2XL 環境的功能、它們非常適合的場景,以及如何設定或升級現有的 Amazon MWAA 環境以利用增加的資源。

當前的挑戰

當您建立 Amazon MWAA 環境時,一組託管 亞馬遜彈性容器服務 (Amazon ECS) 與 AWS 法門 容器配備定義的虛擬 CPU 和 RAM。

當您處理更大、複雜、資源密集型工作負載或運行數千個 有向無環圖 每天(DAG),您可能會開始耗盡調度程序和工作執行緒的 CPU 可用性,或達到工作執行緒的記憶體限制。大規模運行 Apache Airflow 會為 Airflow 元資料資料庫帶來成比例的更大負載,有時會導致底層出現 CPU 和記憶體問題 亞馬遜關係數據庫服務 (Amazon RDS) 集群。資源匱乏的元資料資料庫可能會導致工作人員的連線斷開,任務過早失敗。

為了提高任務的表現和彈性,請考慮以下內容 Apache Airflow 最佳實踐 創作 DAG。作為替代方案,您可以建立多個 Amazon MWAA 環境來指派工作負載。然而,這需要額外的工程和管理工作。

新環境類

在今天的版本中,除了現有的環境類別之外,現在您還可以在 Amazon MWAA 中建立 XL 和 2XL 環境。它們的運算能力分別是目前大型 Amazon MWAA 環境執行個體類別的兩倍和四倍,記憶體分別是三倍和六倍。這些實例線性增加運算和 RAM,以直接提高所有 Apache Airflow 元件的容量和效能。下表總結了 環境能力.

. 調度程序與工作執行緒 CPU/RAM

Web服務器

中央處理器/內存

並發任務 DAG容量
MW1.xlarge 8 個 vCPU/24 GB 4 個 vCPU/12 GB 40 個任務(預設) 截至到2000
MW1.2x大 16 個 vCPU/48 GB 8 個 vCPU/24 GB 80 個任務(預設) 截至到4000

隨著這些更大環境的引入,您的 Amazon Aurora 元資料資料庫現在將使用由以下技術支援的更大的記憶體最佳化執行個體 AWS Graviton2。透過 Graviton2 系列處理器,您可以獲得運算、儲存和網路方面的改進,並減少 AWS 系列處理器帶來的碳足跡。

方案收費

Amazon MWAA 定價維度保持不變,您只需按使用量付費:

  • 環境等級
  • 額外的工作實例
  • 額外的調度程序實例
  • 元資料資料庫儲存消耗

現在,您在前三個維度中獲得了兩個附加選項:XL 和 2XL 用於環境類別、附加工作人員和調度程序實例。元資料資料庫儲存定價維持不變。參考 適用於 Apache Airflow 定價的 Amazon 託管工作流程 了解價格和更多詳情。

觀察 Amazon MWAA 性能以規劃擴展到更大的環境

在開始使用新環境類別之前,了解您是否處於與容量問題相關的場景非常重要,例如元資料資料庫記憶體不足,或者工作執行緒或排程器以高 CPU 使用率運行。了解環境資源的表現是解決與容量相關的問題的關鍵。我們建議遵循中所描述的指導 引入 Amazon MWAA 環境的容器、資料庫和佇列利用率指標 更了解 Amazon MWAA 環境的狀態,並獲得正確調整執行個體大小的見解。

在下面的測試中,我們模擬高負載場景,使用 CloudWatch 可觀測性指標 識別常見問題,並做出明智的決定,計劃擴展到更大的環境以緩解問題。

在測試期間,我們運行了一個複雜的 DAG,該 DAG 動態創建了 500 多個任務,並使用外部感測器等待不同 DAG 中的任務完成。在 Amazon MWAA 大型環境類別上運行並將自動擴展設置為最多 10 個工作節點後,我們注意到以下指標和值 CloudWatch 儀表板.

Worker節點已達到最大CPU容量,導致排隊任務數量不斷增加。元資料資料庫 CPU 使用率已達到峰值超過 65% 容量,且可用資料庫可用記憶體已減少。在這種情況下,我們可以進一步增加工作節點以進行擴展,但這會為元資料資料庫 CPU 帶來額外的負載。這可能會導致工作資料庫連線數和可用資料庫記憶體數量下降。

使用新的環境類別,您可以透過編輯環境並選擇更高類別的環境來垂直擴展以增加可用資源,如以下螢幕截圖所示。

從環境清單中,我們選擇用於此測試的環境。選擇 編輯 導航到 配置高級設置 頁面,依需求選擇適合的xlarge或2xlarge環境。

儲存變更後,環境升級將需要 20-30 分鐘才能完成。任何在升級過程中中斷的正在運行的 DAG 都會計劃重試,具體取決於您為 DAG 配置重試的方式。現在您可以選擇手動調用它們或等待下一次計劃運行。

升級環境類別後,我們測試了相同的 DAG,並觀察到指標顯示改進的值,因為現在有更多資源可用。借助此 XL 環境,您可以在更少的工作節點上執行更多任務,因此排隊任務的數量不斷減少。或者,如果您的任務需要更多記憶體和/或 CPU,您可以減少每個工作執行緒的任務,但在較大的環境規模下仍然可以實現每個工作執行緒的大量任務。例如,如果您有一個大型環境,其中工作節點 CPU 已達到最大 celery.worker_autoscale (定義每個工作執行緒的任務數的 Airflow 配置)設定為 20,20,您可以增加到 XL 環境並設定 celery.worker_autoscale 在 XL 上減少到 20,20,而不是 XL 環境中每個工作人員預設的 40 個任務,並且 CPU 負載應該顯著減少。

在 Amazon MWAA 中設定新的 XL 環境

您可以 開始使用亞馬遜 MWAA 在您的帳戶和首選 AWS 區域中使用 AWS管理控制台、API 或 AWS命令行界面 (AWS CLI)。 如果您採用基礎架構即程式碼 (IaC),則可以使用下列指令自動執行設定 AWS 雲形成是, AWS雲開發套件 (AWS CDK) 或 Terraform 腳本。

Amazon MWAA XL 和 2XL 環境類別現已在所有提供 Amazon MWAA 的區域推出。

結論

今天,我們宣布 Amazon MWAA 中提供兩個新環境類別。透過 XL 和 2XL 環境類,您可以編排大量複雜或資源密集型工作流程。如果您正在運行具有大量依賴項的DAG、跨多個環境運行數千個DAG,或者在需要大量使用工作線程進行計算的場景中,現在可以透過在短時間內增加環境資源來克服相關的容量問題。

在這篇文章中,我們討論了兩個新環境類別的功能,包括定價和它們解決的一些常見資源約束問題。我們提供了有關如何觀察現有環境以規劃擴展到 XL 或 2XL 的指南和範例,並描述如何升級現有環境以使用增加的資源。

有關 Amazon MWAA 的其他詳細信息和代碼示例,請訪問 亞馬遜 MWAA 用戶指南Amazon MWAA 示例 GitHub 存儲庫.

Apache、Apache Airflow 和 Airflow 是以下公司的註冊商標或商標: Apache軟件基金會 在美國和/或其他國家。


關於作者

埃爾南·加西亞 是位於荷蘭的 AWS 的高級解決方案架構師。他在金融服務業工作,支持企業採用雲端。他對無伺服器技術、安全性和合規性充滿熱情。他喜歡與家人和朋友共度時光,並嘗試不同美食的新菜餚。

傑滕德拉·瓦伊迪亞 是 AWS 的高級解決方案架構師,將他的專業知識帶入 AI/ML、無伺服器和資料分析領域。他熱衷於幫助客戶建立安全、可擴展、可靠且經濟高效的解決方案。

斯里哈什阿達里 是 AWS 的高級解決方案架構師,他協助客戶從業務成果逆向工作,在 AWS 上開發創新解決方案。多年來,他幫助多個客戶進行跨產業垂直數據平台轉型。他的核心專業領域包括技術策略、數據分析和數據科學。業餘時間,他喜歡運動、看電視節目和演奏塔布拉鼓。

現貨圖片

最新情報

現貨圖片