什么是 Amazon Managed Workflows for Apache Airflow? - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

什么是 Amazon Managed Workflows for Apache Airflow?

MWAA 是 Apache Airflow 的托管式编排服务,让您能够更轻松地在云中大规模设置和操作数据管道。Apache Airflow 是一种开源工具,用于以编程方式编写、调度和监视统称为工作流程的各种流程和任务序列。借助 Amazon MWAA,您可以使用 Apache Airflow 和 Python 来创建工作流程,而无需管理底层基础设施以实现可扩展性、可用性和安全性。Amazon MWAA 会自动扩展其工作流程执行能力以满足您的需求,Amazon MWAA 与 Amazon 安全服务集成,可帮助您快速、安全地访问数据。

功能

  • 自动 Airflow 设置 — 在创建 Amazon MWAA 环境时,通过选择 Apache Airflow 版本来快速设置 Apache Airflow。Amazon MWAA 使用与您可在互联网上下载的 Apache Airflow UI 和开源代码相同的 Apache Airflow 为您设置 Apache Airflow。

  • 自动扩缩— 设置在环境中运行的最小和最大工作线程数来自动扩缩 Apache Airflow 工作线程。Amazon MWAA 会监控环境中的工作线程,并使用其自动扩缩组件添加工作线程以满足需求,直至达到您定义的最大工作线程数。

  • 内置身份验证 — 通过在 Amazon Identity and Access Management (IAM) 中定义访问控制策略,为您的 Apache Airflow Web 服务器启用基于角色的身份验证和授权。Apache Airflow W orkers 采用这些策略来安全访问服务。 Amazon

  • 内置安全性— Apache Airflow 工作线程计划程序Amazon MWAA 的 Amazon VPC 中运行。数据也会使用自动加密 Amazon Key Management Service,因此默认情况下您的环境是安全的。

  • 公有或私有访问模式— 使用私有或公有访问模式访问 Apache Airflow Web 服务器公有网络访问模式使用可通过互联网访问的 Apache Airflow Web 服务器的 VPC 端点。私有网络访问模式使用可在 VPC 中访问的 Apache Airflow Web 服务器的 VPC 端点。在这两种情况下,您的 Apache Airflow 用户的访问权限都由您在 Amazon Identity and Access Management (IAM) 和 Amazon SSO 中定义的访问控制策略控制。

  • 简化的升级和补丁— Amazon MWAA 会定期提供新版本的 Apache Airflow。Amazon MWAA 团队将更新和修补这些版本的映像。

  • 工作流程监控在亚马逊 CloudWatch 中查看 Apache Airflow 日志和 Apache 气流指标,无需其他第三方工具即可识别 Apache Airflow 任务延迟或工作流程错误。Amazon MWAA 会自动向发送环境指标(如果已启用)Apache Airflow 日志。 CloudWatch

  • Amazon 集成 — 亚马逊 MWAA 支持与亚马逊 Athena、亚马逊、亚马逊 DynamoDB Amazon Batch、亚马逊 EMR、 CloudWatch亚马逊 EKS、Ama Amazon DataSync zon Data Firehose、、、 Amazon Fargate Amazon Redshi Amazon Glue ft、亚马逊 SQS、亚马逊 SNS、 Amazon Lambda亚马逊和亚马逊 S3 以及数百个内置和社区的开源集成创建了操作员和传感器。 SageMaker

  • Worker 实例集— Amazon MWAA 支持使用容器按需扩展 Worker 实例集,并使用 Amazon Fargate 上的 Amazon ECS 减少计划程序中断。支持在 Amazon ECS 容器上调用任务的运算符,以及在 Kubernetes 集群上创建和运行 Pod 的 Kubernetes 运算符。

架构

外箱中包含的所有组件(如下图所示)在您的账户中显示为单个 Amazon MWAA 环境。Apache Airflow SchedulerWor kers 是连接到您环境的 Amazon VPC 中私有子网的 Amazon Fargate (Fargate) 容器。每个环境都有自己的 Apache Airflow 元数据库,由 Amazon 该数据库管理,调度程序工作人员 Farg ate 容器可通过私有保护的 VPC 端点访问该元数据库。

亚马逊 CloudWatch、亚马逊 S3、亚马逊 SQS、亚马逊 ECR 与 Amazon KMS 亚马逊 MWAA 分开,需要从 Fargate 容器中的 Apache 气流调度器和 Workers 中进行访问。

对 Apache Airflow Web 服务器,您可以选择公有网络 Apache Airflow 访问模式通过互联网或选择私有网络 Apache Airflow 访问模式在 VPC 内进行访问。在这两种情况下,您的 Apache Airflow 用户的访问权限都由您在 Amazon Identity and Access Management (IAM) 中定义的访问控制策略控制。

注意

多个 Apache Airflow计划程序仅在 Apache Airflow v2 及更高版本中可用。要详细了解 Apache Airflow 任务生命周期,请参阅《Apache Airflow 参考指南》概念


      此图显示了 Amazon MWAA 环境的架构。

集成

活跃且不断发展的 Apache Airflow 开源社区为运营商(简化服务连接的插件)提供了 Apache Airflow 与服务的集成。 Amazon 这包括亚马逊 S3、Amazon Redshift、亚马逊 EMR Amazon Batch 和亚马逊等服务 SageMaker,以及其他云平台上的服务。

在亚马逊 MWAA 中使用 Apache Airflow 完全支持与 Amazon 服务和流行的第三方工具(例如 Apache Hadoop、Presto、Hive 和 Spark)集成以执行数据处理任务。亚马逊 MWAA 致力于保持与亚马逊 MWAA API 的兼容性,亚马逊 MWAA 打算提供可靠的 Amazon 服务集成,将其提供给社区,并参与社区功能开发。

有关代码示例,请参阅 Amazon MWAA 的代码示例

支持的版本

Amazon MWAA 支持多个版本的 Apache Airflow。有关我们支持的 Apache Airflow 版本以及每个版本中包含的 Apache Airflow 组件的更多信息,请参阅 Amazon MWAA 上的 Apache Airflow 版本

接下来做什么?

  • 首先,使用一个 Amazon CloudFormation 模板为你的 Airflow DAG 和支持文件创建 Amazon S3 存储桶、一个带有公共路由的 Amazon VPC,以及在中创建 Amazon MWAA 环境。Amazon MWAA 的快速入门教程

  • 为 Airflow DAG 和支持文件创建 Amazon S3 存储桶,从三个 Amazon VPC 联网选项中选择一个,然后创建 Amazon MWAA 环境,逐步入门,请参阅 开始使用 Amazon MWAA