Managed Airflow 共同責任模式

代管 Airflow (第 3 代) | 代管 Airflow (第 2 代) | 代管 Airflow (舊版第 1 代)

在 Managed Airflow 上執行重要業務應用程式,需由多方各司其職,本文件列舉 Google 和客戶雙方主要責任 (請注意,此清單並非詳盡無遺)。

Google 的責任

  • 強化及修補 Managed Airflow 環境的元件和基礎架構,包括 Google Kubernetes Engine 叢集、Cloud SQL 資料庫 (託管 Airflow 資料庫)、Pub/Sub、Artifact Registry 和其他環境元素。具體來說,這包括自動升級底層基礎架構,包括環境的 GKE 叢集和 Cloud SQL 執行個體。

  • 整合 IAM 提供的存取控管機制、預設加密靜態資料、提供額外的客戶管理型儲存空間加密功能、加密傳輸中的資料,保護 Managed Airflow 環境的存取權。

  • 提供 Identity and Access Management、Cloud 稽核記錄和 Cloud Key Management Service 適用的 Google Cloud 整合功能。

  • 基於合約規定的支援義務,透過資料存取透明化控管機制和存取權核准程序,限制並記錄 Google 管理員對客戶叢集的存取活動。

  • 在 Managed Airflow 版本資訊中,發布 Managed Airflow 和 Airflow 版本之間回溯不相容變更的相關資訊。

  • 隨時更新 Managed Airflow 說明文件:

    • 說明 Managed Airflow 提供的所有功能。

    • 提供疑難排解操作說明,協助維持環境健康狀態。

    • 發布已知問題的相關資訊,並提供解決方法 (如有)。

  • 解決與 Managed Airflow 環境和 Managed Airflow 提供的 Airflow 映像檔 (不含客戶安裝的 Python 套件) 相關的重大安全性事件,並提供解決事件的新環境版本。

  • 視客戶的支援方案而定,排解 Managed Airflow 環境健康狀態問題。

  • 維護及擴充 Managed Airflow Terraform 供應商的功能。

  • 與 Apache Airflow 社群合作,維護及開發 Google Airflow 運算子。

  • 排解 Airflow 核心功能的問題,並盡可能修正。

客戶責任

  • 升級至新的 Managed Airflow 和 Airflow 版本,以便繼續獲得產品支援,並在 Managed Airflow 服務發布解決問題的版本後,解決安全性問題。

  • 維護 DAG 程式碼,確保與使用的 Airflow 版本相容。

  • 保持環境的 GKE 叢集設定不變,尤其是自動升級功能。

  • 在 IAM 中為環境的服務帳戶維護適當權限。特別是 Managed Airflow 代理和環境服務帳戶所需的權限。維護 Managed Airflow 環境加密所用 CMEK 金鑰的必要權限,並視需要輪替金鑰。

  • 在 IAM 中,為環境的 bucket 和 Artifact Registry 存放區 (儲存 Managed Airflow 元件映像檔的位置) 維護適當權限。

  • 為執行 PyPI 套件安裝作業的服務帳戶,維護適當的 IAM 權限。詳情請參閱「存取控管」。

  • 在 IAM 和 Airflow UI 存取控管設定中,維護適當的使用者授權。

  • 使用維護 DAG,將 Airflow 資料庫大小維持在 16 GB 以下。

  • 向 Cloud Customer Care 提交客服案件前,請先解決所有 DAG 剖析問題。

  • 以適當方式命名 DAG (例如,不在 DAG 名稱中使用 SPACE 或 TAB 等隱藏字元),以便正確回報 DAG 的指標。

  • 升級 DAG 的程式碼,避免使用已淘汰的運算子,並改用最新的替代方案。已淘汰的運算子可能會從 Airflow 供應商中移除,這可能會影響您升級至較新 Managed Airflow 或 Airflow 版本的計畫。我們也不會維護已淘汰的運算子,因此您必須「依原樣」使用。

  • 使用 Secret Manager 等 Secret 後端時,設定適當的 IAM 權限,讓環境的服務帳戶可以存取。

  • 依據 Managed Airflow 最佳化指南和環境資源調度指南,調整 Managed Airflow 環境參數 (例如 Airflow 元件的 CPU 和記憶體) 和 Airflow 設定,以符合 Managed Airflow 環境的效能和負載預期。

  • 避免移除 Managed Airflow 代理和環境服務帳戶所需的權限 (移除這些權限可能會導致管理作業失敗,或 DAG 和工作失敗)。

  • Managed Airflow 所需的所有服務和 API 均保持啟用狀態。這些依附元件必須設定 Managed Airflow 所需的配額。

  • 保留 Artifact Registry 存放區,其中託管 Managed Airflow 環境使用的容器映像檔。

  • 遵循建議和最佳做法,實作 DAG。

  • 按照排程器疑難排解、DAG 疑難排解和觸發條件疑難排解的操作說明,診斷 DAG 和工作失敗。

  • 避免在環境的 GKE 叢集中安裝或執行其他元件,以免干擾 Managed Airflow 元件,導致元件無法正常運作。

  • 設定及管理快照,滿足資料保留和業務持續性需求。Google 不會還原已刪除的環境或其資料庫備份。

  • 維護客戶安裝套件的 Python 依附元件供應鏈。包括排解因 Python 依附元件不相符而導致的安裝錯誤,以及在新增或修改這些套件時定義特定版本限制。

後續步驟