Apache Airflow 访问模式 - Amazon Managed Workflows for Apache Airflow

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

Apache Airflow 访问模式

适用于 Apache Airflow 的亚马逊托管工作流程控制台包含内置选项,用于在您的环境中配置到 Apache Airflow 网络服务器的私有或公共路由。本指南介绍了 Apache Airflow 的亚马逊托管工作流程环境中可用于 Apache Airflow 网络服务器的访问模式,以及如果您选择专用网络选项,则需要在亚马逊 VPC 中配置的其他资源。

Apache Airflow 访问模式

你可以为 Apache Airflow 网络服务器选择私有或公共路由。要启用私有路由,请选择 Private network (私有网络)。这限制了用户访问亚马逊 VPC 内的 Apache Airflow 网络服务器。要启用公有路由,请选择 Public network (公有网络)。这允许用户通过互联网访问 Apache Airflow 网络服务器。

公共网络

以下架构图描绘了带有公共网络服务器的 Amazon MWAA 环境。

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

公共网络访问模式允许被授予您环境的 IA M 策略访问权限的用户通过互联网访问 Apache Airflow 用户界面。

下图描述了在 Amazon MWAA 控制台上哪里可以找到公共网络选项。

此图片描述了在 Amazon MWAA 控制台上哪里可以找到公共网络选项。

私有网络

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

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

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

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

下图描述了在 Amazon MWAA 控制台上哪里可以找到 “专用网络” 选项。

此图片描述了在 Amazon MWAA 控制台上哪里可以找到专用网络选项。

访问模式概述

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

公有网络访问模式

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

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

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

私有网络访问模式

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

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

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

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

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

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

公有网络设置

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

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

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

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

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

私有网络的设置

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

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

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

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

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

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

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

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