本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Amazon MWAA 环境类
你为亚马逊 MWAA 环境选择的环境类决定了运行 Celery Executo r 的 AWS托管 AWS Fargate 容器的大小,以及 Apache Airflow 计划程序在其中创建任务实例的托管的 Amazon AWS Aurora PostgreSQL 元数据数据库的大小。本主题描述了每个 Amazon MWAA 环境类,以及如何在 Amazon MWAA 控制台上更新环境类。
环境功能
下一节包含每个环境类的默认并发 Apache Airflow 任务、随机存取存储器(RAM)和虚拟集中处理单元(vCPU)。列出的并发任务假设任务并发性不超过环境中的 Apache Airflow 工作线程容量。
在下表中,DAG 容量是指 DAG 定义数,而不是执行数,并且假设您的 DAG 在单个 Python 文件中是动态的,是遵循 Apache Airflow 最佳实践编写的。
任务执行取决于同时安排了多少任务,并假设设置为同时启动的 DAG 运行次数不超过默认值 max_dagruns_per_loop_to_schedule,以及本主题中详细介绍的工作线程的大小和数量。
- mw1.micro
-
-
高达 25 个 DAG 的容量
-
3 个并发任务(默认)
-
组件:
- mw1.small
-
-
高达 50 DAG 的容量
-
5 个并发任务(默认)
-
组件:
-
Web 服务器:每个服务器 1 个 vCPU,2 GB RAM 内存
-
Worker 节点:每个节点 1 个 vCPU,2 GB RAM 内存
-
调度器:每个调度器 1 个 vCPU,2 GB RAM 内存
-
数据库:2 个 vCPU,4 GB RAM 内存
- mw1.medium
-
-
高达 250 DAG 的容量
-
10 个并发任务(默认)
-
组件:
-
Web 服务器:每个服务器 1 个 vCPU,2 GB RAM 内存
-
Worker 节点:每个节点 2 个 vCPU,4 GB RAM 内存
-
调度器:每个调度器 2 个 vCPU,4 GB RAM 内存
-
数据库:2 个 vCPU,8 GB RAM 内存
- mw1.large
-
-
高达 1000 DAG 的容量
-
20 个并发任务(默认)
-
组件:
-
Web 服务器:每个服务器 2 个 vCPU,4 GB RAM 内存
-
Worker 节点:每个节点 4 个 vCPU,8 GB RAM 内存
-
调度器:每个调度器 4 个 vCPU,8 GB RAM 内存
-
数据库:2 个 vCPU,8 GB RAM 内存
- mw1.xlarge
-
-
高达 2000 DAG 的容量
-
40 个并发任务(默认)
-
组件:
-
Web 服务器:每个服务器 4 个 vCPU,12 GB RAM 内存
-
Worker 节点:每个节点 8 个 vCPU,24 GB RAM 内存
-
调度器:每个调度器 8 个 vCPU,24 GB RAM 内存
-
数据库:4 个 vCPU,32 GB RAM 内存
- mw1.2xlarge
-
-
高达 4000 DAG 的容量
-
80 个并发任务(默认)
-
组件:
-
Web 服务器:每个服务器 8 个 vCPU,24 GB RAM 内存
-
Worker 节点:每个节点 16 个 vCPU,48 GB RAM 内存
-
调度器:每个调度器 16 个 vCPU,48 GB RAM 内存
-
数据库:8 个 vCPU,64 GB RAM 内存
您可以使用 celery.worker_autoscale 来增加每个工作线程的任务数。有关更多信息,请参阅 高性能用例示例。
Apache Airflow 计划程序
下一节包含 Amazon MWAA 上可用的 Apache Airflow 计划程序选项,以及计划程序数如何影响触发器数。
在 Apache Airflow 中,触发器负责管理由其延迟的任务,直到满足使用触发器指定的特定条件时为止。在 Amazon MWAA 中,触发器与计划程序一起运行相同的 Fargate 任务。增加计划程序计数会相应地增加可用触发器的数量,从而优化环境管理延迟任务的方式。这样可以确保高效处理任务,在条件满足时及时安排任务运行。
- Apache Airflow v3
-
- Apache Airflow v2
-