

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

Amazon Bedrock AgentCore 支援私有連線至 AWS VPC 內部託管的資源，或連接至 VPC 的內部部署環境，例如私有 MCP 伺服器、內部 REST APIs 或資料庫，而無需將這些服務公開至公有網際網路。

使用 [Amazon VPC Lattice](https://docs.aws.amazon.com/vpc-lattice/latest/ug/what-is-vpc-lattice.html) 資源閘道和資源組態建立私有連線。如需兩種支援模式 （受管和自我管理 Lattice) 的詳細資訊，請參閱[支援的 VPC 輸出模式](#lattice-vpc-egress-compare-modes)。

**Topics**
+ [重要概念](#lattice-vpc-egress-concepts)
+ [支援的 Amazon Bedrock AgentCore 服務](#lattice-vpc-egress-supported-services)
+ [支援的 VPC 輸出模式](#lattice-vpc-egress-compare-modes)
+ [選項 1：受管 VPC 資源](#lattice-vpc-egress-managed-lattice)
+ [選項 2：自我管理的 Lattice 資源](#lattice-vpc-egress-self-managed-lattice)
+ [透過中繼網域路由流量](#lattice-vpc-egress-routing-domain)
+ [私有憑證的解決方法：ALB](#lattice-vpc-egress-private-certs)
+ [VPC 輸出的服務連結角色](#lattice-vpc-egress-slr)
+ [目標狀態和故障診斷](#lattice-vpc-egress-target-status)
+ [限制及考量](#lattice-vpc-egress-limitations)

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

 **資源閘道**   
Amazon VPC Lattice 資源閘道是傳入 VPC 的點。它與您 VPC 中的一或多個子網路和安全群組相關聯，並做為來自 AgentCore 流量的網路進入點。當您使用受管 Lattice 時，AgentCore 會代表您建立和管理此資源。

 **資源組態**   
資源組態代表 VPC 中的特定私有端點 - IP 地址或 DNS 名稱。它連接到資源閘道，並定義 AgentCore 可以連接哪些資源。當您使用受管 Lattice 時，AgentCore 會代表您在 AgentCore 服務帳戶中建立此資源。

 **服務網路資源關聯**   
服務網路資源關聯會將資源組態連線至 AgentCore 服務網路，讓 AgentCore 服務能夠叫用您的私有端點。AgentCore 一律會代表您建立和管理此關聯，無論您是使用受管還是自我管理的 Lattice。

 **路由網域**   
選用欄位，指定 AgentCore 用作資源組態網域而非實際目標網域的中繼網域。當您想要透過 VPC 端點或內部負載平衡器等中繼元件路由流量時，此功能非常有用，例如，將多個私有 API Gateway 整合在單一 VPC 端點後方，以減少資源組態的數量和相關聯的成本。AgentCore 服務會繼續使用 SNI 覆寫叫用實際的目標網域。如需詳細資訊，請參閱[透過中繼網域路由流量](#lattice-vpc-egress-routing-domain)。

## 支援的 Amazon Bedrock AgentCore 服務
<a name="lattice-vpc-egress-supported-services"></a>

下列 Amazon Bedrock AgentCore 服務支援 VPC Lattice 輸出：

 **AgentCore 閘道**   
AgentCore Gateway 支援 MCP 伺服器和 OpenAPI 目標類型的私有端點。如需為每個目標類型設定 VPC 輸出的詳細資訊，請參閱[設定閘道目標的 Amazon Bedrock AgentCore Gateway VPC 輸出](gateway-vpc-egress.md)。

 **AgentCore Identity**   
AgentCore Identity 支援私有端點，以連線至傳入 JWT 授權和傳出 OAuth 憑證提供者的 VPC 託管 OAuth 2.0 身分提供者。如需詳細資訊，請參閱[連線至私有身分提供者](identity-private-idp.md)。

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

Amazon Bedrock AgentCore 支援兩種模式來設定 VPC Lattice 連線：
+  **受管 VPC 資源** — Amazon Bedrock AgentCore 會代表您建立和管理 VPC Lattice 資源閘道和資源組態。您可以提供 VPC、子網路和選用的安全群組。這是帳戶內 VPC 連線更簡單的方法，可插入現有的網路架構，例如hub-and-spoke。
**注意**  
您不需要 VPC Lattice IAM 許可、SCP 變更或其他核准程序，即可使用此選項。Amazon Bedrock AgentCore 會代表您管理所有 VPC Lattice 資源。
+  **自我管理的 Lattice 資源** — 您可以自行建立和管理 VPC Lattice 資源閘道和資源組態。此方法提供增強的控管和可見性：您可以確切查看哪些服務連接到哪些網域、誰可以存取，以及在精細程度上撤銷連線。它也可以透過 RAM AWS 啟用直接跨帳戶連線，而不需要 VPC 對等互連或傳輸閘道。

下表摘要說明主要差異：


| 維度 | 受管 VPC 資源 | 自我管理的 Lattice 資源 | 
| --- | --- | --- | 
| 其他服務相依性 | 不需要 VPC Lattice 加入或允許清單。Amazon Bedrock AgentCore 在內部使用 VPC Lattice 作為實作詳細資訊。您不需要 VPC Lattice IAM 政策、SCP 變更或其他核准程序。您只需要標準 Amazon EC2 許可和建立服務連結角色的能力。 | 是。您可以直接建立和管理 VPC Lattice 資源，這需要 VPC Lattice IAM 許可 （例如 `vpc-lattice:CreateResourceGateway`、 `vpc-lattice:CreateResourceConfiguration`和 `vpc-lattice:CreateServiceNetworkResourceAssociation`)。如果您的組織限制 VPC Lattice 存取，您可能需要更新 SCPs 或請求核准。 | 
| 控管和可見性 | 您帳戶中唯一的資源是資源閘道，它實際上是 VPC 中的網路界面 (ENI)。這是完全由 Amazon Bedrock AgentCore 管理的唯讀資源，您無法修改、設定或與之互動。 | 資源閘道、資源組態、服務網路關聯和連線網域的完整可見性。您擁有和管理所有資源，並且可以在精細層級稽核連線和撤銷存取權。 | 
| 複雜性 | 簡單 — 提供 VPC、子網路和安全群組。Amazon Bedrock AgentCore 會管理其餘項目。 | 進階：您可以自行建立和管理 VPC Lattice 資源閘道和資源組態。 | 
| 跨帳戶連線 | 不支援。與現有網路架構搭配使用，例如跨帳戶或跨 VPC 案例的hub-and-spoke (VPC 對等互連或 AWS Transit Gateway)。 | 透過 RAM AWS 支援。啟用直接跨帳戶連線，而不需要 VPC 對等互連或 Transit Gateway。 | 
| VPC Lattice 定價 | 僅收取資料處理費用 （透過資源閘道處理的每 GB)。 | 新增至服務網路的每個 VPC 資源的每小時費用，加上資料處理費用 （每 GB)。 | 
| 資源生命週期 | Amazon Bedrock AgentCore 會代表您建立、重複使用和刪除資源閘道。 | 您擁有資源閘道和資源組態的完整生命週期。 | 
| IP 使用量和輸送量 | 每個受管資源閘道每個子網路使用 1 個 IP 地址。這無法設定。 | 與 Amazon Bedrock AgentCore 搭配使用時， 會耗用每個子網路 1 個 IP 地址。如果 也連接到其他 VPC Lattice 服務網路， 會根據資源閘道上的 `ipv4AddressesPerEni`值，使用其他 IPs。連接埠範圍和 IP 地址的組合會決定該服務網路資源關聯的並行連線數目上限。請注意，連線結束後會有 350 秒的連接埠冷卻時間，才能重複使用該連接埠。 | 

如需 VPC Lattice 定價詳細資訊，請參閱 [Amazon VPC Lattice 定價](https://aws.amazon.com/vpc/lattice/pricing/)。

## 選項 1：受管 VPC 資源
<a name="lattice-vpc-egress-managed-lattice"></a>

透過受管 VPC 資源，您可以提供 VPC、子網路和選用的安全群組資訊。AgentCore 會代表您處理 VPC Lattice 資源閘道和資源組態的建立和生命週期管理。受管資源閘道是 VPC 中 ENIs的包裝函式。您無法修改、設定或與之互動。AgentCore 擁有其完整生命週期，包括建立、重複使用和刪除。

**注意**  
您不需要 VPC Lattice IAM 許可、SCP 變更或其他核准程序，即可使用受管 VPC 資源，因為 Amazon Bedrock AgentCore 會使用 Lattice 做為內部相依性，而且任何 Lattice 資源閘道對客戶來說都是唯讀的。

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 主體具有 `bedrock-agentcore.amazonaws.com` 的 `iam:CreateServiceLinkedRole` 許可，因此如果服務連結角色尚未存在，AgentCore 可以代表您建立該角色。如需必要的 IAM 政策，請參閱[閘道服務連結角色](service-linked-roles.md#gateway-service-linked-role)。
+ 您的 IAM 主體具有下列 Amazon EC2 許可，AgentCore 需要這些許可才能在您的 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 中將放置資源閘道的子網路 IDs 清單。

 `endpointIpAddressType` (必要)  
資源組態的 IP 地址類型。有效值為 `IPV4` 和 `IPV6`。

 `securityGroupIds` (選用)  
要與資源閘道建立關聯的安全群組 IDs 清單。如果未提供，則會使用 VPC 的預設安全群組。

 `routingDomain` (選用)  
用作資源組態端點而非實際目標網域的中繼網域。當您想要透過 VPC 端點或內部負載平衡器等中繼元件路由流量時，請使用此選項。如需詳細資訊，請參閱[透過中繼網域路由流量](#lattice-vpc-egress-routing-domain)。

 `tags` (選用)  
要套用至受管 VPC Lattice 資源閘道的標籤。標籤索引鍵`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 Lattice 資源閘道的 ARN。AgentCore 會管理此資源的完整生命週期：它會針對具有相符 VPC 和子網路組態的目標重複使用相同的資源閘道，並在不再由任何目標使用時將其刪除。

## 選項 2：自我管理的 Lattice 資源
<a name="lattice-vpc-egress-self-managed-lattice"></a>

使用自我管理的 Lattice，您可以自行建立和管理 VPC Lattice 資源閘道和資源組態，然後將資源組態識別符提供給 AgentCore。如果您已設定 VPC Lattice 資源、需要跨多個服務共用資源組態，或需要控制 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 Lattice 資源** 

1.  使用 VPC Lattice 主控台或 `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 擁有者帳戶不同的帳戶中**，請使用 RAM 與 AgentCore AWS 擁有者帳戶共用資源組態： 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 Lattice 資源組態的 ID。AgentCore 使用您的登入資料 （透過[轉送存取工作階段](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) )，將資源組態與 AgentCore 服務網路建立關聯。

建立資源後，取得 API 回應會在 `privateEndpointManagedResources` `resourceAssociationArn`欄位中包含 。如果您建立指向相同資源組態的多個資源，AgentCore 會自動重複使用現有的服務網路資源關聯。

### 跨帳戶私有資源
<a name="lattice-vpc-egress-cross-account"></a>

您可以將 AgentCore 連線到與擁有閘道的帳戶不同的 AWS 帳戶中的私有資源。這是平台團隊管理集中式閘道的常見模式，而個別服務團隊擁有私有資源。

資源擁有者帳戶必須使用 AWS RAM 與閘道擁有者帳戶共用 VPC Lattice 資源組態。閘道擁有者帳戶接著會在建立閘道目標時提供共用資源組態識別符。

下列步驟摘要說明跨帳戶設定：

 **設定跨帳戶私有連線** 

1.  **在資源擁有者帳戶中** ：建立 VPC Lattice 資源閘道和資源組態，如[先決條件](#lattice-vpc-egress-self-managed-lattice-prereqs)中所述。

1.  **在資源擁有者帳戶** 中：使用 RAM AWS 與閘道擁有者帳戶共用資源組態：

   ```
   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 Gateway，以減少資源組態的數量和相關聯的成本）。

使用路由網域時，您為目標指定的網域 （在 MCP 端點 URL 或 OpenAPI 伺服器 URL 中） 應該是資源的實際 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 規格中的目標 URL 設定為私有 API Gateway 主機名稱，例如 `https://<api-id>.execute-api.us-east-1.amazonaws.com` 。AgentCore 透過 VPCE 網域路由流量，但以私有 API 主機名稱做為 TLS SNI 傳送請求，以確保 VPC 內的路由正確。
+  **內部 Application Load Balancer (ALB)** - 使用內部 ALB DNS 名稱做為 `routingDomain` ，例如 `internal-<alb-name>-<id>.us-west-2.elb.amazonaws.com` 。將目標 URL 設定為 ALB 後方資源的 DNS 名稱。
+  **內部網路Load Balancer (NLB)** - 使用內部 NLB DNS 名稱做為 `routingDomain` ，例如 `internal-<nlb-name>-<id>.elb.us-west-2.amazonaws.com` 。將目標 URL 設定為 NLB 後方資源的 DNS 名稱。

下列步驟說明使用路由網域時的流量流程：

1. AgentCore 會解析 VPC Lattice 產生的 DNS 名稱，以到達資源閘道。

1. 流量會透過指向路由網域的資源閘道輸入您的 VPC。

1. 路由網域 (VPCE 或 ALB) 會將請求轉送到您的私有資源。TLS SNI 標頭包含實際的目標網域，因此您的資源會收到具有正確主機名稱的請求。

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

下列範例說明如何使用私有 API Gateway 的 VPCE 網域做為路由網域來建立閘道目標。目標 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`選項。對於自我管理的 Lattice，請在建立路由網域時直接在資源組態中設定路由網域。

## 私有憑證的解決方法：ALB
<a name="lattice-vpc-egress-private-certs"></a>

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。如需說明，請參閱 AWS Certificate Manager 使用者指南中的[請求公有憑證](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html)。

 **步驟 2：建立內部 ALB** 

在與私有資源相同的 VPC 中建立內部 Application Load Balancer。如需說明，請參閱 Elastic Load Balancing [ Load Balancing 使用者指南中的建立 Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)。請確定您將配置設定為 `internal`。

 **步驟 3：建立以 IP 為基礎的目標群組** 

建立目標群組，其目標類型`ip`指向連接埠 443 (HTTPS) 上的私有資源 IP 地址，並將私有資源註冊為目標。如需說明，請參閱 Elastic Load Balancing 使用者指南中的[建立目標群組](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 名稱做為 `routingDomain`，並使用公有憑證網域做為目標 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`（公有憑證網域），而非私有網域。

## VPC 輸出的服務連結角色
<a name="lattice-vpc-egress-slr"></a>

當您使用受管私有端點 () `managedVpcResource` 建立閘道目標時，AgentCore 會使用`AWSServiceRoleForBedrockAgentCoreGatewayNetwork`服務連結角色來建立和管理您帳戶中的 VPC Lattice 資源閘道。此角色會在您第一次建立受管私有端點目標時自動建立，前提是您的 IAM 主體具有必要的`iam:CreateServiceLinkedRole`許可。

服務連結角色具有下列關鍵特性：
+ 它只能建立和刪除以 `BedrockAgentCoreGatewayManaged: true` 標記的 VPC Lattice 資源閘道。它無法修改您自行建立和管理的資源閘道。
+ AgentCore 會針對共用相同 VPC、子網路、安全群組和 IP 地址類型組態的目標，重複使用相同的受管資源閘道。只有在沒有閘道目標正在使用時，才會刪除資源閘道。
+ 受管 Lattice 的資源組態是在 AgentCore 服務帳戶中建立，而不是在您的帳戶中。您不會在 VPC Lattice 主控台中看到它們。

如需建立、編輯和刪除此角色的完整政策文件和說明，請參閱[閘道服務連結角色](service-linked-roles.md#gateway-service-linked-role)。

## 目標狀態和故障診斷
<a name="lattice-vpc-egress-target-status"></a>

使用私有端點建立資源之後，資源會經歷 `CREATING` 狀態，而 AgentCore 會設定 VPC Lattice 資源並建立服務網路關聯。您可以透過呼叫相關的 Get API （例如，) `GetGatewayTarget` 並檢查 `status` 和 `statusReasons` 欄位來監控狀態。

下表說明常見的狀態值及其意義：


| 狀態 | 說明 | 
| --- | --- | 
|  `CREATING`  | AgentCore 正在設定 VPC Lattice 資源並建立服務網路關聯。這可能需要幾分鐘的時間。 | 
|  `READY`  | 已設定私有端點，且目標已準備好接收請求。 | 
|  `FAILED`  | 目標建立失敗。如需詳細資訊，請檢查 `statusReasons` 欄位。常見原因包括缺少 IAM 許可或資源組態識別符無效。 | 

下表說明常見問題及其解決方案：


| 問題 | 解決方案 | 
| --- | --- | 
| 目標建立失敗，並出現 IAM 許可錯誤 | 確保您的 IAM 主體具有 `bedrock-agentcore.amazonaws.com` 的 `iam:CreateServiceLinkedRole`許可。對於自我管理的 Lattice，請確保您擁有[先決條件](#lattice-vpc-egress-self-managed-lattice-prereqs)中列出的必要 VPC Lattice 許可。 | 
| 工具調用在建立目標後失敗並出現連線錯誤 | 確認與資源閘道相關聯的安全群組允許私有資源所使用連接埠上的傳入流量。同時驗證私有資源是否正在執行，並從指定的子網路存取。 | 
| 工具調用失敗並出現 TLS 錯誤 | 如果您的私有資源使用私有 CA 發行的憑證，請確定憑證的主體別名 (SAN) 符合您 MCP 端點或 OpenAPI 伺服器 URL 中的網域。如果使用路由網域，請確保路由網域正確地將 TLS 轉送到您的私有資源。 | 
| 找不到資源組態 （自我管理） | 對於跨帳戶案例，請確定閘道擁有者帳戶中已接受 AWS RAM 資源共用，然後再建立目標。 | 

## 限制及考量
<a name="lattice-vpc-egress-limitations"></a>

使用適用於 AgentCore 的 VPC 輸出時，請注意下列限制：
+  **跨帳戶** ：跨帳戶私有連線需要自我管理的 Lattice 資源選項。受管 VPC 資源不支援跨帳戶案例。
+  **DNS TTL 組態** ：VPC Lattice 使用 IP 型路由。確保資源組態網域TTLs 設定正確，以便在滾動部署期間變更 IP 地址不會造成連線中斷。