View a markdown version of this page

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

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

配置 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 个并发任务(默认)

  • 组件:

    • Web 服务器:1 个 vCPU,3 GB RAM 内存

    • 工作线程和计划程序:1 个 vCPU,3 GB RAM 内存

    • 数据库:2 个 vCPU,4 GB RAM 内存

      注意

      mw1.micro 不支持自动扩缩。

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
  • v3 - 对于大于 mw1.micro 的环境,接受从 25 的值。除了 mw1.micro 之外,所有环境大小的默认值均为 2,而 mw1.micro 默认为 1

Apache Airflow v2
  • v2 - 对于大于 mw1.micro 的环境,接受从 25 的值。除了 mw1.micro 之外,所有环境大小的默认值均为 2,而 mw1.micro 默认为 1