Amazon MWAA
全托管提供 Apache Airflow,通过 DAG 执行数据管道编排的服务
概述
Amazon MWAA (Managed Workflows for Apache Airflow) 是一项全托管提供 Apache Airflow 的工作流编排服务。无需管理 Airflow 的调度器、Worker 和 Web 服务器基础设施,可专注于 DAG (有向无环图) 开发和数据管道运维。与 Glue、EMR、Lambda、Athena、ECS 等 AWS 服务原生集成,可编排复杂的 ETL 工作流。
环境类与 Worker 扩缩容
MWAA 的环境类包括 mw1.micro、mw1.small、mw1.medium、mw1.large、mw1.xlarge、mw1.2xlarge 等 (截至 2026 年 10 月),据用户指南,环境类决定运行 Celery Executor 的 Fargate 容器和 Aurora PostgreSQL 元数据数据库的规格。除 mw1.micro 外,Worker 数量可设置最小/最大值,根据运行中和排队的任务数自动扩缩。Worker 类型与环境类相同。各环境类的 DAG 容量和默认并发任务数见用户指南的列表。用户指南还说明,mw1.micro 以外的环境类的调度器数量为 2 到 5 个,默认 2 个。
DAG 部署与 S3 同步机制
MWAA 的 DAG 文件存储在指定的 S3 存储桶中。将 Python DAG 文件上传到 S3 的 dags/ 前缀后,MWAA 自动同步到调度器和 Worker (同步间隔约 30 秒)。requirements.txt 定义 Python 依赖包,plugins.zip 包含自定义 Airflow 插件。依赖包更新需要环境更新操作。DAG 版本管理的一种做法是通过 CI/CD 管道将 Git 仓库的变更自动同步到 S3。
插件管理与 VPC 网络设计
MWAA 环境部署在客户 VPC 的私有子网中,可访问 VPC 内的资源 (RDS、Redshift、EMR 等)。Web 服务器的访问模式可选公开 (通过互联网)、私有 (仅 VPC 内) 或两者兼用 (截至 2026 年 10 月)。私有子网需要路由到 NAT 设备 (网关或实例) 或 VPC 终端节点,供 Worker 访问 AWS 服务。自定义插件通过 plugins.zip 部署,可包含自定义 Operator、Hook、Sensor。选型时的一个区别在于工作流的定义方式:MWAA 以 Python 代码定义 DAG 并使用 Airflow 的 Provider 包,Step Functions 以状态机编排 AWS 服务。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。