本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为出站流量启用 VPC 访问权限
默认情况下,您的 AWS App Runner 应用程序可以向公共终端节点发送消息。这包括您自己的解决方案 AWS 服务以及任何其他公共网站或网络服务。您的应用程序甚至可以从亚马逊虚拟私有云 (Amazon VPC) 向在 VPC 中运行的应用程序的公共终端节点发送消息。如果您在启动环境时未配置 VPC,App Runner 将使用默认 VPC,即公有的 VPC。
您可以选择在自定义 VPC 中启动您的环境,以自定义传出流量的网络和安全设置。您可以允许您的 AWS App Runner 服务从亚马逊虚拟私有云 (Amazon VPC) 访问在私有 VPC 中运行的应用程序。完成此操作后,您的应用程序可以连接托管在 Amazon Virt ual Private Cloud (Amazon VPC) 中的其他应用程序并向其发送消息。例如,Amazon RDS 数据库 ElastiCache、Amazon 以及托管在私有 VPC 中的其他私有服务。
VPC 连接器
您可以通过从 App Runner 控制台创建名为 VPC 连接器的 VPC 终端节点,将您的服务与 VPC 关联起来。要创建 VPC 连接器,请指定 VPC、一个或多个子网以及一个或多个安全组(可选)。配置 VPC 连接器后,您可以将其与一个或多个 App Runner 服务一起使用。
一次性延迟
如果您将 App Runner 服务配置为用于出站流量的自定义 VPC 连接器,则该服务可能会遇到两到五分钟的一次性启动延迟。启动过程将等待 VPC 连接器准备好连接到其他资源,然后才会将服务状态设置为 “正在运行”。您可以在首次创建服务时使用自定义 VPC 连接器对其进行配置,也可以在之后通过更新服务来进行配置。
请注意,如果您为其他服务重复使用相同的 VPC 连接器配置,则不会出现任何延迟。VPC 连接器配置基于安全组和子网组合。对于给定的 VPC 连接器配置,在初始创建 VPC 连接器 Hyperplane ENI(弹性网络接口)期间,延迟仅发生一次。
有关自定义 VPC 连接器和 AWS Hyperplane 的更多信息
App Runner 中的 VPC 连接器基于 AWS Hyperplane,Hyperplane 是亚马逊内部网络系统,位于网络负载均衡器、NAT Gateway 和 A WS PrivateLink 等多种 AWS 资源背后。 AWS Hyperplane 技术提供高吞吐量和低延迟功能,以及更高的共享程度。当您创建 VPC 连接器并将其与您的服务关联时,将在您的子网中创建 Hyperplane ENI。VPC 连接器配置基于安全组和子网组合,您可以跨多个 App Runner 服务引用相同的 VPC 连接器。因此,底层的 Hyperplane ENI 将在你的 App Runner 服务之间共享。即使您扩大了处理请求负载所需的任务数量,这种共享也是可行的,并且可以更有效地利用您的 VPC 中的 IP 空间。有关更多信息,请参阅 AWS 容器博客中的 AWS App Runner VPC 网络深入探讨
子网
每个子网都位于特定的可用区中。为了获得高可用性,我们建议您在至少三个可用区中选择子网。如果该区域的可用区少于三个,我们建议您在所有支持的可用区中选择您的子网。
为您的 VPC 选择子网时,请确保选择私有子网,而不是公有子网。这是因为,当您创建 VPC 连接器时,App Runner 服务会在每个子网中创建一个 Hyperplane ENI。每个 Hyperplane ENI 仅分配一个私有 IP 地址,并标有AWSAppRunnerManaged密钥标签。如果您选择公有子网,则在运行 App Runner 服务时会出现错误。但是,如果您的服务需要访问互联网或其他公共服务上的某些服务 AWS 服务,请参阅选择子网时的注意事项 。
选择子网时的注意事项
-
当您将服务连接到 VPC 时,出站流量无法访问公共互联网。来自您的应用程序的所有出站流量都将通过您的服务所连接的 VPC 定向。VPC 的所有联网规则都适用于您的应用程序的出站流量。这意味着您的服务无法访问公共互联网和 AWS API。要获得访问权限,请执行以下操作之一:
-
有些可用区中的某些可用区 AWS 区域 不支持可用于 App Runner 服务的子网。如果您在这些可用区中选择子网,则无法创建或更新您的服务。对于这些情况,App Runner 会提供一条详细的错误消息,指向不支持的子网和可用区。出现这种情况时,请通过从请求中删除不支持的子网来排除故障,然后重试。
安全组
您可以选择指定 App Runner 用于在指定子网 AWS 下访问的安全组。如果您未指定安全组,App Runner 将使用 VPC 的默认安全组。默认安全组允许所有出站流量。
添加安全组可为 VCP 连接器提供额外的安全层,使您可以更好地控制网络流量。VPC 连接器仅用于来自您的应用程序的出站通信。您可以使用出站规则来允许与所需的目标终端节点进行通信。您还必须确保与目标资源关联的所有安全组都具有相应的入站规则。否则,这些资源将无法接受来自 VPC 连接器安全组的流量。
注意
当您将服务与 VPC 关联时,以下流量不会受到影响:
-
入站流量-您的应用程序收到的传入消息不受关联 VPC 的影响。消息通过与您的服务关联的公共域名进行路由,并且不与 VPC 交互。
-
App Runner 流量 — App Runner 代表你管理多项操作,例如提取源代码和图像、推送日志和检索机密。这些操作生成的流量不会通过您的 VPC 路由。
要详细了解如何 AWS App Runner 与 Amazon VPC 集成,请参阅 A AWS
pp Runner VPC 网络
注意
对于传出流量,App Runner 目前仅支持 IPv4。
管理 VPC 访问权限
注意
如果您为服务创建出站流量 VPC 连接器,则随后的服务启动过程将出现一次性延迟。您可以在创建新服务时或之后通过服务更新为新服务设置此配置。有关更多信息,请参阅一次性延迟本指南的 “与 App Runner 联网” 一章。
使用以下方法之一管理您的 App Runner 服务的 VPC 访问权限: