

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

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

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

私有连接是使用[亚马逊 VPC 莱迪思](https://docs.aws.amazon.com/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>

 **资源网关 **   
亚马逊 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>

以下亚马逊 Bedrock AgentCore 服务支持使用 VPC Lattice 进行 VPC 出口：

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

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

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

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

下表总结了主要区别：


| 维度 | 托管的 VPC 资源 | Self-managed 格子资源 | 
| --- | --- | --- | 
| 额外的服务依赖关系 | 无需加入VPC Lattice或加入许可名单。亚马逊基岩内部使用VPC Lattice AgentCore 作为实施细节。您不需要 VPC Lattice IAM 政策、SCP 变更或其他批准流程。您只需要标准的 Amazon EC2 权限和创建服务相关角色的能力。 | 是。您可以直接创建和管理 VPC 莱迪思资源，这需要 VPC 莱迪思的 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 对等互连或 AWS 传输网关）一起使用，用于跨账户或跨 VPC 方案。 | 通过 AWS RAM 支持。无需使用 VPC 对等互连或传输网关即可实现直接跨账户连接。 | 
| VPC 莱迪思定价 | 仅收取数据处理费用（通过资源网关处理的每 GB）。 | 每个 VPC 资源添加到服务网络的小时费用，外加数据处理费用（每 GB）。 | 
| 资源生命周期 | Amazon Bedrock 代表您 AgentCore 创建、重复使用和删除资源网关。 | 您拥有资源网关和资源配置的整个生命周期。 | 
| IP 消耗和吞吐量 | 每个托管资源网关每个子网消耗 1 个 IP 地址。这是不可配置的。 | 与亚马逊 Bedrock 一起使用时 AgentCore，每个子网消耗 1 个 IP 地址。如果还连接到其他 VPC Lattice 服务网络，则会根据资源网关上的`ipv4AddressesPerEni`值消耗更多 IP。端口范围和 IP 地址的组合决定了该服务网络资源关联的最大并发连接数。请注意，连接结束后有 350 秒的端口冷却期，然后才能重复使用该端口。 | 

有关 VPC 莱迪思定价的详细信息，请参阅[亚马逊 VPC 莱迪思定价。](https://aws.amazon.com/vpc/lattice/pricing/)

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

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

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

AgentCore 使用`AWSServiceRoleForBedrockAgentCoreGatewayNetwork`服务相关角色在您的账户中创建和管理 VPC Lattice 资源网关。此角色是在您首次使用托管私有终端节点创建网关目标时自动创建的。有关此角色的更多信息，请参阅[网关服务相关角色](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 莱迪思资源网关所必需的：
  +  `ec2:CreateNetworkInterface` 
  +  `ec2:DescribeVpcs` 
  +  `ec2:DescribeSecurityGroups` 
  +  `ec2:DescribeSubnets` 
+ 如果您的私有资源使用私有证书颁发机构颁发的 TLS 证书，则可以在其前面放置一个带有公有 ACM 证书的内部应用程序负载均衡器。有关更多信息，请参阅私有证书的[解决方法：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 证书的内部应用程序负载均衡器。有关更多信息，请参阅私有证书的[解决方法：ALB ](#lattice-vpc-egress-private-certs)。

 **为自我管理的连接设置 VPC Lattice 资源 ** 

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 所有者账户位于**不同的账户中，请使用 AWS 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`可以是 VPC 莱迪思资源配置的 ARN 或 ID。 AgentCore 使用您的证书（通过[前向访问会话](https://docs.aws.amazon.com/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 与拥有网关的 AWS 账户不同的账户连接到私有资源。对于管理集中式网关而个人服务团队拥有私有资源的平台团队来说，这是一种常见的模式。

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

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

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

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

1.  **在资源所有者账户中**：使用 AWS 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 终端节点、内部应用程序负载均衡器或网络负载均衡器）路由流量，而不是直接路由到您的目标域。当您想要将多个私有资源整合到一个入口点后面（例如，通过单个 VPC 终端节点路由多个私有 API 网关以减少资源配置数量和相关成本）时，这很有用。

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

路由域可以是在 VPC 内路由到您的私有资源的任何域。常见选项包括：
+  **私有 API 网关的 VPC 终端节点 (VPCE) 域 **-例如`routingDomain`，使用 VPCE DNS 名称作为。`<vpce-id>.execute-api.us-east-1.vpce.amazonaws.com`例如`https://<api-id>.execute-api.us-east-1.amazonaws.com`，将您的 OpenAPI 规范中的目标网址设置为私有 API 网关主机名。 AgentCore 通过 VPCE 域路由流量，但使用私有 API 主机名作为 TLS SNI 发送请求，从而确保您的 VPC 内路由正确。
+  **内部应用程序负载均衡器 (ALB) **-例如，使用内部 ALB DNS 名称作为。`routingDomain` `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 网关
<a name="lattice-vpc-egress-routing-domain-setup"></a>

以下示例显示如何使用私有 API 网关的 VPCE 域作为路由域为私有 API 网关创建网关目标。目标 URL 是私有 API 网关主机名，`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>

VPC 出口要求您的目标终端节点拥有公开信任的 TLS 证书。如果您的私有资源使用私有证书颁发机构 (CA) 颁发的证书，则推荐的解决方法是在您的资源前面放置一个内部应用程序负载均衡器 (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。有关说明，请参阅《证书管理器用户指南》[中的](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)申请公共 AWS 证书。

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

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

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

在端口 443 (HTTPS) 上创建目标类型`ip`指向私有资源的 IP 地址的目标组，并将您的私有资源注册为目标。有关说明，请参阅《弹性负载平衡用户指南》[中的](https://docs.aws.amazon.com/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`权限。

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

有关创建、编辑和删除此角色的完整策略文档和说明，请参阅 [ 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 Lattice 资源并建立服务网络关联。这最多可能需要几分钟。 | 
|  `READY`  | 私有端点已配置完毕，目标已准备好接收请求。 | 
|  `FAILED`  | 目标创建失败。详情请查看该`statusReasons`字段。常见原因包括缺少 IAM 权限或资源配置标识符无效。 | 

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


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

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

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