

AWS 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)
+ [App Runner API 或 AWS CLI](#network-pl-manage.api)

**注意**  
如果您的 App Runner 应用程序需要源流 IP/CIDR 入流量控制规则，则必须对私有端点使用安全组规则，而不是 [ WAF Web ACL ](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF Web ACL 关联的 App Runner 私有服务的源 IP 规则不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 A * mazon 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 服务只能在亚马逊 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 ACL ](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF Web ACL 关联的 App Runner 私有服务的源 IP 规则不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 A * mazon 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 ACL ](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF Web ACL 关联的 App Runner 私有服务的源 IP 规则不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 A * mazon 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 接口终端节点的消息。

## App Runner API 或 AWS CLI
<a name="network-pl-manage.api"></a>

您可以在 App Runner 上部署只能从亚马逊 VPC 内部访问的应用程序。

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

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

1. 创建 VPC 接口终端节点（一种 AWS PrivateLink 资源）以连接到 App Runner。为此，请指定与应用程序关联的子网和安全组。以下是创建 VPC 接口终端节点的示例。
**注意**  
如果您的 App Runner 应用程序需要源流 IP/CIDR 入流量控制规则，则必须对私有端点使用安全组规则，而不是 [ WAF Web ACL ](waf.md)。这是因为我们目前不支持将请求源 IP 数据转发到与 WAF 关联的 App Runner 私有服务。因此，与 WAF Web ACL 关联的 App Runner 私有服务的源 IP 规则不符合基于 IP 的规则。  
要了解有关基础设施安全和安全组的更多信息，包括最佳实践，请参阅 A * mazon 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>

如果您不再需要与亚马逊 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/)。