Managed Airflow 责任共担模型

Managed Airflow(第 3 代) | Managed Airflow(第 2 代) | Managed 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 Audit Logs 和 Cloud Key Management Service 提供 Google Cloud 集成。

  • 使用 Access Transparency 和 Access Approval 限制和记录 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 服务发布解决这些问题的 Managed Airflow 版本后解决安全问题。

  • 维护 DAG 代码,使其与使用的 Airflow 版本保持兼容。

  • 保持环境的 GKE 集群配置完整无缺,尤其包括其自动升级功能。

  • 在 IAM 中为环境的服务帐号维护适当的权限。特别是,维护 Managed Airflow 代理环境的服务账号所需的权限。维护用于 Managed Airflow 环境加密的 CMEK 密钥所需的权限,并根据需要轮换该密钥。

  • 在 IAM 中为环境的 存储桶 和 Artifact Registry 代码库(用于存储 Managed Airflow 的组件映像)维护适当的权限 。

  • 为执行 PyPI 软件包安装的服务帐号维护适当的 IAM 权限。如需了解详情,请参阅 访问权限控制

  • 在 IAM 和 Airflow 界面访问权限控制配置中维护适当的最终用户权限。

  • 通过使用 维护 DAG,将 Airflow 数据库大小保持在 16 GB 以下。

  • 在向 Cloud Customer Care 提交支持请求之前,解决所有 DAG 解析问题。

  • 以适当的方式命名 DAG(例如,不在 DAG 名称中使用不可见字符,如空格或制表符),以便可以正确报告 DAG 的指标。

  • 升级 DAG 的代码,使其不使用已废弃的运算符,并迁移到最新的替代方案。已废弃的运算符可能会从 Airflow 提供程序中移除,这可能会影响您升级到更高版本的 Managed Airflow 或 Airflow 版本的计划。已废弃的运算符也不会进行维护,必须按“原样”使用。

  • 在使用 Secret Manager 等 Secret 后端时配置适当的 IAM 权限,以便环境的服务帐号有权访问该后端。

  • 调整 Managed Airflow 环境参数(例如 Airflow 组件的 CPU 和 内存)和 Airflow 配置,以满足 Managed Airflow 环境的性能和负载预期, 具体方法是使用 Managed Airflow 优化指南环境伸缩指南

  • 避免移除 Managed Airflow 代理和环境的服务账号所需的权限(移除这些权限可能会导致管理操作失败,或者导致 DAG 和任务失败)。

  • 始终启用 Managed Airflow 所需的所有服务和 API。这些依赖项必须配置为 Managed Airflow 所需级别的配额。

  • 保留托管 Managed Airflow 环境使用的容器映像的 Artifact Registry 代码库。

  • 遵循建议和最佳实践以 实现 DAG。

  • 使用 调度器问题排查DAG 问题排查触发器问题排查说明诊断 DAG 和任务失败问题。

  • 避免在环境的 GKE 集群中安装或运行会干扰 Managed Airflow 组件并阻止其正常运行的其他组件。

  • 维护灾难恢复计划,包括配置和管理快照,以满足您的数据保留和业务连续性需求。Google 不会恢复已删除的环境或其数据库备份。

  • 维护客户安装的 软件包的 Python 依赖项供应链。这包括排查安装错误,这些错误由 Python 依赖项不匹配导致,并且在添加或修改这些软件包时定义特定的版本限制。

后续步骤