配置 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) 和虚拟集中处理单元 (vCPUs)。列出的并发任务假设任务并发性不超过环境中的 Apache Airflow 工作线程容量。

在下表中,DAG 容量指的是 DAG 定义,而不是执行,并假设您在单个 Python 文件中 DAGs 是动态的,并且使用 Apache Airflow 最佳实践编写。

任务执行取决于同时安排了多少任务,并假设设置为同时启动的 DAG 运行次数不超过默认值 max_dagruns_per_loop_to_schedule,以及本主题中详细介绍的工作线程的大小和数量。

mw1.micro
  • 高达 25 个 DAG 的容量

  • 3 个并发任务(默认)

  • 组件:

    • 网络服务器:1 个 vCPU,3GB 内存

    • 工作程序和调度程序:1 个 vCPU,3GB 内存

    • 数据库: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 v2
  • v2-对于大于 mw1.micro 的环境,接受从到的值。2 5除了 mw1.micro 之外,所有环境大小的默认值均为,默认为。2 1