使用私有路由在 Amazon VPC 中创建所需的VPC服务终端节点 - Amazon Managed Workflows for Apache Airflow

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

使用私有路由在 Amazon VPC 中创建所需的VPC服务终端节点

无法访问互联网的现有亚马逊VPC网络需要额外的VPC服务终端节点 (AWS PrivateLink) 才能在亚马逊托管工作流程上使用适用于 Apache Airflow 的 Apache Airflow。本页介绍亚马逊使用的 AWS 服务所需的VPC终端节点MWAA、Apache Airflow 所需的VPC终端节点,以及如何使用私有路由创建VPC终端节点并将其连接到现有亚马逊VPC。

定价

私有网络和私有路由

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

私有网络访问模式将访问 Apache Airflow UI 的权限限制为亚马逊内VPC已被授权访问您环境的IAM策略的用户。

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

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

此图显示了在 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终端节点连接到您的私有子网
  1. 在亚马逊VPC控制台上打开终端节点页面

  2. 使用 AWS 区域选择器选择您的区域。

  3. 创建 Amazon S3 网关端点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.s3,然后按键盘上的 Enter

    3. 我们建议为网关类型选择列出的服务端点。

      例如,com.amazonaws.us-west-2.s3 amazon Gateway

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并通过选择启用DNS名称来启用DNS该私有子网。

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  4. 为 CloudWatch 日志创建终端节点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.logs,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  5. 创建用于 CloudWatch 监控的终端节点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.monitoring,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  6. 为 Amazon 创建终端节点SQS:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.sqs,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  7. 为以下对象创建终端节点 AWS KMS:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.kms,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

VPCApache Airflow 所需的端点

以下部分显示了将 Apache Airflow 的VPC终端节点连接到现有亚马逊的步骤。VPC

将VPC终端节点连接到您的私有子网
  1. 在亚马逊VPC控制台上打开终端节点页面

  2. 使用 AWS 区域选择器选择您的区域。

  3. 为 Apache Air API flow 创建端点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.airflow.api,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  4. 为 Apache Airflow 环境创建第一个端点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.airflow.env,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

  5. 为 Apache Airflow 操作创建第二个端点:

    1. 选择创建端点

    2. 按属性筛选或按关键字搜索文本字段中,键入:.airflow.ops,然后按键盘上的 Enter

    3. 选择服务端点。

    4. VPC在中选择您环境的 Amazon VPC

    5. 确保选择了位于不同可用区域的两个私有子网,并启用启用DNS名称

    6. 选择您环境的 Amazon VPC 安全组。

    7. 策略中选择完全访问权限

    8. 选择创建端点

(可选)为您的 Amazon S3 VPC 接口终端节点启用私有 IP 地址

Amazon S3 接口终端节点不支持私有接口DNS。S3 端点请求仍会解析为公有 IP 地址。要将 S3 地址解析为私有 IP 地址,您需要在 Route 53 中为 S3 区域端点添加私有托管区

使用 Route 53

本节介绍使用 Route 53 为 S3 接口端点启用私有 IP 地址的步骤。

  1. 为您的 Amazon S3 VPC 接口终端节点(例如 s3.eu-west-1.amazonaws.com)创建私有托管区域,并将其与您的亚马逊关联VPC。

  2. 为您的 Amazon S3 VPC 接口终端节点(例如 s3.eu-west-1.amazonaws.com)创建一条解析为您的VPC接口终端节点DNS名称的 A 记录。ALIAS

  3. 为您的 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