

AWS App Runner 从 2026 年 4 月 30 日起，将不再向新客户开放。如果您想使用 App Runner，请在该日期之前注册。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS App Runner 可用性变更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# 管理私有终端节点
<a name="network-pl-manage"></a>

使用以下方法之一管理传入流量的私有端点：
+ [应用程序运行器控制台](#network-pl-manage.console)
+ [应用程序运行器 API 或 AWS CLI](#network-pl-manage.api)

**注意**  
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则，则必须对私有端点使用安全组规则，而不是 [WAF Web ACLs](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 *Amazon VPC 用户指南*中的以下主题：[使用安全组[控制网络流量](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic)和控制流向 AWS 资源的](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-security-groups.html)流量。

## 应用程序运行器控制台
<a name="network-pl-manage.console"></a>

使用 App Runner 控制台[创建服务](manage-create.md)时，或者[稍后更新其配置](manage-configure.md)时，可以选择配置传入流量。

 要配置您的传入流量，请选择以下选项之一。
+  **公共终端节点**：使所有服务都能通过互联网访问您的服务。默认情况下，选择**公共端点**。
+  **私有终端节点**：使您的 App Runner 服务只能在 Amazon VPC 内访问。

### 启用私有终端节点
<a name="network-pl-manage.console.enable"></a>

 通过将**私有终端节点**与您要访问的 Amazon VPC 的 VPC 接口终端节点关联来启用该终端节点。您可以创建新的 VPC 接口终端节点，也可以选择现有的 VPC 接口终端节点。

**创建 VPC 接口终端节点**

1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

1.  转到 “**配置服务**” 下的 “**网络**” 部分。

1. 对于**传入的网络流量**，选择**私有端点**。使用 VPC 接口终端节点连接到 VCP 的选项打开。

1.  选择**创建新端点**。将打开 “**创建新 VPC 接口终端节点**” 对话框。

1.  输入 VPC 接口终端节点的名称。

1.  从可用下拉列表中选择所需的 VPC 接口终端节点。

1. 从下拉列表中选择安全组。添加安全组可为 VPC 接口终端节点提供额外的安全层。建议选择两个或多个安全组。如果您未选择安全组，App Runner 会向 VPC 接口终端节点分配默认安全组。确保安全组规则不会阻止想要与您的 App Runner 服务通信的资源。安全组规则必须允许与您的 App Runner 服务进行交互的资源。
**注意**  
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则，则必须对私有端点使用安全组规则，而不是 [WAF Web ACLs](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 *Amazon VPC 用户指南*中的以下主题：[使用安全组[控制网络流量](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic)和控制流向 AWS 资源的](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-security-groups.html)流量。

1. 从下拉列表中选择所需的子网。建议您为每个可用区至少选择两个子网，以便从中访问 App Runner 服务。
**注意**  
如果您要为双堆栈配置终端节点，请确保您的基础设施和 VPC 终端节点支持双堆栈流量。

1.  （可选）选择 “**添加新标签**”，然后输入标签键和标签值。

1.  选择**创建**。**配置服务**页面打开，顶部栏上显示成功创建 VPC 接口终端节点的消息。

**选择现有 VPC 接口终端节点**

1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

1.  转到 “**配置服务**” 下的 “**网络**” 部分。

1. 对于**传入的网络流量**，选择**私有端点**。使用 VPC 接口终端节点连接到 VPC 的选项打开。将显示可用的 VPC 接口终端节点列表。

1. 选择 VPC 接口终端节点下列出的所需 **VPC 接口终端节点**。

1. 选择 “**下一步**” 创建您的服务。App Runner 启用私有端点。
**注意**  
 创建服务后，如果需要，您可以选择编辑与 VPC 接口终端节点关联的安全组和子网。

    要查看**私有终端节点**的详细信息，请转到您的服务并展开 “**配置**” 选项卡下的 “**网络**” 部分。它显示了与**私有终端节点关联的 VPC 和 VPC 接口终端节点**的详细信息。

### 更新 VPC 接口终端节点
<a name="network-pl-manage.console.update"></a>

创建 App Runner 服务后，您可以编辑与私有终端节点关联的 VPC 接口终端节点。

**注意**  
 您无法更新**终端节点名称**和 **VPC** 字段。

**更新 VPC 接口终端节点**

1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

1.  前往您的服务，然后在左侧面板上选择**网络配置**。

1.  选择**传入流量**以查看与相应服务关联的 VPC 接口终端节点。

1.  选择要编辑的 VPC 接口终端节点。

1.  选择**编辑**。用于编辑 VPC 接口终端节点的对话框打开。

1.  选择所需的**安全组**和**子网**，然后单击 “**更新**”。显示 VPC 接口终端节点详细信息的页面打开，顶部栏上显示成功更新 VPC 接口终端节点的消息。
**注意**  
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则，则必须对私有端点使用安全组规则，而不是 [WAF Web ACLs](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 *Amazon VPC 用户指南*中的以下主题：[使用安全组[控制网络流量](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic)和控制流向 AWS 资源的](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-security-groups.html)流量。

### 删除 VPC 接口终端节点
<a name="network-pl-manage.console.delete"></a>

如果您不希望私密访问您的 App Runner 服务，可以将传入流量设置为**公开**。更改为**公共**会移除私有终端节点，但不会删除 VPC 接口终端节点 

**删除 VPC 接口终端节点**

1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

1.  前往您的服务，然后在左侧面板上选择**网络配置**。

1.  选择**传入流量**以查看与相应服务关联的 VPC 接口终端节点。
**注意**  
 在删除 VPC 接口终端节点之前，请通过更新您的服务将其从其连接的所有服务中删除。

1.  选择**删除**。

    如果有服务连接到 VPC 接口终端节点，则您会收到 **“无法删除 VPC 接口终端节点**” 消息。如果没有服务连接到 VPC 接口终端节点，您将收到一条确认删除的消息。

1.  选择**删除**。**网络配置**页面将打开**传入流量**，顶部栏上显示成功删除 VPC 接口终端节点的消息。

## 应用程序运行器 API 或 AWS CLI
<a name="network-pl-manage.api"></a>

您可以在 App Runner 上部署只能从 Amazon VPC 中访问的应用程序。

有关将您的服务设为私有所需的权限的信息，请参阅[Permissions](network-pl.md#network-pl.permissions)。

**创建与 Amazon VPC 的私有服务连接**

1. 创建 VPC 接口终端节点（一种 AWS PrivateLink 资源）以连接到 App Runner。为此，请指定要与应用程序关联的子网和安全组。以下是创建 VPC 接口终端节点的示例。
**注意**  
如果您的 App Runner 应用程序需要源 IP/CIDR 传入流量控制规则，则必须对私有端点使用安全组规则，而不是 [WAF Web ACLs](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF 网络关联的 App Runner 私有服务的源 IP 规则 ACLs 不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 *Amazon VPC 用户指南*中的以下主题：[使用安全组[控制网络流量](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic)和控制流向 AWS 资源的](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-security-groups.html)流量。  
**Example**  

   ```
   aws ec2 create-vpc-endpoint
    --vpc-endpoint-type: Interface
    --service-name: com.amazonaws.us-east-1.apprunner.requests
    --subnets: subnet1, subnet2
    --security-groups: sg1
   ```

1. 通过 CLI 使用[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)或 [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)App Runner API 操作引用 VPC 接口终端节点。将您的服务配置为不可公开访问。`False`在`NetworkConfiguration`参数的`IngressConfiguration`成员中设置`IsPubliclyAccessible`为。或者，您可以将该`IpAddressType`字段设置为`IPV4`或`DUAL_STACK`。如果未设置，则此值默认为 IPV4。以下示例引用了 VPC 接口终端节点。  
**Example**  

   ```
   aws apprunner create-service
    --network-configuration:
      {
      "IngressConfiguration":
         {
         "IsPubliclyAccessible": False
         },
         "IpAddressType": "IPV4"
      }
    --service-name: com.amazonaws.us-east-1.apprunner.requests
    --source-configuration: <source_configuration>
   ```

1.  调用 `create-vpc-ingress-connection` API 操作为 App Runner 创建 VPC 入口连接资源，并将其与您在上一步中创建的 VPC 接口终端节点相关联。它会返回一个用于访问指定 VPC 中的服务的域名。以下是创建 VPC 入口连接资源的示例。  
**Example 请求**  

   ```
   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>
   ```  
**Example 响应**  

   ```
   {
      "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 入口连接
<a name="network-pl-manage.api.update"></a>

您可以更新 VPC 入口连接资源。VPC 入口连接必须处于以下状态之一才能更新：
+  AVAILABLE 
+  创建失败 
+  更新失败 

以下是更新 VPC 入口连接资源的示例。

**Example 请求**  

```
aws apprunner update-vpc-ingress-connection
      --vpc-ingress-connection-arn: <vpc_ingress_connection_arn>
```

**Example 响应**  

```
{
    "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 入口连接
<a name="network-pl-manage.api.delete"></a>

如果您不再需要与 Amazon VPC 的私有连接，则可以删除 VPC 入口连接资源。

VPC 入口连接必须处于以下状态之一才能删除：
+  AVAILABLE 
+  创建失败 
+  更新失败 
+  删除失败 

以下是删除 VPC 入口连接的示例

**Example 请求**  

```
aws apprunner delete-vpc-ingress-connection
      --vpc-ingress-connection-arn: <vpc_ingress_connection_arn>
```

**Example 响应**  

```
{
   "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](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateVpcIngressConnection.html)— 创建新的 VPC 入口连接资源。当您想要将 App Runner 服务与 Amazon VPC 端点相关联时，App Runner 需要此资源。
+ [ListVpcIngressConnections](https://docs.aws.amazon.com/apprunner/latest/api/API_ListVpcIngressConnections.html)— 返回与您的 AWS 账户关联的 AWS App Runner VPC 入口连接终端节点列表。
+ [DescribeVpcIngressConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_DescribeVpcIngressConnection.html)— 返回 AWS App Runner VPC 入口连接资源的完整描述。
+  [UpdateVpcIngressConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateVpcIngressConnection.html)— 更新 AWS App Runner VPC 入口连接资源。
+ [DeleteVpcIngressConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_DeleteVpcIngressConnection.html)— 删除与 App Runner 服务关联的 App Runner VPC 入口连接资源。

有关使用 App Runner API 的更多信息，请参阅 [App Runner API 参考指南](https://docs.aws.amazon.com/apprunner/latest/api/)。