本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用接口 VPC 终端节点 (AWS PrivateLink) 在您的 VPC 和 Amazon Bedrock 之间创建私有连接
您可以使用 AWS PrivateLink 在您的 VPC 和 Amazon Bedrock 之间创建私有连接。您可以像在您的 VPC 中一样访问 Amazon Bedrock,无需使用互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接。VPC 中的实例不需要公有 IP 地址即可访问 Amazon Bedrock。
您可以通过创建由 AWS PrivateLink提供支持的接口端点来建立此私有连接。我们将在您为接口端点启用的每个子网中创建一个端点网络接口。这些是请求者托管式网络接口,用作发往 Amazon Bedrock 的流量的入口点。
有关更多信息,请参阅AWS PrivateLink 指南 AWS PrivateLink中的AWS 服务 通过访问。
Amazon Bedrock VPC 端点注意事项
在为 Amazon Bedrock 设置接口端点之前,请查看《AWS PrivateLink 指南》中的注意事项。
Amazon Bedrock 支持通过 VPC 端点进行以下 API 调用。
| 类别 | 端点后缀 |
|---|---|
| Amazon Bedrock 控制面板 API 操作 | bedrock |
| Amazon Bedrock 运行时 API 操作 | bedrock-runtime |
| 亚马逊 Bedrock Mantle API 操作 | bedrock-mantle |
| 亚马逊 Bedrock Agents Build-time API 操作 | bedrock-agent |
| Amazon Bedrock 代理运行时 API 操作 | bedrock-agent-runtime |
可用区
Amazon Bedrock 和 Amazon Bedrock 代理端点在多个可用区可用。
为 Amazon Bedrock 创建接口端点
您可以使用亚马逊 VPC 控制台或 AWS Command Line Interface (AWS CLI) 为 Amazon Bedrock 创建接口终端节点。有关更多信息,请参阅《AWS PrivateLink 指南》中的创建接口端点。
使用以下任一服务名称为 Amazon Bedrock 创建接口端点:
-
com.amazonaws.region.bedrock -
com.amazonaws.region.bedrock-runtime -
com.amazonaws.region.bedrock-mantle -
com.amazonaws.region.bedrock-agent -
com.amazonaws.region.bedrock-agent-runtime -
com.amazonaws.region.bedrock-fips -
com.amazonaws.region.bedrock-runtime-fips
注意
FIPS 端点服务(bedrock-fips和bedrock-runtime-fips)在 us-east-1、us-east-2、us-west-2、ca-central-1、us-gov-east-1 和 us-gov-west-1 和 us-gov-west-1 中可用。
在创建端点后,您可以选择启用私有 DNS 主机名。在创建 VPC 端点时,通过在 VPC 控制台中选择启用私有 DNS 名称,可启用此设置。
如果为接口端点启用私有 DNS,则可以使用区域的默认 DNS 名称向 Amazon Bedrock 发出 API 请求。以下示例显示了默认区域 DNS 名称的格式。
-
bedrock.region.amazonaws.com -
bedrock-runtime.region.amazonaws.com -
bedrock-mantle.region.api.aws -
bedrock-agent.region.amazonaws.com -
bedrock-agent-runtime.region.amazonaws.com
为接口端点创建端点策略
端点策略是一种 IAM 资源,您可以将其附加到接口端点。默认端点策略提供通过接口端点访问 Amazon Bedrock 的完全访问权限。要控制允许从 VPC 访问 Amazon Bedrock 的访问权限,请将自定义端点策略附加到接口端点。
端点策略指定以下信息:
-
可执行操作的主体(AWS 账户、IAM 用户和 IAM 角色)。
-
可执行的操作。
-
可对其执行操作的资源。
有关更多信息,请参阅《AWS PrivateLink 指南》中的使用端点策略控制对服务的访问权限。
示例:适用于 Amazon Bedrock 操作的 VPC 端点策略
以下是自定义端点策略的示例。当将该基于资源的策略附加到接口端点时,它会向所有主体授予对所有资源执行所列 Amazon Bedrock 操作的访问权限。
示例:亚马逊 Bedrock Mantle 操作的 VPC 终端节点策略
以下是自定义端点策略的示例。当您将此基于资源的策略附加到接口终端节点时,它会向所有资源的所有委托人授予访问列出的 Amazon Bedrock Mantle 操作的权限。
{ "Version":"2012-10-17", "Statement": [ { "Principal": "*", "Effect": "Allow", "Action": [ "bedrock-mantle:CreateInference" ], "Resource":"*" } ] }
通过您的 VPC 终端节点连接到 Amazon Bedrock
创建 VPC 终端节点后,您可以通过它路由 Amazon Bedrock API 调用。如何执行此操作取决于您是否为终端节点启用了私有 DNS。
-
已启用私有 DNS-无需更改代码。来自 VPC 内部的所有 Amazon Bedrock API 调用都会使用标准服务 DNS 名称(例如
bedrock-runtime.)自动通过终端节点进行路由。region.amazonaws.com -
未启用私有 DNS-您必须在 API 调用中明确指定 VPC 终端节点 URL,如以下示例所示。
AWS CLI
使用该--endpoint-url标志通过您的 VPC 终端节点路由请求:
aws bedrock-runtime invoke-model \ --model-id anthropic.claude-sonnet-4-6-v1 \ --body '{"anthropic_version": "bedrock-2023-05-31", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello"}]}' \ --cli-binary-format raw-in-base64-out \ --endpoint-url https://vpce-id.bedrock-runtime.region.vpce.amazonaws.com \ output.json
Python (boto3)
创建客户端时传递endpoint_url参数。这种方法适用于使用 AWS SDK 的 AWS Lambda 函数和任何应用程序:
import boto3 client = boto3.client( "bedrock-runtime", region_name="us-east-1", endpoint_url="https://vpce-id.bedrock-runtime.us-east-1.vpce.amazonaws.com" ) response = client.converse( modelId="anthropic.claude-sonnet-4-6-v1", messages=[{"role": "user", "content": [{"text": "Hello"}]}] )
vpce-id替换为您的 VPC 终端节点 ID(例如vpce-029dea71225152fde)。您可以在 VPC 控制台的终端节点下找到此 ID。