本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用私有路由在 Amazon VPC 中创建所需的VPC服务终端节点
无法访问互联网的现有亚马逊VPC网络需要额外的VPC服务终端节点 (AWS PrivateLink) 才能在亚马逊托管工作流程上使用适用于 Apache Airflow 的 Apache Airflow。本页介绍亚马逊使用的 AWS 服务所需的VPC终端节点MWAA、Apache Airflow 所需的VPC终端节点,以及如何使用私有路由创建VPC终端节点并将其连接到现有亚马逊VPC。
目录
定价
私有网络和私有路由
私有网络访问模式将访问 Apache Airflow UI 的权限限制为亚马逊内VPC已被授权访问您环境的IAM策略的用户。
创建具有私有 Web 服务器访问权限的环境时,必须将所有依赖项打包到 Python Wheel 档案 (.whl
) 中,然后在 requirements.txt
中引用 .whl
。有关使用 Wheel 打包和安装依赖项的说明,请参阅使用 Python wheel 管理依赖项。
下图显示了在 Amazon MWAA 控制台上哪里可以找到 “专用网络” 选项。
-
私有路由。VPC没有互联网访问权限的 Amazon 会限制内部的网络流量VPC。本页假设您的亚马逊VPC无法访问互联网,并且您的环境使用的每项 AWS 服务都需要VPC终端节点,Apache Airflow 的VPC终端节点与您的亚马逊环境位于同一 AWS 地区和亚马MWAA逊。VPC
(必需)VPC端点
以下部分显示了无法访问互联网的 Amaz VPC on 所需的VPC终端节点。它列出了亚马逊使用的每项 AWS 服务的VPC终端节点MWAA,包括 Apache Airflow 所需的VPC终端节点。
com.amazonaws.
YOUR_REGION
.s3 com.amazonaws.YOUR_REGION
.monitoring com.amazonaws.YOUR_REGION
.logs com.amazonaws.YOUR_REGION
.sqs com.amazonaws.YOUR_REGION
.kms
注意
在使用 Transit Gateway 或任何其他不直接通往 AWS API终端节点的路由时,我们建议您 AWS PrivateLink 向您的亚马逊MWAA私有子网中添加以下服务:
-
Amazon S3
-
Amazon SQS
-
CloudWatch 日志
-
CloudWatch 指标
-
AWS KMS (如果适用)
这可确保您的 Amazon MWAA 环境可以安全高效地与这些服务进行通信,而无需通过公共互联网路由流量,从而提高安全性和性能。
连接所需的端点 VPC
本节介绍为VPC使用私有路由的 Amazon 连接所需VPC终端节点的步骤。
VPC AWS 服务所需的端点
以下部分显示了将环境所用 AWS 服务的VPC终端节点连接到现有 Amazon 的步骤VPC。
将VPC终端节点连接到您的私有子网
-
在亚马逊VPC控制台上打开终端节点页面
。 -
使用 AWS 区域选择器选择您的区域。
-
创建 Amazon S3 网关端点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.s3
,然后按键盘上的 Enter。 -
我们建议为网关类型选择列出的服务端点。
例如,
com.amazonaws.us-west-2.s3 amazon Gateway
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并通过选择启用DNS名称来启用DNS该私有子网。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
为 CloudWatch 日志创建终端节点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.logs
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
创建用于 CloudWatch 监控的终端节点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.monitoring
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
为 Amazon 创建终端节点SQS:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.sqs
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
为以下对象创建终端节点 AWS KMS:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.kms
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
VPCApache Airflow 所需的端点
以下部分显示了将 Apache Airflow 的VPC终端节点连接到现有亚马逊的步骤。VPC
将VPC终端节点连接到您的私有子网
-
在亚马逊VPC控制台上打开终端节点页面
。 -
使用 AWS 区域选择器选择您的区域。
-
为 Apache Air API flow 创建端点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.airflow.api
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
为 Apache Airflow 环境创建第一个端点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.airflow.env
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
-
为 Apache Airflow 操作创建第二个端点:
-
选择创建端点。
-
在按属性筛选或按关键字搜索文本字段中,键入:
.airflow.ops
,然后按键盘上的 Enter。 -
选择服务端点。
-
VPC在中选择您环境的 Amazon VPC。
-
确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称。
-
选择您环境的 Amazon VPC 安全组。
-
在策略中选择完全访问权限。
-
选择创建端点。
-
(可选)为您的 Amazon S3 VPC 接口终端节点启用私有 IP 地址
Amazon S3 接口终端节点不支持私有接口DNS。S3 端点请求仍会解析为公有 IP 地址。要将 S3 地址解析为私有 IP 地址,您需要在 Route 53 中为 S3 区域端点添加私有托管区。
使用 Route 53
本节介绍使用 Route 53 为 S3 接口端点启用私有 IP 地址的步骤。
-
为您的 Amazon S3 VPC 接口终端节点(例如 s3.eu-west-1.amazonaws.com)创建私有托管区域,并将其与您的亚马逊关联VPC。
-
为您的 Amazon S3 VPC 接口终端节点(例如 s3.eu-west-1.amazonaws.com)创建一条解析为您的VPC接口终端节点DNS名称的 A 记录。ALIAS
-
为您的 Amazon S3 接口终端节点(例如,*. s3.eu-west-1.amazonaws.com)创建一条解析为VPC接口终端节点DNS名称的 A 通配符记录。ALIAS
VPCs使用自定义 DNS
如果您的 Amazon VPC 使用自定义DNS路由,则需要通过创建CNAME记录在DNS解析器(不是 Route 53,通常是运行DNS服务器的EC2实例)中进行更改。例如:
Name: s3.us-west-2.amazonaws.com Type: CNAME Value: *.vpce-0f67d23e37648915c-e2q2e2j3.s3.us-west-2.vpce.amazonaws.com