配置 Amazon MWAA 环境类 - Amazon Managed Workflows for Apache Airflow

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

配置 Amazon MWAA 环境类

您为 Amazon MWAA 环境选择的环境类决定了运行 Celery Executo r 的 AWS托管 AWS Fargate 容器的大小,以及 Apache Airflow 计划程序在其中创建任务实例的托管的 Amaz AWS on 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.small
  • 高达 50 个 DAG 的容量

  • 5 个并发任务(默认)

  • 1 个 vCPU

  • 2 GB RAM

mw1.medium
  • 容量高达 200 DAG

  • 10 个并发任务(默认)

  • 2 个 vCPU

  • 4 GB RAM

mw1.large
  • 容量高达 1000 个 DAG

  • 20 个并发任务(默认)

  • 4 个 vCPU

  • 8 GB RAM

mw1.xlarge
  • 容量高达 2000 个 DAG

  • 40 个并发任务(默认)

  • 8 个 vCPU

  • 24 GB 内存

mw1.2xlarge
  • 容量高达 4000 个 DAG

  • 80 个并发任务(默认)

  • 16 个 vCPU

  • 48 GB 内存

您可以使用 celery.worker_autoscale 来增加每个工作线程的任务数。有关更多信息,请参阅 高性能用例示例

Apache Airflow 计划程序

下一节包含 Amazon MWAA 上可用的 Apache Airflow 计划程序选项,以及计划程序数如何影响触发器数。

在 Apache Airflow 中,触发器管理在满足使用触发器指定的某些条件之前延迟的任务。在 Amazon MWAA 中,触发器与计划程序一起运行相同的 Fargate 任务。增加计划程序计数会相应地增加可用触发器的数量,从而优化环境管理延迟任务的方式。这样可以确保高效处理任务,在条件满足时及时安排任务运行。

Apache Airflow v2
  • v2– 接受的值介于 25 之间。默认值为 2