

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

# 使用 VPC Lattice 连接到您的 VPC 中的私有资源
<a name="vpc-egress-private-endpoints"></a>

Amazon Bedrock AgentCore 支持私有连接到您的 Amazon VPC 内或与您的 VPC 相连的本地环境中的资源，例如私有 MCP 服务器、内部 REST API 或数据库，而无需将这些服务暴露给公共互联网。

私有连接是使用 [Amazon VPC 莱迪思](https://docs.amazonaws.cn/vpc-lattice/latest/ug/what-is-vpc-lattice.html)资源网关和资源配置建立的。有关两种支持的模式（托管和自管莱迪思）的详细信息，请参阅支持的 [VPC出口](#lattice-vpc-egress-compare-modes)模式。

**Topics**
+ [重要概念](#lattice-vpc-egress-concepts)
+ [支持的亚马逊 Bedrock 服务 AgentCore](#lattice-vpc-egress-supported-services)
+ [支持的 VPC 出口模式](#lattice-vpc-egress-compare-modes)
+ [选项 1：托管 VPC 资源](#lattice-vpc-egress-managed-lattice)
+ [选项 2： Self-managed 莱迪思资源](#lattice-vpc-egress-self-managed-lattice)
+ [通过中间域路由流量](#lattice-vpc-egress-routing-domain)
+ [私有证书的解决方法：ALB](#lattice-vpc-egress-private-certs)
+ [Service-linked VPC 出口的角色](#lattice-vpc-egress-slr)
+ [目标状态和故障排除](#lattice-vpc-egress-target-status)
+ [限制和注意事项](#lattice-vpc-egress-limitations)

## 重要概念
<a name="lattice-vpc-egress-concepts"></a>

 **资源网关**   
Amazon VPC 莱迪思资源网关是您的 VPC 的入口点。它与您的 VPC 中的一个或多个子网和安全组相关联，并充当来自 AgentCore的流量的网络入口点。当您使用托管莱迪思时，代表您 AgentCore 创建和管理此资源。

 **资源配置**   
资源配置代表您的 VPC 中的特定私有终端节点（IP 地址或 DNS 名称）。它连接到资源网关，并定义了哪些资源 AgentCore 可以到达。当您使用托管莱迪思时，代表您在 AgentCore 服务账号中 AgentCore 创建此资源。

 **服务网络资源协会**   
服务网络资源关联将资源配置连接到 AgentCore 服务网络，从而使 AgentCore 服务能够调用您的私有终端节点。 AgentCore 无论您使用的是托管还是自我管理的莱迪思，始终代表您创建和管理此关联。

 **路由域**   
一个可选字段，用于指定 AgentCore 用作资源配置域的中间域，而不是实际的目标域。当您想要通过 VPC 终端节点或内部负载均衡器等中间组件路由流量时，这非常有用，例如，将多个私有 API 网关整合到一个 VPC 终端节点后面，从而减少资源配置数量和相关成本。该 AgentCore 服务继续使用 SNI 覆盖调用实际目标域。有关更多信息，请参阅[通过中间域路由流量](#lattice-vpc-egress-routing-domain)。

## 支持的亚马逊 Bedrock 服务 AgentCore
<a name="lattice-vpc-egress-supported-services"></a>

以下 Amazon Bedrock AgentCore 服务支持 VPC Lattice 的 VPC 出口：

 **AgentCore 网关**   
AgentCore 网关支持 MCP 服务器和 OpenAPI 目标类型的私有端点。有关为每种目标类型配置 VPC 出口的详细信息，请参阅为网关目标[配置 Amazon Bedrock Gateway VP AgentCore C 出口](gateway-vpc-egress.md)。

 **AgentCore 身份**   
AgentCore Identity 支持私有终端节点，用于连接 VPC 托管的 OAuth 2.0 身份提供商，用于入站 JWT 授权和出站 OAuth 凭证提供商。有关详细信息，请参阅 [Connect 连接到私有身份提供商](identity-private-idp.md)。

## 支持的 VPC 出口模式
<a name="lattice-vpc-egress-compare-modes"></a>

Amazon Bedrock AgentCore 支持两种配置 VPC 莱迪思连接的模式：
+  **托管 VPC 资源** — Amazon Bedrock 代表您 AgentCore 创建和管理 VPC Lattice 资源网关和资源配置。您可以提供您的 VPC、子网和可选的安全组。这是一种更简单的账户内 VPC 连接方法，可插入现有网络架构，例如中心辐射型。
**注意**  
您不需要 VPC Lattice IAM 权限、SCP 更改或其他批准流程即可使用此选项。Amazon Bedrock 代表您 AgentCore 管理所有 VPC 莱迪思资源。
+  **Self-managed 莱迪思资源** — 您可以自己创建和管理 VPC 莱迪思资源网关和资源配置。这种方法提供了增强的监管和可见性：您可以确切地看到哪些服务已连接到哪些域，谁有权访问，并可以精细地撤消连接。它还支持通过 Amazon RAM 实现直接跨账户连接，无需使用 VPC 对等或传输网关。

下表汇总了主要区别：


| 维度 | 托管 VPC 资源 | Self-managed 莱迪思资源 | 
| --- | --- | --- | 
| 其他服务依赖性 | 无需使用 VPC Lattice 入职或列入许可名单。VPC Lattice 被 Amazon Bedrock 内部 AgentCore 用作实现细节。您不需要 VPC Lattice 的 IAM 政策、SCP 变更或其他批准流程。您只需要标准的 Amazon EC2 权限和创建服务相关角色的能力。 | 是。您可以直接创建和管理 VPC 莱迪思资源，这需要 VPC Lattice 的 IAM 权限（例如`vpc-lattice:CreateResourceGateway``vpc-lattice:CreateResourceConfiguration`、和`vpc-lattice:CreateServiceNetworkResourceAssociation`）。如果您的组织限制 VPC Lattice 访问权限，则可能需要更新 SCP 或申请批准。 | 
| 治理和可见性 | 您账户中唯一的资源是资源网关，它实际上是您的 VPC 中的网络接口 (ENI)。这是完全由 Amazon Bedrock AgentCore 管理的只读资源，您无法对其进行修改、配置或与之交互。 | 全面了解资源网关、资源配置、服务网络关联和连接的域。您拥有并管理所有资源，并且可以精细地审计连接和撤消访问权限。 | 
| 复杂度 | 简单 — 提供 VPC、子网和安全组。其余的则由亚马逊 Bedrock AgentCore 管理。 | 高级 — 您可以自己创建和管理 VPC Lattice 资源网关和资源配置。 | 
| Cross-account 连接 | 不支持。与现有网络架构配合使用，例如中心辐射型（VPC 对等连接或 Tr Amazon ansit Gateway），适用于跨账户或跨VPC场景。 | 通过 Amazon RAM 支持。无需使用 VPC 对等或传输网关即可实现直接跨账户连接。 | 
| VPC 莱迪思定价 | 仅收取数据处理费用（通过资源网关处理的每 GB）。 | 每添加至服务网络的 VPC 资源按小时收费，外加数据处理费用（每 GB）。 | 
| 资源生命周期 | Amazon Bedrock AgentCore 会代表您创建、重复使用和删除资源网关。 | 您拥有资源网关和资源配置的整个生命周期。 | 
| IP 消耗和吞吐量 | 每个托管资源网关每个子网消耗 1 个 IP 地址。这是不可配置的。 | 与 Amazon Bedrock 一起使用时 AgentCore，每个子网消耗 1 个 IP 地址。如果还连接到其他VPC Lattice服务网络，则会根据资源网关上的`ipv4AddressesPerEni`值消耗额外的IP。端口范围和 IP 地址的组合决定了该服务网络资源关联的最大并发连接数。请注意，连接结束后有 350 秒的端口冷却时间才能重复使用该端口。 | 

有关 VPC Lattice 定价详情，请参阅[亚马逊 VPC Lattice](https://www.amazonaws.cn/vpc/lattice/pricing/) 定价。

## 选项 1：托管 VPC 资源
<a name="lattice-vpc-egress-managed-lattice"></a>

使用托管 VPC 资源，您可以提供 VPC、子网和可选的安全组信息。 AgentCore 代表您处理 VPC Lattice 资源网关的创建和生命周期管理以及资源配置。托管资源网关是您的 VPC 中 ENI 的封装器。您无法对其进行修改、配置或与之交互。 AgentCore 拥有其整个生命周期，包括创建、重复使用和删除。

**注意**  
您不需要 VPC 莱迪思的 IAM 权限、SCP 更改或其他批准流程即可使用托管 VPC 资源，因为 Amazon Bedrock AgentCore 使用莱迪思作为内部依赖项，并且任何莱迪思资源网关对客户都是只读的。

AgentCore 使用`AWSServiceRoleForBedrockAgentCoreGatewayNetwork`服务关联角色在您的账户中创建和管理 VPC Lattice 资源网关。首次使用托管私有终端节点创建网关目标时，会自动创建此角色。有关此角色的更多信息，请参阅 [Gateway 服务相关角色](service-linked-roles.md#gateway-service-linked-role)。

### 先决条件
<a name="lattice-vpc-egress-managed-lattice-prereqs"></a>

在使用托管私有终端节点创建网关目标之前，请确保满足以下条件：
+ 您的私有资源（MCP 服务器或 REST API）正在运行，并且可以在您的 VPC 中进行访问。
+ 您的 VPC 中至少有一个可通过网络访问私有资源的子网。
+ 您的安全组允许您的私有资源使用的端口（HTTPS 通常为端口 443）上的入站流量。
+ 您的 IAM 委托人拥有的`iam:CreateServiceLinkedRole`权限`bedrock-agentcore.amazonaws.com`，因此，如果服务相关角色尚不存在，则 AgentCore 可以代表您创建该角色。有关所需的 IAM 策略，请参阅[网关服务相关角色](service-linked-roles.md#gateway-service-linked-role)。
+ 您的 IAM 委托人拥有 AgentCore 以下 Amazon EC2 权限，这是在您的 VPC 中设置 VPC Lattice 资源网关所必需的：
  +  `ec2:CreateNetworkInterface` 
  +  `ec2:DescribeVpcs` 
  +  `ec2:DescribeSecurityGroups` 
  +  `ec2:DescribeSubnets` 
+ 如果您的私有资源使用私有证书颁发机构颁发的 TLS 证书，则可以在其前面放置一个带有公共 ACM 证书的内部 Application Load Balancer。有关更多信息，请参阅[私有证书的解决方法：ALB](#lattice-vpc-egress-private-certs)。

### 使用托管私有端点创建目标
<a name="lattice-vpc-egress-managed-lattice-create"></a>

要使用托管私有终端节点创建资源，请在创建请求中包含该`privateEndpoint.managedVpcResource`块。

```
{
  ...
  "privateEndpoint": {
    "managedVpcResource": {
      "vpcIdentifier": "vpc-0abc123def456",
      "subnetIds": ["subnet-0abc123", "subnet-0def456"],
      "endpointIpAddressType": "IPV4",
      "securityGroupIds": ["sg-0abc123def"]
    }
  },
  ...
}
```

该`managedVpcResource`区块接受以下字段：

 `vpcIdentifier`（必需）  
包含您的私有资源的 VPC 的 ID。

 `subnetIds`（必需）  
将放置资源网关的 VPC 内的子网 ID 列表。

 `endpointIpAddressType`（必需）  
资源配置的 IP 地址类型。有效值为 `IPV4` 和 `IPV6`。

 `securityGroupIds`（可选）  
要与资源网关关联的安全组 ID 列表。如果未提供，则使用 VPC 的默认安全组。

 `routingDomain`（可选）  
用作资源配置端点的中间域，而不是实际的目标域。当您想要通过 VPC 终端节点或内部负载均衡器等中间组件路由流量时，请使用此选项。有关更多信息，请参阅[通过中间域路由流量](#lattice-vpc-egress-routing-domain)。

 `tags`（可选）  
应用于托管 VPC 莱迪思资源网关的标签。标签密钥`BedrockAgentCoreGatewayManaged`已保留，无法指定。

### 查看托管资源
<a name="lattice-vpc-egress-managed-lattice-response"></a>

资源创建完成后，调用相关的 Get API（例如`GetGatewayTarget`），查看代表您 AgentCore 创建的托管 VPC Lattice 资源。这些将在响应的`privateEndpointManagedResources`字段中返回：

```
{
  ...
  "status": "READY",
  "privateEndpoint": {
    "managedVpcResource": {
      "vpcIdentifier": "vpc-0abc123def456",
      "subnetIds": ["subnet-0abc123", "subnet-0def456"],
      "endpointIpAddressType": "IPV4",
      "securityGroupIds": ["sg-0abc123def"]
    }
  },
  "privateEndpointManagedResources": [
    {
      "domain": "my-server.internal.example.com",
      "resourceGatewayArn": "arn:aws:vpc-lattice:us-east-1:123456789012:resourcegateway/rgw-abc123"
    }
  ]
}
```

`resourceGatewayArn`是在您的账户中 AgentCore 创建的 VPC 莱迪思资源网关的 ARN。 AgentCore 管理此资源的整个生命周期：它对具有匹配的 VPC 和子网配置的目标重复使用相同的资源网关，并在任何目标不再使用该资源时将其删除。

## 选项 2： Self-managed 莱迪思资源
<a name="lattice-vpc-egress-self-managed-lattice"></a>

使用自我管理的莱迪思，您可以自己创建和管理VPC Lattice资源网关和资源配置，然后向提供资源配置标识符。 AgentCore如果您已经配置了VPC Lattice资源，需要在多个服务之间共享资源配置，或者需要控制莱迪思的资源生命周期，请使用此选项。

### 先决条件
<a name="lattice-vpc-egress-self-managed-lattice-prereqs"></a>

在使用自行管理的私有终端节点创建网关目标之前，请完成以下步骤：
+ 您的私有资源（MCP 服务器或 REST API）正在运行，并且可以在您的 VPC 中进行访问。
+ 您的 VPC 中至少有一个可通过网络访问私有资源的子网。
+ 您的安全组允许您的私有资源使用的端口（HTTPS 通常为端口 443）上的入站流量。
+ 如果您的私有资源使用私有证书颁发机构颁发的 TLS 证书，则可以在其前面放置一个带有公共 ACM 证书的内部 Application Load Balancer。有关更多信息，请参阅[私有证书的解决方法：ALB](#lattice-vpc-egress-private-certs)。

 **设置 VPC 莱迪思资源以实现自我管理连接** 

1.  使用 VPC 莱迪思控制台或 `CreateResourceGateway` API 在您的 VPC 中@@ **创建资源网关**。将其与有权访问您的私有资源的子网和安全组相关联。

   ```
   aws vpc-lattice create-resource-gateway \
     --name my-resource-gateway \
     --vpc-identifier vpc-0abc123def456 \
     --subnet-ids subnet-0abc123 subnet-0def456 \
     --security-group-ids sg-0abc123def \
     --ip-address-type IPV4
   ```

1.  **创建指向您的私有终端节点的资源配置**。使用您在上一步中创建的资源网关的 ARN。

   ```
   aws vpc-lattice create-resource-configuration \
     --name my-resource-config \
     --type SINGLE \
     --resource-gateway-identifier <resource-gateway-arn> \
     --resource-configuration-definition '{"dnsResource": {"domain": "my-service.internal.example.com", "ipAddressType": "IPV4"}}' \
     --port-ranges 443
   ```

1.  **如果资源属于与 AgentCore 所有者账户不同的账户**，请使用 Amazon RAM 与 AgentCore 所有者账户共享资源配置：

   ```
   aws ram create-resource-share \
     --name my-resource-config-share \
     --resource-arns <resource-configuration-arn> \
     --principals <gateway-owner-account-id>
   ```

   创建目标之前， AgentCore 所有者账户必须接受资源共享。

1. 记下资源配置 ARN 或 ID。您将在创建网关目标`resourceConfigurationIdentifier`时提供此信息。

您的 IAM 委托人还需要以下权限 AgentCore 才能代表您将资源配置与 AgentCore 服务网络关联起来：

```
{
"Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vpc-lattice:GetResourceConfiguration",
        "vpc-lattice:CreateServiceNetworkResourceAssociation",
        "vpc-lattice:GetServiceNetworkResourceAssociation",
        "vpc-lattice:ListServiceNetworkResourceAssociations",
        "vpc-lattice:AssociateViaAWSService"
      ],
      "Resource": "*"
    }
  ]
}
```

### 使用自行管理的私有终端节点创建目标
<a name="lattice-vpc-egress-self-managed-lattice-create"></a>

要使用自行管理的私有终端节点创建资源，请在创建请求中包含该`privateEndpoint.selfManagedLatticeResource`块：

```
{
  ...
  "privateEndpoint": {
    "selfManagedLatticeResource": {
      "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123"
    }
  },
  ...
}
```

`resourceConfigurationIdentifier`可以是 ARN 或 VPC 莱迪思资源配置的 ID。 AgentCore 使用您的凭证（通过[转发访问会话](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_forward_access_sessions.html)）将资源配置与 AgentCore 服务网络相关联。

资源创建完成后，Get API 响应会在`privateEndpointManagedResources`字段`resourceAssociationArn`中包含。如果您创建多个指向相同资源配置的资源，则 AgentCore 会自动重复使用现有的服务网络资源关联。

### Cross-account 私有资源
<a name="lattice-vpc-egress-cross-account"></a>

您可以 AgentCore 连接到与拥有网关的 Amazon 账户不同的账户中的私有资源。对于管理集中式网关而各个服务团队拥有私有资源的平台团队来说，这是一种常见的模式。

资源所有者账户必须使用 Amazon RAM 与网关所有者账户共享 VPC Lattice 资源配置。然后，网关所有者账户在创建网关目标时提供共享资源配置标识符。

以下步骤总结了跨账户设置：

 **设置跨账户私有连接** 

1.  **在资源所有者账户**中：按照[先决条件](#lattice-vpc-egress-self-managed-lattice-prereqs)中所述创建 VPC Lattice 资源网关和资源配置。

1.  **在资源所有者账户**中：使用 Amazon RAM 与网关所有者账户共享资源配置：

   ```
   aws ram create-resource-share \
     --name my-resource-config-share \
     --resource-arns <resource-configuration-arn> \
     --principals <gateway-owner-account-id>
   ```

1.  **在网关所有者账户**中：接受资源共享：

   ```
   aws ram accept-resource-share-invitation \
     --resource-share-invitation-arn <invitation-arn>
   ```

1.  **在网关所有者账户**中：使用共享资源配置标识符创建网关目标，如使用[自行管理的私有终端节点创建目标](#lattice-vpc-egress-self-managed-lattice-create)中所述。

## 通过中间域路由流量
<a name="lattice-vpc-egress-routing-domain"></a>

您可以使用该`routingDomain`字段通过中间组件（例如 VPC 终端节点、内部 Application Load Balancer 或 Network Load Balancer）路由流量，而不是直接路由到目标域。当您想将多个私有资源整合到单个入口点后面时（例如，通过单个 VPC 终端节点路由多个私有 API 网关以减少资源配置数量和相关成本），这非常有用。

使用路由域时，您为目标指定的域（在 MCP 端点网址或 OpenAPI 服务器网址中）应是资源的实际 DNS 名称。`routingDomain`是一个单独的域， AgentCore 用于设置 VPC Lattice 资源配置。在调用时， AgentCore 通过路由域路由流量，但使用实际目标域作为 TLS SNI 主机名发送请求，这样您的资源就会收到发往其实际域的请求。

路由域可以是路由到 VPC 内私有资源的任何域。常见选项包括：
+  **私有 API Gateway 的 VPC 终端节点 (VPCE) 域** ——例如，使用 VPCE DNS 名称作为。`routingDomain` `<vpce-id>.execute-api.us-east-1.vpce.amazonaws.com`例如，将 OpenAPI 规范中的目标网址设置为私有 API Gateway 主机名。`https://<api-id>.execute-api.us-east-1.amazonaws.com` AgentCore 通过 VPCE 域路由流量，但使用私有 API 主机名作为 TLS SNI 发送请求，从而确保在您的 VPC 内正确路由。
+  **内部 Application Load Balancer (ALB)**-例如`routingDomain`，使用内部 ALB DNS 名称作为。`internal-<alb-name>-<id>.us-west-2.elb.amazonaws.com`将目标 URL 设置为 ALB 后面的资源的 DNS 名称。
+  **内部网络负载均衡器 (NLB)**-例如，使用内部 NLB DNS 名称作为。`routingDomain` `internal-<nlb-name>-<id>.elb.us-west-2.amazonaws.com`将目标 URL 设置为 NLB 后面的资源的 DNS 名称。

以下步骤描述了使用路由域时的流量：

1. AgentCore 解析 VPC Lattice-generated DNS 名称以到达资源网关。

1. 流量通过资源网关进入您的 VPC，地址为路由域。

1. 路由域（VPCE 或 ALB）将请求转发到您的私有资源。TLS SNI 标头包含实际的目标域，因此您的资源会收到具有正确主机名的请求。

### 示例：带有 VPCE 路由域的私有 API Gateway
<a name="lattice-vpc-egress-routing-domain-setup"></a>

以下示例说明如何使用私有 API Gateway 的 VPCE 域作为路由域为私有 API 网关创建网关目标。目标 URL 是私有 API Gateway 主机名，`routingDomain`是 VPCE DNS 名称：

```
{
  "name": "my-private-apigw-target",
  "privateEndpoint": {
    "managedVpcResource": {
      "vpcIdentifier": "vpc-0123456789abcdef0",
      "subnetIds": ["subnet-0123456789abcdef0", "subnet-0abcdef1234567890"],
      "endpointIpAddressType": "IPV4",
      "routingDomain": "<vpce-id>.execute-api.us-east-1.vpce.amazonaws.com"
    }
  },
  "targetConfiguration": {
    "mcp": {
      "openApiSchema": {
        "inlinePayload": "<OpenAPI spec JSON with server URL matching the public certificate domain, for example https://<api-id>.execute-api.<region>.amazonaws.com>"
      }
    }
  }
}
```

**注意**  
该`routingDomain`字段仅适用于该`managedVpcResource`选项。对于自我管理的莱迪思，请在创建路由域时直接在资源配置中对其进行配置。

## 私有证书的解决方法：ALB
<a name="lattice-vpc-egress-private-certs"></a>

**Gateway 现在直接支持私有证书颁发机构**  
AgentCore Gateway 现在可以直接信任私有证书颁发机构，而无需使用 ALB。对于大多数目标，请改用这种方法。有关更多信息，请参阅 [Connect 到使用私有证书颁发机构的目标](gateway-vpc-egress.md#gateway-private-certificate)。

VPC 出口要求您的目标终端节点具有公开信任的 TLS 证书。如果您的私有资源使用私有证书颁发机构 (CA) 颁发的证书，则建议的解决方法是在资源前面放置一个内部 Application Load Balancer (ALB)。

以下步骤描述了流量：

1. 将目标 URL 设置为与您的公共 ACM 证书相匹配的域名（例如，`https://my-server.my-company.com`）。

1. 将设置`routingDomain`为内部 ALB DNS 名称（例如`internal-my-alb-1234567890.us-west-2.elb.amazonaws.com`）。

1. VPC Lattice 通过路由域将流量路由到 ALB。TLS SNI 设置为`my-server.my-company.com`，这与 ALB 的公共 ACM 证书相匹配，因此 TLS 握手成功。

1. ALB 终止 TLS 并应用主机标头转换将主机标头从重写`my-server.my-company.com`到私有资源的域（例如）。`my-server.my-company.internal`

1. ALB 使用私有证书通过 HTTPS 将请求转发到您的后端资源。所有流量都保留在您的 VPC 内。

 **步骤 1：申请公共 ACM 证书** 

向 ACM 申请您拥有的域的公共证书。此域名将用作目标 URL。有关说明，请参阅《Cer [tificate Manager 用户指南》中的申请公共 Amazon 证书](https://docs.amazonaws.cn/acm/latest/userguide/gs-acm-request-public.html)。

 **步骤 2：创建内部 ALB** 

在与您的私有资源相同的 VPC 中创建内部 Application Load Balancer。有关说明，请参阅 Elast [ic Load Balancing 用户指南中的创建应用程序](https://docs.amazonaws.cn/elasticloadbalancing/latest/application/create-application-load-balancer.html)负载均衡器。确保将方案设置为`internal`。

 **步骤 3：创建 IP-based 目标组** 

在端口 443 (HTTPS) 上创建目标类型`ip`指向私有资源的 IP 地址的目标组，并将您的私有资源注册为目标。有关说明，请参阅《El [astic Load Balancing 用户指南》中的创建目标组](https://docs.amazonaws.cn/elasticloadbalancing/latest/application/create-target-group.html)。

 **步骤 4：使用主机标头转换创建 HTTPS 侦听器** 

使用公共 ACM 证书在端口 443 上创建 HTTPS 侦听器。添加侦听器规则，在转发之前将主机标头从公共域转换为私有资源的域。

```
aws elbv2 create-listener \
  --load-balancer-arn <alb-arn> \
  --protocol HTTPS \
  --port 443 \
  --certificates CertificateArn=<acm-certificate-arn> \
  --default-actions '[{
    "Type": "forward",
    "TargetGroupArn": "<target-group-arn>",
    "ForwardConfig": {
      "TargetGroups": [{"TargetGroupArn": "<target-group-arn>", "Weight": 1}]
    }
  }]'
```

然后修改监听器规则以添加主机标头转换：

```
aws elbv2 modify-rule \
  --rule-arn <default-rule-arn> \
  --actions '[{
    "Type": "forward",
    "TargetGroupArn": "<target-group-arn>",
    "ForwardConfig": {
      "TargetGroups": [{"TargetGroupArn": "<target-group-arn>", "Weight": 1}]
    }
  }]' \
  --transforms '[{
    "Type": "host-header",
    "HostHeaderConfig": {
      "Values": ["my-server.my-company.internal"]
    }
  }]'
```

 **步骤 5：配置私有终端节点** 

使用 ALB DNS 名称作为目标 UR `routingDomain` L，使用公共证书域作为目标 URL。

```
{
  ...
  "privateEndpoint": {
    "managedVpcResource": {
      "vpcIdentifier": "<vpc-id>",
      "subnetIds": ["<subnet-id-1>", "<subnet-id-2>"],
      "endpointIpAddressType": "IPV4",
      "routingDomain": "internal-my-alb-1234567890.us-west-2.elb.amazonaws.com"
    }
  },
  ...
}
```

目标配置中的目标 URL 应使用`https://my-server.my-company.com`（公共证书域），而不是私有域。

## Service-linked VPC 出口的角色
<a name="lattice-vpc-egress-slr"></a>

当您使用托管私有终端节点 (`managedVpcResource`) 创建网关目标时， AgentCore 使用`AWSServiceRoleForBedrockAgentCoreGatewayNetwork`服务相关角色在您的账户中创建和管理 VPC Lattice 资源网关。如果您的 IAM 委托人具有所需的`iam:CreateServiceLinkedRole`权限，则在您首次创建托管私有终端节点目标时会自动创建此角色。

服务相关角色具有以下关键特征：
+ 它只能创建和删除带有`BedrockAgentCoreGatewayManaged: true`标签的 VPC Lattice 资源网关。它无法修改您自己创建和管理的资源网关。
+ AgentCore 对于共享相同 VPC、子网、安全组和 IP 地址类型配置的目标，重复使用相同的托管资源网关。只有当没有网关目标在使用资源网关时，才会将其删除。
+ 托管莱迪思的资源配置是在 AgentCore 服务账号中创建的，而不是在您的账户中创建的。您不会在VPC Lattice控制台中看到它们。

有关创建、编辑和删除此角色的完整策略文档和说明，请参阅 [Gateway 服务相关角色](service-linked-roles.md#gateway-service-linked-role)。

## 目标状态和故障排除
<a name="lattice-vpc-egress-target-status"></a>

使用私有终端节点创建资源后，该资源将在 AgentCore 设置 VPC Lattice 资源并建立服务网络关联时进入`CREATING`状态。您可以通过调用相关的 Get API（例如`GetGatewayTarget`）并检查`status`和`statusReasons`字段来监控状态。

下表描述了常见状态值及其含义：


| Status | 说明 | 
| --- | --- | 
|  `CREATING`  | AgentCore 正在设置 VPC 莱迪思资源并建立服务网络关联。这最多可能需要几分钟。 | 
|  `READY`  | 私有端点已配置完毕，目标已准备好接收请求。 | 
|  `FAILED`  | 目标创建失败。有关详细信息，请查看该`statusReasons`字段。常见原因包括 IAM 权限缺失或资源配置标识符无效。 | 

下表描述了常见问题及其解决方案：


| 问题 | 解决方案 | 
| --- | --- | 
| 目标创建失败，出现 IAM 权限错误 | 确保您的 IAM 委托人拥有以下`iam:CreateServiceLinkedRole`权限`bedrock-agentcore.amazonaws.com`。[对于自我管理的莱迪思，请确保您拥有必需的VPC Lattice权限，请参见先决条件。](#lattice-vpc-egress-self-managed-lattice-prereqs) | 
| 创建目标后，工具调用失败并出现连接错误 | 验证与资源网关关联的安全组是否允许您的私有资源使用的端口上的入站流量。还要验证私有资源是否正在运行并且可以从指定的子网访问。 | 
| 工具调用失败并出现 TLS 错误 | 如果您的私有资源使用私有 CA 颁发的证书，请确保证书的使用者备用名称 (SAN) 与 MCP 端点或 OpenAPI 服务器 URL 中的域相匹配。如果使用路由域，请确保路由域正确地将 TLS 转发到您的私有资源。 | 
| 未找到资源配置（自行管理） | 对于跨账户方案，在创建目标之前，请确保网关所有者账户中已接受 Amazon RAM 资源共享。 | 

## 限制和注意事项
<a name="lattice-vpc-egress-limitations"></a>

使用 VPC 出口进行以下操作时，请注意以下限制： AgentCore
+  **Cross-account**： Cross-account 私有连接需要自我管理的莱迪思资源选项。托管 VPC 资源不支持跨账户方案。
+  **DNS TTL 配置**：VPC 莱迪思使用 IP-based 路由。确保正确配置资源配置域的 DNS TTL，这样滚动部署期间的 IP 地址更改就不会导致连接中断。