本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon MWAA 网络架构
以下部分将介绍构成 Amazon MWAA 环境的主要组件,以及AWS服务,每个环境都与之集成,以管理其资源、保护数据安全,并为工作流提供监控和可见性。
Amazon MWAA 组件
Amazon MWAA 环境由以下四个主要组件组成:
-
计划程序— 解析和监视所有 DAG,并在满足 DAG 的依赖关系时将任务排队以供执行。亚马逊 MWAA 将计划程序部署在AWS Fargate至少有 2 个调度程序的群集。您可以将计划程序计数增加到五个,具体取决于您的工作负载。有关 Amazon MWAA 环境类的更多信息,请参阅Amazon MWAA 环境类.
-
工作线程— 一个或多个运行计划任务的 Fargate 任务。您的环境中的工作线程数由介于最小值和最大限度您指定的数字。当排队和正在运行的任务数量超过现有工作程序所能处理的数量时,Amazon MWAA 将启动auto-scaling 工作程序。当正在运行和排队的任务总和为零超过两分钟时,Amazon MWAA 会将工作线程数量缩减到最小值。有关 Amazon MWAA 如何处理auto-scaling worker 的更多信息,请参阅Amazon MWAA 自动扩展.
-
Web 服务器— 运行 Apache 气流网页界面。您可以使用以下命令配置 Web 服务器公有或私有网络访问。在这两种情况下,对 Apache Airflow 用户的访问权限均由您在中定义的访问控制策略控制AWS Identity and Access Management(我是)。有关为您的环境配置 IAM 访问策略的更多信息,请参阅访问Amazon MWAA 环境.
-
数据库— 存储有关 Apache 气流环境和工作流的元数据,包括 DAG 运行历史记录。该数据库是单租户 Aurora PostgreSQL 数据库,由AWS,并且可以访问计划程序和工作线程'通过私有保护的 Amazon VPC 终端节点进行 Fargate 容器。
每个 Amazon MWAA 环境还会与一组AWS服务来处理各种任务,包括存储和访问 DAG 和任务依赖项、保护静态数据以及记录和监视环境。下图演示了 Amazon MWAA 环境的不同组件。

注意
服务亚马逊 VPC 不是共享 VPC。Amazon MWAA 创建AWS适用于您创建的每个环境的 VPC。
-
Amazon S3— Amazon MWAA 将您的所有工作流程资源(如 DAG、要求和插件文件)存储在 Amazon S3 存储桶中。有关在环境创建过程中创建存储桶以及上传 Amazon MWAA 资源的更多信息,请参阅创建 Amazon S3 存储桶中的Amazon MWAA 用户指南.
-
Amazon SQS— Amazon MWAA 使用 Amazon SQS 将您的工作流程任务排入队列Celery 执行程序
. -
Amazon ECR— Amazon ECR 托管所有 Apache 气流映像。Amazon MWAA 仅支持AWS托管的 Apache 气流映像。
-
AWS KMS— Amazon MWAA 使用AWS KMS以确保您的静态数据安全。预设情况下,Amazon MWAA 会使用AWS管理AWS KMS密钥,但您可以配置环境,使其使用您自己的环境客户托管 AWS KMS键。有关使用您自己的客户管理功能的更多信息AWS KMS键,请参阅用于数据加密的客户托管密钥中的Amazon MWAA 用户指南.
-
CloudWatch— 亚马逊 MWAA 与 CloudWatch 并将 Apache 气流日志和环境指标交给 CloudWatch,允许您监控您的亚马逊 MWAA 资源并排查问题。
连接
您的亚马逊 MWAA 环境需要访问所有AWS它与之集成的服务。Amazon MWAA执行角色控制如何向亚马逊 MWAA 授予访问权限以连接到其他AWS代表您提供的服务。对于网络连接,您可以提供对您的 Amazon VPC 的公有互联网访问或创建 Amazon VPC 终端节点。有关配置 Amazon VPC 终端节点的更多信息 (AWS PrivateLink),请参阅管理 Amazon MWAA 上的 VPC 终端节点中的Amazon MWAA 用户指南.
亚马逊 MWAA 在计划程序和工作程序上安装要求。如果你的需求来自公众PyPi.whl
文件作为环境的自定义插件。
在中配置 Apache 气流时私有 mode,Apache Airflow 用户界面只能通过亚马逊 VPC 终端节点访问您的 Amazon VPC。
有关联网功能的更多信息,请参阅联网中的Amazon MWAA 用户指南.