什么是 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?

使用适用于 Apache Airflow 的亚马逊托管工作流程(Apache A irflow 的托管服务)在云中大规模设置和运行数据管道。Apache Airflow 是一个开源工具,用于创建、安排和监控工作流程。

借助 Amazon MWAA,您可以使用 Apache Airflow 和 Python 创建工作流程,而无需管理基础设施以提高可扩展性、可用性和安全性。Amazon MWAA 会自动扩展以满足您的工作流程需求。它与 Amazon 安全服务集成,可快速、安全地访问您的数据。

特征

查看以下功能,了解 Amazon MWAA 如何简化您的 Apache Airflow 工作流程的管理。

  • 自动气流设置 — 在创建亚马逊 MWAA 环境时,通过选择 Apache Airflow 版本来快速设置 Apache Airflow。亚马逊 MWAA 使用相同的 Apache Airflow 用户界面和互联网上提供的开源代码为您设置 Apache Airflow。

  • 自动扩展 — 通过设置最小和最大限制,自动扩展 Apache Airflow 工作程序(运行任务的计算资源)。Amazon MWAA 会监控您环境中的工作人员,并使用其自动缩放组件添加工作人员以满足需求,最多不超过您定义的最大数量。

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

  • 内置安全性 — Apache Airflow 工作人员和调度程序在亚马逊 M WAA 的亚马逊 VPC 中运行。数据还会使用自动加密 Amazon Key Management Service,因此您的环境在默认情况下是安全的。

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

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

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

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

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

架构

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

亚马逊 CloudWatch、亚马逊 S3、亚马逊 SQS 和与亚马逊 MWAA Amazon KMS 是分开的,需要可以从 Fargate 容器中的 Apache Airflow 调度程序和 Fargate 容器中的工作人员进行访问。多个 Apache Airflow 调度器仅在 Apache Airflow v2 及更高版本中可用。要详细了解 Apache Airflow 任务生命周期,请参阅《Apache Airflow 参考指南》概念

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

注意

从 Apache Airflow v3 开始,亚马逊 MWAA 网络服务器还托管 Apache Airflow 的执行 API 服务器。

亚马逊 MWAA 环境的架构。

集成

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

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

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

支持的版本

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

接下来做什么?

  • 从一个 Amazon CloudFormation 模板开始,该模板可为您的 Airflow DAGs 和支持文件创建 Amazon S3 存储桶、具有公共路由功能的 Amazon VPC,并在中创建 Amazon MWAA 环境。Amazon MWAA 的快速入门教程

  • 通过为您的 Airflow DAGs 和支持文件创建 Amazon S3 存储桶,从三个 Amazon VPC 联网选项中进行选择,然后在中创建 Amazon MWAA 环境,逐步入门。开始使用 Amazon MWAA