探索亚马逊MWAA网络架构 - Amazon Managed Workflows for Apache Airflow

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

探索亚马逊MWAA网络架构

以下部分介绍构成 Amazon MWAA 环境的主要组件,以及每个环境为管理其资源、保护数据安全以及为工作流程提供监控和可见性而与之集成的 AWS 服务集。

亚马逊MWAA组件

Amazon MWAA 环境由以下四个主要组件组成:

  1. 调度器-解析和监视您的所有任务DAGs,并在满足 a 的依赖关系时将DAG任务排队以便执行。Amazon 将调度程序MWAA部署为至少有 2 个调度程序的 AWS Fargate 集群。根据工作负载,您可以将计划程序数量增加到五个。有关亚马逊MWAA环境类的更多信息,请参阅亚马逊MWAA环境类

  2. 工作线程— 运行计划任务的一个或多个 Fargate 任务。环境中的工作线程数量由您指定的最小最大数量之间的范围决定。当排队和正在运行的任务数量超过现有工作人员所能处理的任务数量时,Amazon 就会MWAA开始自动缩放工作人员。当运行且排队的任务总和为零超过两分钟时,Amazon 会将工作人员数量MWAA缩减到最低。有关 Amazon 如何MWAA处理自动缩放工作人员的更多信息,请参阅 A mazon MWAA 自动扩展。

  3. Web 服务器— 运行 Apache Airflow Web UI。您可以将 Web 服务器配置为私有或公有网络访问权限。在这两种情况下,对您的 Apache Airflow 用户的访问权限都由您在 AWS Identity and Access Management () IAM 中定义的访问控制策略控制。有关为您的环境配置IAM访问策略的更多信息,请参阅访问 Amazon MWAA 环境

  4. 数据库-存储有关 Apache Airflow 环境和您的工作流程的元数据,包括DAG运行历史记录。该数据库是一个单租户 Aurora Postgre SQL 数据库 AWS,由 S cheduler 和 Worker s 的 Fargate 容器管理,并可通过私有保护的亚马逊终端节点访问。VPC

每个 Amazon MWAA 环境还与一组 AWS 服务交互以处理各种任务,包括存储DAGs和访问以及任务依赖关系、保护您的静态数据以及记录和监控您的环境。下图演示了 Amazon MWAA 环境的不同组件。

此图显示了 Amazon MWAA 环境的架构。
注意

Amazon VPC 的服务不是共享的VPC。Amazon MWAA AWS 会为您创建VPC的每个环境创建自己的环境。

  • Amazon S3 — 亚马逊将您的所有工作流程资源(例如DAGs需求和插件文件)MWAA存储在 Amazon S3 存储桶中。有关在创建环境的过程中创建存储桶以及上传您的亚马逊MWAA资源的更多信息,请参阅亚马逊MWAA用户指南MWAA中的为亚马逊创建 Amazon S3 存储桶

  • 亚马逊 SQS — 亚马逊MWAA使用亚马逊SQS将您的工作流程任务与 Celery 执行者一起排队。

  • 亚马逊 ECR — 亚马逊ECR托管所有 Apache Airflow 图片。亚马逊MWAA仅支持 AWS 托管 Apache Airflow 映像。

  • AWS KMS— Amazon MWAA 使用 AWS KMS 来确保您的静态数据安全。默认情况下,Amazon MWAA 使用AWS 托管 AWS KMS 密钥,但您可以将环境配置为使用自己的客户托管 AWS KMS 密钥。有关使用您自己的客户管理 AWS KMS 密钥的更多信息,请参阅 Amazon MWAA 用户指南中的客户管理的数据加密密钥

  • CloudWatch— Amazon MWAA 与 CloudWatch Apache Airflow 日志和环境指标集成并提供给 CloudWatch,允许您监控您的亚马逊MWAA资源并解决问题。

连接

您的 Amazon MWAA 环境需要访问与其集成的所有 AWS 服务。Amazon MWAA 执行角色控制如何授予亚马逊MWAA代表您连接其他 AWS 服务的访问权限。要实现网络连接,您可以为亚马逊提供公共互联网接入,VPC也可以创建亚马逊VPC终端节点。有关为您的环境配置亚马逊VPC终端节点 (AWS PrivateLink) 的更多信息,请参阅亚马逊MWAA用户指南MWAA中的管理对亚马逊VPC终端节点的访问

Amazon 在调度程序和工作程序上MWAA安装要求。如果您的需求来自公共PyPi存储库,则您的环境需要连接到 Internet 才能下载所需的库。对于私有环境,您可以使用私有 PyPi 存储库,也可以将.whl文件中的库捆绑为环境的自定义插件。

当您在私有模式下配置 Apache Airflow 时,您的亚马逊只能通过亚马逊终端节点访问 Apache Airflow 用户界面。VPC VPC

有关联网的更多信息,请参阅 Amazon MWAA 用户指南中的联网