环境架构

Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3

本页面介绍了 Cloud Composer 环境的架构。

环境架构配置

Cloud Composer 3 环境的唯一配置不 取决于网络类型:

客户和租户项目

当您创建环境时,Cloud Composer 会将 环境资源:

  • 客户项目是您在其中创建环境的 Google Cloud 项目。您可以在一个客户项目中创建多个环境。

租户项目是由 Google 管理的租户项目。 租户项目提供统一的访问权限控制和额外的 来保障您的环境的安全每个 Cloud Composer 具有自己的租户项目。

环境组件

Cloud Composer 环境由环境组件组成。

环境组件是代管式 Airflow 基础架构的一个元素 作为您的环境的一部分。环境 组件在租户或 您的环境

环境存储桶

环境的存储桶是一个 Cloud Storage 存储桶 用于存储 DAG、插件、数据依赖项和 Airflow 日志。环境的 存储桶位于客户项目中。

当您将 DAG 文件上传到以下位置的 /dags 文件夹时: Cloud Composer 会将 DAG 同步到您环境的 Airflow 组件中。

Airflow Web 服务器

Airflow Web 服务器会运行您环境的 Airflow 界面。

Cloud Composer 会根据用户需求提供对界面的访问权限 以及为用户定义的 IAM 政策绑定。

Airflow 数据库

Airflow 数据库是您的环境的租户项目中运行的 Cloud SQL 实例。它托管 Airflow 元数据数据库。

为了保护敏感连接和工作流信息,Cloud Composer 只允许对环境的服务账号进行数据库访问。

其他气流组件

在您的环境中运行的其他 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 自动点播。您还可以将环境与 VPC 网络
  • Google Cloud 控制台、Monitoring 和 通过登录客户项目,您可以管理 DAG 和 DAG 运行,以及如何访问环境的指标和 日志。您还可以使用 Airflow 界面、Google Cloud CLI Cloud Composer API 和 Terraform 的实现方式相同。

与 Cloud Logging 和 Cloud Monitoring 集成

Cloud Composer 集成了 Cloud Logging Google Cloud 项目的 Cloud Monitoring, 用于查看 Airflow 和 DAG 日志的中心位置。

Cloud Monitoring 会收集并提取指标、事件和元数据 从 Cloud Composer 通过信息中心和图表生成数据分析

由于 Cloud Logging 的流式传输特性,您可以立即查看由 Airflow 组件发出的日志,而无需等待 Airflow 日志显示在您环境的 Cloud Storage 存储桶中。

如需限制 Google Cloud 项目中的日志数量,您可以停止所有日志提取。请勿停用 Logging。

后续步骤