本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理私有终端节点
使用以下方法之一管理传入流量的私有端点:
注意
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则,则必须对私有端点使用安全组规则,而不是 WAF Web ACLs。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此,与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。
要了解有关基础设施安全和安全组的更多信息,包括最佳实践,请参阅 Amazon VPC 用户指南中的以下主题:使用安全组控制网络流量和控制流向 AWS 资源的流量。
应用程序运行器控制台
使用 App Runner 控制台创建服务时,或者稍后更新其配置时,可以选择配置传入流量。
要配置您的传入流量,请选择以下选项之一。
-
公共终端节点:使所有服务都能通过互联网访问您的服务。默认情况下,选择公共端点。
-
私有终端节点:使您的 App Runner 服务只能在 Amazon VPC 内访问。
启用私有终端节点
通过将私有终端节点与您要访问的 Amazon VPC 的 VPC 接口终端节点关联来启用该终端节点。您可以创建新的 VPC 接口终端节点,也可以选择现有的 VPC 接口终端节点。
创建 VPC 接口终端节点
-
打开 App Runner 控制台
,然后在 “区域” 列表中,选择您的 AWS 区域。 -
转到 “配置服务” 下的 “网络” 部分。
-
对于传入的网络流量,选择私有端点。使用 VPC 接口终端节点连接到 VCP 的选项打开。
-
选择创建新端点。将打开 “创建新 VPC 接口终端节点” 对话框。
-
输入 VPC 接口终端节点的名称。
-
从可用下拉列表中选择所需的 VPC 接口终端节点。
-
从下拉列表中选择安全组。添加安全组可为 VPC 接口终端节点提供额外的安全层。建议选择两个或多个安全组。如果您未选择安全组,App Runner 会向 VPC 接口终端节点分配默认安全组。确保安全组规则不会阻止想要与您的 App Runner 服务通信的资源。安全组规则必须允许与您的 App Runner 服务进行交互的资源。
注意
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则,则必须对私有端点使用安全组规则,而不是 WAF Web ACLs。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此,与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。
要了解有关基础设施安全和安全组的更多信息,包括最佳实践,请参阅 Amazon VPC 用户指南中的以下主题:使用安全组控制网络流量和控制流向 AWS 资源的流量。
-
从下拉列表中选择所需的子网。建议您为每个可用区至少选择两个子网,以便从中访问 App Runner 服务。
注意
如果您要为双堆栈配置终端节点,请确保您的基础设施和 VPC 终端节点支持双堆栈流量。
-
(可选)选择 “添加新标签”,然后输入标签键和标签值。
-
选择创建。配置服务页面打开,顶部栏上显示成功创建 VPC 接口终端节点的消息。
选择现有 VPC 接口终端节点
-
打开 App Runner 控制台
,然后在 “区域” 列表中,选择您的 AWS 区域。 -
转到 “配置服务” 下的 “网络” 部分。
-
对于传入的网络流量,选择私有端点。使用 VPC 接口终端节点连接到 VPC 的选项打开。将显示可用的 VPC 接口终端节点列表。
-
选择 VPC 接口终端节点下列出的所需 VPC 接口终端节点。
-
选择 “下一步” 创建您的服务。App Runner 启用私有端点。
注意
创建服务后,如果需要,您可以选择编辑与 VPC 接口终端节点关联的安全组和子网。
要查看私有终端节点的详细信息,请转到您的服务并展开 “配置” 选项卡下的 “网络” 部分。它显示了与私有终端节点关联的 VPC 和 VPC 接口终端节点的详细信息。
更新 VPC 接口终端节点
创建 App Runner 服务后,您可以编辑与私有终端节点关联的 VPC 接口终端节点。
注意
您无法更新终端节点名称和 VPC 字段。
更新 VPC 接口终端节点
-
打开 App Runner 控制台
,然后在 “区域” 列表中,选择您的 AWS 区域。 -
前往您的服务,然后在左侧面板上选择网络配置。
-
选择传入流量以查看与相应服务关联的 VPC 接口终端节点。
-
选择要编辑的 VPC 接口终端节点。
-
选择编辑。用于编辑 VPC 接口终端节点的对话框打开。
-
选择所需的安全组和子网,然后单击 “更新”。显示 VPC 接口终端节点详细信息的页面打开,顶部栏上显示成功更新 VPC 接口终端节点的消息。
注意
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则,则必须对私有端点使用安全组规则,而不是 WAF Web ACLs。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此,与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。
要了解有关基础设施安全和安全组的更多信息,包括最佳实践,请参阅 Amazon VPC 用户指南中的以下主题:使用安全组控制网络流量和控制流向 AWS 资源的流量。
删除 VPC 接口终端节点
如果您不希望私密访问您的 App Runner 服务,可以将传入流量设置为公开。更改为公共会移除私有终端节点,但不会删除 VPC 接口终端节点
删除 VPC 接口终端节点
-
打开 App Runner 控制台
,然后在 “区域” 列表中,选择您的 AWS 区域。 -
前往您的服务,然后在左侧面板上选择网络配置。
-
选择传入流量以查看与相应服务关联的 VPC 接口终端节点。
注意
在删除 VPC 接口终端节点之前,请通过更新您的服务将其从其连接的所有服务中删除。
-
选择删除。
如果有服务连接到 VPC 接口终端节点,则您会收到 “无法删除 VPC 接口终端节点” 消息。如果没有服务连接到 VPC 接口终端节点,您将收到一条确认删除的消息。
-
选择删除。网络配置页面将打开传入流量,顶部栏上显示成功删除 VPC 接口终端节点的消息。
应用程序运行器 API 或 AWS CLI
您可以在 App Runner 上部署只能从 Amazon VPC 中访问的应用程序。
有关将您的服务设为私有所需的权限的信息,请参阅权限。
创建与 Amazon VPC 的私有服务连接
-
创建 VPC 接口终端节点(一种 AWS PrivateLink 资源)以连接到 App Runner。为此,请指定要与应用程序关联的子网和安全组。以下是创建 VPC 接口终端节点的示例。
注意
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则,则必须对私有端点使用安全组规则,而不是 WAF Web ACLs。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此,与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。
要了解有关基础设施安全和安全组的更多信息,包括最佳实践,请参阅 Amazon VPC 用户指南中的以下主题:使用安全组控制网络流量和控制流向 AWS 资源的流量。
aws ec2 create-vpc-endpoint --vpc-endpoint-type: Interface --service-name:
com.amazonaws.us-east-1.apprunner.requests
--subnets:subnet1, subnet2
--security-groups:sg1
-
通过 CLI 使用CreateService或 UpdateServiceApp Runner API 操作引用 VPC 接口终端节点。将您的服务配置为不可公开访问。
False
在NetworkConfiguration
参数的IngressConfiguration
成员中设置IsPubliclyAccessible
为。或者,您可以将该IpAddressType
字段设置为IPV4
或DUAL_STACK
。如果未设置,则此值默认为 IPV4。以下示例引用了 VPC 接口终端节点。aws apprunner create-service --network-configuration: { "IngressConfiguration": { "IsPubliclyAccessible":
False
}, "IpAddressType": "IPV4
" } --service-name:com.amazonaws.us-east-1.apprunner.requests
--source-configuration:<source_configuration>
-
调用
create-vpc-ingress-connection
API 操作为 App Runner 创建 VPC 入口连接资源,并将其与您在上一步中创建的 VPC 接口终端节点相关联。它会返回一个用于访问指定 VPC 中的服务的域名。以下是创建 VPC 入口连接资源的示例。例 请求
aws apprunner create-vpc-ingress-connection --service-arn: <apprunner_service_arn> --ingress-vpc-configuration: {"VpcId":
<vpc_id>
, "VpceId":<vpce_id>
} --vpc-ingress-connection-name:<vic_connection_name>
例 响应
{ "VpcIngressConnectionArn": <vpc_ingress_connection_arn>, "VpcIngressConnectionName": <vic_connection_name>, "ServiceArn": <apprunner_service_arn>, "Status": "PENDING_CREATION", "AccountId": <connection_owner_id>, "DomainName": <domain_name_associated_with_vpce>, "IngressVpcConfiguration": {"VpcId":<vpc_id>, "VpceId":<vpce_id>}, "CreatedAt": <date_created> }
更新 VPC 入口连接
您可以更新 VPC 入口连接资源。VPC 入口连接必须处于以下状态之一才能更新:
-
AVAILABLE
-
创建失败
-
更新失败
以下是更新 VPC 入口连接资源的示例。
例 请求
aws apprunner update-vpc-ingress-connection --vpc-ingress-connection-arn:
<vpc_ingress_connection_arn>
例 响应
{ "VpcIngressConnectionArn": <vpc_ingress_connection_arn>, "VpcIngressConnectionName": <vic_connection_name>, "ServiceArn": <apprunner_service_arn>, "Status": "FAILED_UPDATE", "AccountId": <connection_owner_id>, "DomainName": <domain_name_associated_with_vpce>, "IngressVpcConfiguration": {"VpcId":<vpc_id>, "VpceId":<vpce_id>}, "CreatedAt": <date_created> }
删除 VPC 入口连接
如果您不再需要与 Amazon VPC 的私有连接,则可以删除 VPC 入口连接资源。
VPC 入口连接必须处于以下状态之一才能删除:
-
AVAILABLE
-
创建失败
-
更新失败
-
删除失败
以下是删除 VPC 入口连接的示例
例 请求
aws apprunner delete-vpc-ingress-connection --vpc-ingress-connection-arn:
<vpc_ingress_connection_arn>
例 响应
{ "VpcIngressConnectionArn": <vpc_ingress_connection_arn>, "VpcIngressConnectionName": <vic_connection_name>, "ServiceArn": <apprunner_service_arn>, "Status": "PENDING_DELETION", "AccountId": <connection_owner_id>, "DomainName": <domain_name_associated_with_vpce>, "IngressVpcConfiguration": {"VpcId":<vpc_id>, "VpceId":<vpce_id>}, "CreatedAt": <date_created>, "DeletedAt": <date_deleted> }
使用以下 App Runner API 操作来管理服务的私有入站流量。
-
CreateVpcIngressConnection— 创建新的 VPC 入口连接资源。当您想要将 App Runner 服务与 Amazon VPC 端点相关联时,App Runner 需要此资源。
-
ListVpcIngressConnections— 返回与您的 AWS 账户关联的 AWS App Runner VPC 入口连接终端节点列表。
-
DescribeVpcIngressConnection— 返回 AWS App Runner VPC 入口连接资源的完整描述。
-
UpdateVpcIngressConnection— 更新 AWS App Runner VPC 入口连接资源。
-
DeleteVpcIngressConnection— 删除与 App Runner 服务关联的 App Runner VPC 入口连接资源。
有关使用 App Runner API 的更多信息,请参阅 App Runner API 参考指南。