環境架構

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

本頁面說明 Cloud Composer 環境的架構。

環境架構設定

Cloud Composer 3 環境有單一設定,不依賴網路類型:

客戶和租戶專案

建立環境時,Cloud Composer 會將環境的資源分配至用戶群和客戶專案:

  • 客戶專案是您建立環境的 Google Cloud 專案。您可以在單一客戶專案中建立多個環境。

  • 租用戶專案是 Google 管理的租用戶專案,屬於 Google.com 機構。租用戶專案可為環境提供統一的存取權控管機制,以及額外的資料安全防護機制。每個 Cloud Composer 環境都有自己的租用戶專案。

環境元件

Cloud Composer 環境由環境元件組成。

環境元件是指在 Google Cloud上執行的代管 Airflow 基礎架構元素,也是環境的一部分。環境元件會在用戶群或環境的客戶專案中執行。

環境值區

環境的值區是儲存 DAG、外掛程式、資料相依性和 Airflow 記錄的 Cloud Storage 值區。環境的值區位於客戶專案中。

當您上傳 DAG 檔案到環境值區中的 /dags 資料夾時,Cloud Composer 會將 DAG 同步至環境的 Airflow 元件。

Airflow 網路伺服器

Airflow 網路伺服器會執行環境的 Airflow UI。

Cloud Composer 會根據使用者身分和為使用者定義的 IAM 政策繫結,提供介面的存取權。

Airflow 資料庫

Airflow 資料庫Cloud SQL 執行個體,可在環境的租用戶專案中執行。並代管 Airflow 中繼資料資料庫。

為保護機密連線和工作流程資訊,Cloud Composer 只允許環境的服務帳戶存取資料庫。

其他 Airflow 元件

在環境中執行的其他 Airflow 元件包括:

  • Airflow 排程器會剖析 DAG 定義檔案、依據排程間隔排定 DAG 執行作業,並將任務排入佇列來讓 Airflow 工作站執行。

  • Airflow 觸發器會以非同步的方式監控環境中的所有延後工作。如果在環境中設定的觸發器數量大於零,您就可以在 DAG 中使用可延遲運算子

  • Airflow DAG 處理器會處理 DAG 檔案,並將檔案轉換為 DAG 物件。在 Cloud Composer 3 中,DAG 處理器會以獨立的環境元件執行。

  • Airflow 工作站會執行 Airflow 排程器排定的任務。環境中的工作站數量會根據佇列中的工作數量進行動態變更。

Cloud Composer 3 環境架構

用戶群專案和客戶專案中的 Cloud Composer 3 環境資源
圖 1: Cloud Composer 3 環境架構 (按一下可放大)

在 Cloud Composer 3 環境中:

  • 租用戶專案會代管含有 Airflow 資料庫的 Cloud SQL 執行個體。
  • 所有 Airflow 資源都會在租用戶專案中執行。
  • 客戶專案會代管環境的值區。
  • 客戶專案中的自訂 VPC 網路附件可用於將環境附加至自訂 VPC 網路。您可以使用現有的附件,也可以讓 Cloud Composer 根據需求自動建立附件。您也可以將環境從虛擬私人雲端網路中分離。
  • Google Cloud 客戶專案中的控制台、監控和記錄功能,可用於管理環境、DAG 和 DAG 執行作業,以及存取環境的指標和記錄。您也可以使用 Airflow UI、Google Cloud CLI、Cloud Composer API 和 Terraform 來達到相同目的。

與 Cloud Logging 和 Cloud Monitoring 整合

Cloud Composer 會整合您的 Google Cloud 專案的 Cloud Logging 和 Cloud Monitoring,讓您可集中查看 Airflow 和 DAG 記錄

Cloud Monitoring 會收集和擷取 Cloud Composer 的指標、事件和中繼資料,透過資訊主頁和圖表產生深入分析資料

Cloud Logging 具有串流特性,因此您可以立即查看 Airflow 元件發出的記錄,而不必等候 Airflow 記錄顯示在環境的 Cloud Storage 值區中。

如要限制 Google Cloud 專案中的記錄數量,您可以停止擷取所有記錄。請勿停用記錄功能。

後續步驟