本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Amazon MWAA 的共同責任模型
本指南適用於 Amazon MWAA 佈建環境。在佈建環境中,您可以選取環境類別,並設定工作者和 Web 伺服器擴展限制。
安全與合規是 AWS 與您之間的共同責任。共同責任模型
您負責管理部署到環境的內容。在 Amazon MWAA 上,該內容包含您的 DAG 程式碼和您在 中宣告的Python相依性requirements.txt。它還包含您的自訂外掛程式以及您提供的任何啟動指令碼。您的責任涵蓋您選擇的組態、網路和許可。您也必須負責環境上執行之工作流程的day-to-day操作。Amazon MWAA 會在您提供內容時執行您提供的內容。Amazon MWAA 不會檢查、驗證或修改它。
注意
雖然 會為您的環境 AWS 操作基礎設施,但工作流程寫入中繼資料資料庫的資料會直接影響服務執行的方式。未限制的中繼資料成長可能會降低排程器和 Web 伺服器回應時間。您負責管理環境中的資料量。
AWS 管理 的基礎設施
我們負責保護在 中執行 AWS 服務的基礎設施 AWS 雲端。對於 Amazon MWAA,這包括下列項目:
-
Apache Airflow 設定 – Amazon MWAA 會為您設定 Apache Airflow。它使用網際網路上可用的相同 Apache Airflow 使用者介面和開放原始碼。如需詳細資訊,請參閱什麼是 Amazon Managed Workflows for Apache Airflow?。
-
受管元件的運算 – Amazon MWAA 為您的環境佈建和操作 AWS Fargate 運算。此運算會執行 Apache Airflow 排程器、工作者和 Web 伺服器。Amazon MWAA 也會佈建和操作 Apache Airflow 中繼資料資料庫。對於每個環境,Amazon MWAA 會建立 AWS 擁有的 Amazon VPC,以託管 Web 伺服器和中繼資料資料庫。排程器和工作者會連接到您擁有和設定的 環境的 Amazon VPC 中的私有子網路。如需詳細資訊,請參閱《Amazon MWAA 遷移指南》中的探索 Amazon MWAA 網路架構。
-
Apache Airflow 中繼資料資料庫 – Amazon MWAA 會為每個環境佈建和操作 Apache Airflow 中繼資料資料庫。您仍需對工作流程寫入的資料量負責。如需詳細資訊,請參閱您管理的卓越營運。
-
版本映像和修補 – Amazon MWAA 會建置容器映像,將 Apache Airflow 版本與其他常見的二進位檔和Python程式庫綁定。Amazon MWAA 會修補這些映像。環境會繼續使用其指定的映像版本,直到您發出更新環境動作以將其移至更新版本為止。如需詳細資訊,請參閱關於 Amazon MWAA 版本。映像定義可在 GitHub 網站上的 amazon-mwaa-docker-images
儲存庫中取得。 -
版本支援生命週期 – Amazon MWAA 會發佈每個 Apache Airflow 版本的可用性和支援結束日期。當您帳戶中的環境執行即將終止支援的版本 Health 儀板表 時,Amazon MWAA 會透過 通知您。如需目前的支援承諾和日期,請參閱 End-of-support版本。
-
受管元件的自動擴展 – Amazon MWAA 會擴展工作者和 Web 伺服器以回應需求。擴展會保持在您設定的限制內。您可以選擇環境類別、工作者和 Web 伺服器擴展設定,以及排程器計數。如需詳細資訊,請參閱設定 Amazon MWAA 工作者自動擴展、設定 Amazon MWAA Webserver 自動擴展及設定 Amazon MWAA 環境類別。
-
資料加密 – Amazon MWAA 會加密靜態和傳輸中的資料。Amazon MWAA 也會代表您將必要的授予附加到客戶管理的 KMS 金鑰。如需詳細資訊,請參閱Amazon Managed Workflows for Apache Airflow 中的資料保護。
-
指標和日誌 – Amazon MWAA 會將環境指標發佈至 Amazon CloudWatch。Amazon MWAA 會將您啟用的日誌類型的 Apache Airflow 日誌交付至 CloudWatch Logs。如需詳細資訊,請參閱Amazon MWAA 的監控概觀。
-
合規計劃 – 第三方稽核人員會定期測試和驗證 AWS 安全性的有效性。如需詳細資訊,請參閱Amazon Managed Workflows for Apache Airflow 的合規驗證。
您管理的工作流程程式碼和內容
您有責任控制您在此基礎設施上託管的內容。此內容包含下列項目:
-
DAG 程式碼 – 您複製到 Amazon S3 儲存貯體中
dags資料夾的 DAG 定義。您要負責這些 DAGs存取的內容及其執行的操作。如需詳細資訊,請參閱新增或更新 DAGs。 -
Python 相依性 – 您透過將
requirements.txt檔案上傳至 Amazon S3 儲存貯體所安裝的程式庫。這包括工作流程所需的每個套件的安全性和相容性。不相容或資源密集的套件可能會降低排程器和工作者效能,或防止容器啟動。如需詳細資訊,請參閱安裝 Python 相依性及在 requirements.txt 中管理 Python 相依性。 -
自訂外掛程式 – 您上傳至 Amazon S3 儲存貯體
plugins.zip的檔案內容。我們建議您在上傳檔案之前驗證檔案的內容。如需詳細資訊,請參閱安裝自訂外掛程式。 -
啟動指令碼 – Amazon MWAA 在啟動時在每個元件上執行的 Shell 指令碼。您也可以指定指令碼的 Amazon S3 版本 ID。如需詳細資訊,請參閱搭配 Amazon MWAA 使用啟動指令碼。
-
測試 – 在將 DAGs、自訂外掛程式和Python相依性部署到環境之前,驗證它們。建議您在開發環境中測試 Apache Airflow 版本升級,然後再將其套用至生產環境。您可以使用GitHub網站上的 amazon-mwaa-docker-images
容器映像,在本機進行開發和測試。 -
您的 Amazon S3 儲存貯體及其內容 – 與環境相關聯的儲存貯體的儲存貯體政策和物件 ACLs。Amazon MWAA 不會代表您備份儲存貯體內容。如果您的 DAGs、外掛程式和需求檔案需要災難復原狀態,我們建議您啟用版本控制和設定跨區域複寫。我們也建議您不要將其他物件存放在儲存貯體中,或將儲存貯體與其他服務搭配使用。
-
您輸入的資料 – 強烈建議您絕對不要將機密或敏感資訊放入標籤或自由格式欄位,例如名稱欄位。
您管理的卓越營運
Amazon MWAA 會操作受管基礎設施。您仍需對在該基礎設施上執行的工作流程負責。您部署的程式碼、相依性和組態會決定環境的執行方式。Amazon MWAA 會發佈描述環境運作狀態的指標和日誌。解讀該資料、對其設定警示,以及對其報告的內容採取行動是您的責任。
-
監控環境運作狀態 – 檢閱 Amazon MWAA 為您的環境發佈的 CloudWatch 指標。這些包括容器、佇列和資料庫指標,可協助您偵測飽和和降級。如需詳細資訊,請參閱Amazon Managed Workflows for Apache Airflow 的監控和指標及Amazon MWAA 的容器、佇列和資料庫指標。
-
儀表板和警示 – 建立 CloudWatch 儀表板和警示,在您的環境接近其限制時通知您。如需詳細資訊,請參閱在 Amazon MWAA 上監控儀表板和警示。
-
日誌分析 – 啟用您需要的 Apache Airflow 日誌類型。然後,您可以分析排程器、工作者、Web 伺服器和任務日誌,以診斷工作流程失敗。如需詳細資訊,請參閱在 Amazon CloudWatch 中存取 Airflow 日誌及故障診斷:CloudWatch Logs 和 CloudTrail 錯誤。
-
CloudWatch 服務配額 – 確保您帳戶中的 CloudWatch 配額可以處理您環境產生的日誌磁碟區。超過 等 CloudWatch Logs 配額
CreateLogStream可能會導致工作者降級。如需詳細資訊,請參閱 CloudWatch Logs 配額。 -
中繼資料資料庫維護 – 保持 Apache Airflow 中繼資料資料庫照明。定期移除工作流程不再需要的中繼資料。未限制的中繼資料資料庫可能會降低排程器和 Web 伺服器效能。如需詳細資訊,請參閱Amazon MWAA 環境上的 Aurora PostgreSQL 資料庫清除。
-
DAG 設計和排程頻率 – 您的 DAG 計數、每個 DAG 的任務和排程間隔會直接決定受管排程器的負載。Amazon MWAA 不會調節或拒絕超過環境容量的工作負載。您必須設計符合所設定資源DAGs。
-
任務資源控管 – 設定任務層級逾時、Apache Airflow 集區大小和每個 DAG 並行限制。Amazon MWAA 不會代表您強制執行每個任務的護欄。如果沒有這些設定,單一長時間執行或高並行 DAG 可以使用所有可用的工作者。
-
容量和效能調校 – 選擇環境類別、工作者和 Web 伺服器擴展限制,以及適合您工作負載的 Apache Airflow 組態選項。自動擴展在您設定的邊界內運作,不會補償超過環境設計容量的工作負載。您必須調整工作負載描述檔的環境類別大小。如需詳細資訊,請參閱Amazon MWAA 上 Apache Airflow 的效能調校及設定 Amazon MWAA 環境類別。
-
您透過啟動指令碼所做的變更 – 啟動指令碼會在您環境中的每個元件上執行。它可以變更這些元件的組態。您必須對您以此方式進行的變更負責,包括它們對環境穩定性的任何影響。建議您先測試啟動指令碼,再將其套用至生產環境。如需詳細資訊,請參閱搭配 Amazon MWAA 使用啟動指令碼。
-
環境更新 – 啟動環境更新是您的動作。更新會觸發容器重新啟動,並可能影響執行中的工作流程。您有責任選擇何時更新和評估對進行中任務的影響。我們建議您在沒有執行關鍵 DAGs 的時段內更新 。若要在不暫停和取消暫停 DAGs 的情況下更新,請考慮進行正常的更新,這可讓工作者在關閉之前完成進行中的任務。適用條件和限制;如需詳細資訊,請參閱更新 Amazon MWAA 環境。
-
第一級分類:在與 AWS Support 互動之前,使用可用的指標和日誌來診斷問題。Support AWS 可用來協助您的詳細資訊層級,取決於您為環境啟用的記錄層級。
-
跨環境協調 – 協調跨多個 Amazon MWAA 環境的工作流程。如果您使用 Apache Airflow REST API 或外部感應器等機制來連結環境,您必須負責該協調邏輯。
-
遵循 Amazon MWAA 最佳實務 – 套用記錄的效能、相依性和環境組態指引。如需詳細資訊,請參閱Amazon Managed Workflows for Apache Airflow 的最佳實務。
您管理的組態和存取權
您可以選擇環境的設定方式,以及誰可以連接它。您必須負責下列事項:
-
保持您的版本為最新版本 – 您有責任保持 Amazon MWAA 版本為最新版本。將環境升級至較新的 Apache Airflow 版本是您啟動的動作。如需詳細資訊,請參閱變更 Apache Airflow 版本及End-of-support版本。
-
執行角色 – 建立環境後,Amazon MWAA 無法新增或編輯現有執行角色的許可政策。您必須使用環境所需的其他許可來更新執行角色。如需詳細資訊,請參閱Amazon MWAA 執行角色。
-
IAM 存取控制 – 決定誰可以存取您環境和 Apache Airflow UI 的政策。僅將許可授予使用者所需的資源和動作。如需詳細資訊,請參閱AWS Identity and Access Management及存取 Amazon MWAA 環境。
-
Apache Airflow 使用者權限 – Apache Airflow 不是多租戶。DAG 作者可以撰寫 DAGs,以變更 Apache Airflow 使用者權限並與基礎中繼資料資料庫互動。對於具有 DAG 寫入存取權的個別團隊,我們建議您使用不同的環境。如需詳細資訊,請參閱Apache Airflow 中的安全最佳實務。
-
Web 伺服器存取模式 – 選擇
PUBLIC_ONLY或PRIVATE_ONLY以存取 Apache Airflow UI。這是決定 Web 伺服器端點是否可從網際網路連線的安全性決策。如需詳細資訊,請參閱Amazon MWAA 上 VPC 的安全性。 -
網路組態 – 您的 Amazon VPC、子網路、安全群組和網路 ACLs。這包括引導 NAT 閘道流量的傳入和傳出規則。如果您選擇管理自己的 Amazon VPC 端點,您必須負責建立這些端點。如需詳細資訊,請參閱Amazon MWAA 上 VPC 的安全性及在 Amazon MWAA 上管理您自己的 Amazon VPC 端點。
-
加密金鑰選擇 – 要使用 AWS 擁有的 KMS 金鑰或客戶管理的 KMS 金鑰。如果您使用客戶管理的 KMS 金鑰,則必須將必要的政策陳述式連接到金鑰。如需詳細資訊,請參閱Amazon Managed Workflows for Apache Airflow 中的資料保護。
-
秘密和連線 – 您的工作流程使用的登入資料。建議您將秘密儲存在 Secrets Manager 中。如需詳細資訊,請參閱使用 AWS Secrets Manager 秘密設定 Apache Airflow 連線。
-
Apache Airflow 組態選項 – 您在環境中覆寫的組態選項。如需詳細資訊,請參閱在 Amazon MWAA 上使用 Apache Airflow 組態選項。