Apache Airflow 访问模式 - Amazon Managed Workflows for Apache Airflow
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Apache Airflow 访问模式

Amazon MWAA 控制台包含内置选项,用于在环境中配置到 Apache Airflow Web 服务器的私有或公有路由。本指南介绍了在 Amazon MWAA 环境中可用的 Apache Airflow Web 服务器的访问模式,以及如果您选择私有网络选项,需要在 Amazon VPC 中配置的其他资源。

Apache Airflow 访问模式

您可以为 Apache Airflow Web 服务器选择私有或公有路由。要启用私有路由,请选择私有网络。这将用户访问 Apache Airflow Web 服务器的权限限制在 Amazon VPC 内。要启用公有路由,请选择公有网络。这允许用户通过互联网访问 Apache Airflow Web 服务器

公有网络

以下架构图显示了带有公有 Web 服务器的 Amazon MWAA 环境。

此图显示了带有私有 Web 服务器的 Amazon MWAA 环境的架构。

公有网络访问模式允许拥有环境的 IAM policy访问权限的用户通过互联网访问 Apache Airflow UI。

下图显示了在 Amazon MWAA 控制台上哪里可以找到公有网络选项。

此图显示了在 Amazon MWAA 控制台上哪里可以找到公有网络选项。

私有网络

以下架构图显示了带有私有 Web 服务器的 Amazon MWAA 环境。

此图显示了带有私有 Web 服务器的 Amazon MWAA 环境的架构。

私有网络访问模式将访问 Apache Airflow UI 的权限限制为 Amazon VPC 中已获准访问环境 IAM 策略的用户。

创建具有私有 Web 服务器访问权限的环境时,必须将所有依赖项打包到 Python Wheel 档案 (.whl) 中,然后在 requirements.txt 中引用 .whl。有关使用 Wheel 打包和安装依赖项的说明,请参阅使用 Python wheel 管理依赖项

下图显示了在 Amazon MWAA 控制台上哪里可以找到私有网络选项。

此图显示了在 Amazon MWAA 控制台上哪里可以找到私有网络选项。

访问模式概述

本节介绍当您选择公有网络私有网络访问模式时,在 Amazon VPC 中创建的 VPC 端点 (Amazon PrivateLink)。

公有网络访问模式

如果您为 Apache Airflow Web 服务器选择了公有网络访问模式,则网络流量将通过互联网公开路由。

  • Amazon MWAA 为 Amazon Aurora PostgreSQL 元数据数据库创建 VPC 接口端点。终端节点是在映射到您的私有子网的可用区中创建的,并且独立于其他 Amazon 账户。

  • 然后,Amazon MWAA 会将私有子网中的 IP 地址绑定到接口端点。这旨在支持从 Amazon VPC 的每个可用区绑定一个 IP 的最佳实践。

私有网络访问模式

如果您为 Apache Airflow Web 服务器选择了私有网络访问模式,则网络流量将在 Amazon VPC 内私密路由。

  • Amazon MWAA 为 Apache Airflow Web 服务器创建一个 VPC 接口端点,为 Amazon Aurora PostgreSQL 元数据数据库创建接口端点。终端节点是在映射到您的私有子网的可用区中创建的,并且独立于其他 Amazon 账户。

  • 然后,Amazon MWAA 会将私有子网中的 IP 地址绑定到接口端点。这旨在支持从 Amazon VPC 的每个可用区绑定一个 IP 的最佳实践。

要了解更多信息,请参阅Amazon VPC 和 Apache Airflow 访问模式的示例用例

私有和公有访问模式的设置

下一节根据您为环境选择的 Apache Airflow 访问模式,介绍了您需要的其他设置和配置。

公有网络设置

如果您为 Apache Airflow Web 服务器选择公有网络选项,则可以在创建环境后开始使用 Apache Airflow UI。

您需要采取以下步骤来配置用户的访问权限以及您的环境使用其他 Amazon 服务的权限。

  1. 添加权限。亚马逊 MWAA 需要获得许可才能使用其他 Amazon 服务。在您创建环境时,Amazon MWAA 会创建一个服务相关角色,允许其对亚马逊弹性容器注册表 (Amazon ECR)、日志和亚马逊 EC CloudWatch 2 使用某些 IAM 操作。

    您可以添加对这些服务使用其他操作的权限,也可以通过向执行角色添加权限来使用其他 Amazon 服务。要了解更多信息,请参阅Amazon MWAA 执行角色

  2. 创建用户策略。您可能需要为用户创建多个 IAM 策略,以配置对环境和 Apache Airflow UI 的访问权限。要了解更多信息,请参阅访问 Amazon MWAA 环境

私有网络的设置

如果您为 Apache Airflow Web 服务器选择私有网络选项,则需要为用户配置访问权限、您的环境使用其他 Amazon 服务的权限,并创建从您的计算机访问您的 Amazon VPC 中资源的机制。

  1. 添加权限。亚马逊 MWAA 需要获得许可才能使用其他 Amazon 服务。在您创建环境时,Amazon MWAA 会创建一个服务相关角色,允许其对亚马逊弹性容器注册表 (Amazon ECR)、日志和亚马逊 EC CloudWatch 2 使用某些 IAM 操作。

    您可以添加对这些服务使用其他操作的权限,也可以通过向执行角色添加权限来使用其他 Amazon 服务。要了解更多信息,请参阅Amazon MWAA 执行角色

  2. 创建用户策略。您可能需要为用户创建多个 IAM 策略,以配置对环境和 Apache Airflow UI 的访问权限。要了解更多信息,请参阅访问 Amazon MWAA 环境

  3. 启用网络访问。您需要在 Amazon VPC 中创建一个机制来连接到 Apache Airflow Web 服务器的 VPC 端点 (Amazon PrivateLink)。例如,通过使用 Amazon Client VPN从计算机创建 VPN 隧道。

访问 Apache Airflow Web 服务器的 VPC 端点(私有网络访问)

如果您选择了私有网络选项,则需要在 Amazon VPC 中创建一个机制来访问 Apache Airflow Web 服务器的 VPC 端点 (Amazon PrivateLink)。对于这些资源,我们建议使用与 Amazon MWAA 环境相同的 Amazon VPC、VPC 安全组和私有子网。

要了解更多信息,请参阅管理 VPC 端点的访问