Amazon MWAA のアイコン

Amazon MWAA 专业2020年〜

以托管方式运行 Apache Airflow 的工作流编排服务

它能做什么

Amazon MWAA (Managed Workflows for Apache Airflow) 是以全托管方式提供 Apache Airflow 的服务。执行以 DAG (有向无环图) 定义的工作流的计划运行、任务间依赖管理和执行状态监控。Airflow 的 Web UI、CLI 和 API 可直接使用。

使用场景

用于 ETL 管道编排、机器学习管道管理、数据湖数据摄取工作流,以及多 AWS 服务协作的批处理自动化。

日常类比

可以将其比作工厂的生产管理系统。定义各工序 (任务) 的顺序和依赖关系,按计划自动执行。某工序失败则停止后续工序,进行重试或通知。

什么是 MWAA

Amazon MWAA 是 Apache Airflow 的托管服务。Airflow 是用 Python 定义 DAG (工作流) 的开源工作流编排器,在数据工程领域广泛使用。MWAA 由 AWS 管理 Airflow 的基础设施 (Web 服务器、调度器、工作节点、元数据数据库) 的构建和运维。

DAG 与 AWS 服务集成

DAG 文件放置在 S3 存储桶中。MWAA 自动加载 DAG 并按计划执行。通过 Airflow 的 AWS 提供商包,可轻松与 AWS 服务集成,如执行 Glue 作业、启动 EMR 集群、调用 Lambda、运行 ECS 任务等。还可通过 requirements.txt 添加自定义 Python 包。 如需了解 DAG 与 AWS 服务集成的详细信息,可参考 相关书籍 (Amazon)

如何开始

在 MWAA 控制台创建环境,指定存放 DAG 文件的 S3 存储桶。选择环境类 (mw1.small、mw1.medium、mw1.large) 并设置 VPC 和子网。环境创建约需 25 分钟。创建后可访问 Airflow Web UI 管理 DAG 和查看执行状态。

注意事项

  • 环境按时间持续计费 (最小配置约 bash.49/小时)。使用频率低时 Step Functions 更具成本效益
  • 简单工作流用 Step Functions,需要复杂 DAG 或利用 Airflow 生态系统时用 MWAA
共有するXB!