

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

# Apache Airflow 访问模式
<a name="configuring-networking"></a>

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

**Contents**
+ [Apache Airflow 访问模式](#configuring-networking-onconsole)
  + [公有网络](#webserver-options-public-network-onconsole)
  + [私有网络](#webserver-options-private-network)
  + [公网和私网接入](#webserver-options-public-and-private-network)
+ [访问模式概述](#configuring-networking-access-overview)
  + [公有网络访问模式](#access-overview-public)
  + [私有网络访问模式](#access-overview-private)
  + [公网和私网访问模式](#access-overview-public-and-private)
+ [访问模式的设置](#access-network-choose)
  + [公有网络设置](#access-network-public)
  + [私有网络的设置](#access-network-private)
  + [为公用和私有网络访问进行设置](#access-network-public-and-private)
+ [访问 Apache Airflow Web 服务器的 VPC 端点（私有网络访问）](#configuring-access-vpce)

## Apache Airflow 访问模式
<a name="configuring-networking-onconsole"></a>

您可以为 Apache Airflow 网络服务器选择私有路由、公共路由，也可以同时选择公共路由和私有路由。要启用私有路由，请选择**私有网络**。这将用户访问 Apache Airflow Web 服务器的权限限制在 Amazon VPC 内。要启用公有路由，请选择**公有网络**。这可让用户通过互联网访问 Apache Airflow Web 服务器。要同时启用公用和私有路由，请选择**公用和私有网络访问**。这允许用户通过互联网访问 Apache Airflow 网络服务器，而工作人员则通过私有 VPC 端点与网络服务器通信。

### 公有网络
<a name="webserver-options-public-network-onconsole"></a>

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

![此图像显示了带有公共网络服务器的 Amazon MWAA 环境的架构。](http://docs.aws.amazon.com/zh_cn/mwaa/latest/userguide/images/mwaa-public-web-server.png)


公有网络访问模式允许拥有[环境的 IAM 策略](access-policies.md)访问权限的用户通过互联网访问 Apache Airflow UI。

**重要**  
如果您的环境使用带有**公共**网络访问模式的 Apache Airflow 3 或更高版本，则工作人员必须能够通过互联网访问 Web 服务器才能传达任务状态。如果托管工作人员的子网无法访问互联网（例如，没有 NAT 网关的私有子网），DAG 任务将失败。要解决这个问题，请升级到 Apache Airflow 版本 3.2.1 或更高版本，然后切换**到公用和私有网络访问模式，该模式通过私有** VPC 端点路由工作人员的通信。

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

![此图描述了在 Amazon MWAA 控制台上哪里可以找到公有网络选项。](http://docs.aws.amazon.com/zh_cn/mwaa/latest/userguide/images/mwaa-console-public-network-2026.png)


### 私有网络
<a name="webserver-options-private-network"></a>

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

![此图像显示了具有私有网络访问权限的 Amazon MWAA 环境的架构。](http://docs.aws.amazon.com/zh_cn/mwaa/latest/userguide/images/mwaa-private-web-server.png)


私有网络访问模式将访问 Apache Airflow UI 的权限限制为* Amazon VPC 中*已获准访问[环境 IAM 策略的](access-policies.md)用户。

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

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

![此图描述了在 Amazon MWAA 控制台上哪里可以找到私有网络选项。](http://docs.aws.amazon.com/zh_cn/mwaa/latest/userguide/images/mwaa-console-private-network-2026.png)


### 公网和私网接入
<a name="webserver-options-public-and-private-network"></a>

适用于 Apache Airflow 版本 3.2.1 及更高版本。在 Apache Airflow 版本 3 及更高版本中，工作人员通过任务 API 将任务状态传达给网络服务器。如果您的 Amazon VPC 无法访问互联网，工作人员将无法访问公共 Web 服务器，从而导致 DAG 任务失败。此模式既创建了用于浏览器访问 Apache Airflow UI 的公共网络负载均衡器，又创建了用于工作人员到 Web 服务器通信的私有 VPC 端点，允许工作人员在不访问互联网的情况下访问 Web 服务器。有关每个组件，请参阅上面的**公用网络****和专用网络**架构图。

![此图片描述了在 Amazon MWAA 控制台上哪里可以找到公用和私有网络选项。](http://docs.aws.amazon.com/zh_cn/mwaa/latest/userguide/images/mwaa-console-public-private-network-2026.png)


**注意**  
在此模式下，浏览器通过公共网址访问 Apache Airflow 用户界面。私有 VPC 终端节点供工作人员用于内部通信，不用于浏览器访问。

## 访问模式概述
<a name="configuring-networking-access-overview"></a>

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

### 公有网络访问模式
<a name="access-overview-public"></a>

如果您为 Apache Airflow Web 服务器选择了**公有网络**访问模式，则网络流量将通过互联网公开路由。
+ Amazon MWAA 为 Amazon Aurora PostgreSQL 元数据数据库创建 VPC 接口端点。端点是在映射到私有子网的可用区中创建的，并且独立于其他 AWS 账户。
+ 然后，Amazon MWAA 会将私有子网中的 IP 地址绑定到接口端点。这旨在支持从 Amazon VPC 的每个可用区绑定一个 IP 的最佳实践。

### 私有网络访问模式
<a name="access-overview-private"></a>

如果您为 Apache Airflow Web 服务器选择了**私有网络**访问模式，则网络流量将*在 Amazon VPC 内*私密路由。
+ Amazon MWAA 为 Apache Airflow Web 服务器创建一个 VPC 接口端点，为 Amazon Aurora PostgreSQL 元数据数据库创建接口端点。端点是在映射到私有子网的可用区中创建的，并且独立于其他 AWS 账户。
+ 然后，Amazon MWAA 会将私有子网中的 IP 地址绑定到接口端点。这旨在支持从 Amazon VPC 的每个可用区绑定一个 IP 的最佳实践。

### 公网和私网访问模式
<a name="access-overview-public-and-private"></a>

如果您为 Apache Airflow **网络服务器选择了公共网络和私有网络访问**模式，则流向 Apache Airflow UI 的网络流量将通过互联网公开路由，而工作人员与网络服务器的通信则在您的亚马逊 VPC 内以私密方式路由。
+ 亚马逊 MWAA 为您的 Apache Airflow 网络服务器（用于工作人员连接）创建 VPC 接口终端节点，并为您的 Amazon Aurora PostgreSQL 元数据数据库创建接口终端节点。终端节点是在映射到您的私有子网的可用区中创建的，并且独立于其他 AWS 账户终端节点。
+ 然后，Amazon MWAA 会将私有子网中的 IP 地址绑定到接口端点。这旨在支持从 Amazon VPC 的每个可用区绑定一个 IP 的最佳实践。
+ Apache Airflow 用户界面可通过公共网络负载均衡器通过互联网访问。用户访问用户界面的方式与使用**公共网络**访问模式相同。

要了解更多信息，请参阅 [Amazon VPC 和 Apache Airflow 访问模式的示例用例](networking-about.md#networking-about-network-usecase)。

## 访问模式的设置
<a name="access-network-choose"></a>

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

### 公有网络设置
<a name="access-network-public"></a>

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

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

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

   您可以添加对这些服务使用其他操作的权限，也可以通过向执行角色添加权限来使用其他 AWS 服务。要了解更多信息，请参阅 [Amazon MWAA 执行角色](mwaa-create-role.md)。

1. **创建用户策略**。您可能需要为用户创建多个 IAM 策略，以配置对环境和 Apache Airflow UI 的访问权限。要了解更多信息，请参阅 [访问 Amazon MWAA 环境](access-policies.md)。

### 私有网络的设置
<a name="access-network-private"></a>

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

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

   您可以添加对这些服务使用其他操作的权限，也可以通过向执行角色添加权限来使用其他 AWS 服务。要了解更多信息，请参阅 [Amazon MWAA 执行角色](mwaa-create-role.md)。

1. **创建用户策略**。您可能需要为用户创建多个 IAM 策略，以配置对环境和 Apache Airflow UI 的访问权限。要了解更多信息，请参阅 [访问 Amazon MWAA 环境](access-policies.md)。

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

### 为公用和私有网络访问进行设置
<a name="access-network-public-and-private"></a>

如果您为 Apache Airflow Web 服务器选择**公用和私有网络访问**选项，则可以在创建环境后开始使用 Apache Airflow 用户界面。浏览器访问不需要 VPN 或 VPC 终端节点访问机制。Apache Airflow 用户界面可通过互联网访问。工作人员通过私有 VPC 终端节点自动连接到 Web 服务器。

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

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

   您可以添加对这些服务使用其他操作的权限，也可以通过向执行角色添加权限来使用其他 AWS 服务。要了解更多信息，请参阅 [Amazon MWAA 执行角色](mwaa-create-role.md)。

1. **创建用户策略**。您可能需要为用户创建多个 IAM 策略，以配置对环境和 Apache Airflow UI 的访问权限。要了解更多信息，请参阅 [访问 Amazon MWAA 环境](access-policies.md)。

## 访问 Apache Airflow Web 服务器的 VPC 端点（私有网络访问）
<a name="configuring-access-vpce"></a>

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

如果您选择了**同时访问公用和私有网络，则无需创建访问** Apache Airflow 用户界面的机制。它可以通过互联网访问。工作人员会自动使用私有 VPC 终端节点进行内部通信。

要了解更多信息，请参阅[管理 VPC 端点的访问](https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-vpe-access.html)。