用于 S3 Vectors 的 VPC 端点
为了从您的虚拟私有云(VPC)访问 S3 Vectors,Amazon S3 支持通过 AWS PrivateLink(PrivateLink)使用接口 VPC 端点。PrivateLink 提供了您的 VPC 与 S3 Vectors 之间的私有连接,使您无需使用互联网网关或 NAT 设备。接口端点由一个或多个弹性网络接口(ENI)表示,这些接口是从 VPC 中的子网分配的私有 IP 地址。通过接口端点向 S3 Vectors 发出的请求仍留在 AWS 网络上。
您还可以通过 AWS Direct Connect 或 AWS 虚拟专用网络(AWS VPN)从本地应用程序访问 VPC 中的接口端点。有关如何将 VPC 与本地网络连接的更多信息,请参阅《AWS Direct Connect 用户指南》和《AWS Site-to-Site VPN 用户指南》。有关接口端点的一般信息,请参阅《AWS PrivateLink 指南》中的使用接口 VPC 端点访问 AWS 服务。
将 PrivateLink 与 S3 Vectors 结合使用的好处
将 PrivateLink 与 S3 Vectors 结合使用可带来多项安全性和运营方面的好处:
-
增强的安全性:您的 VPC 与 S3 Vectors 之间的流量始终留在 AWS 网络内,不会通过互联网传输。
-
简化的网络架构:无需配置互联网网关、NAT 设备或 VPN 连接即可访问 S3 Vectors。
-
精细的访问控制:使用 VPC 端点策略来控制哪些向量存储桶和向量索引可通过端点访问。
-
合规性支持:满足“必须对敏感数据使用专用网络连接”的监管要求。
VPC 端点 DNS 名称和解析
当您创建 VPC 端点时,S3 Vectors 会生成两种类型的特定于端点的 DNS 名称:区域和可用区。
用于 S3 Vectors 的接口 VPC 端点的区域和可用区 DNS 名称如下所示:
-
区域 DNS 名称:
vpce-– 区域 VPC 端点 DNS 名称。始终解析为私有 IP 地址。1a2b3c4d-5e6f.s3vectors.region.vpce.amazonaws.com -
可用区 DNS 名称:
vpce-– 特定于可用区的 VPC 端点 DNS 名称。始终解析为私有 IP 地址。1a2b3c4d-5e6f-availability_zone_code.s3vectors.region.vpce.amazonaws.com
如果为 VPC 端点启用了私有 DNS,您还可以使用公共端点 s3vectors. 的 DNS 名称作为端点服务的私有 DNS 名称。region.api.aws
接口端点的 IP 寻址
S3 Vectors 区域、可用区和私有 DNS 端点对 AWS PrivateLink 支持 IPv4、IPv6 和双堆栈 IP 类型。有关更多信息,请参阅《AWS PrivateLink 指南》中的 IP 地址类型和 AWS 服务的 DNS 记录 IP 类型。
尝试在 VPC 中通过 IPv6 访问 S3 Vectors 向量索引和向量存储桶之前,您应该了解以下事项:
-
用于访问向量的客户端和您的 S3 Vectors 客户端都必须启用了双堆栈。
-
如果您的 VPC 安全组未设置 IPv6,您需要配置一条规则以允许 IPv6 流量。有关更多信息,请参阅《VPC 用户指南》中的步骤 3:更新安全组规则和《Amazon EC2 用户指南》中的配置安全组规则。
-
如果您的 VPC 未分配 IPv6 CIDR,则需要手动将 IPv6 CIDR 数据块添加到 VPC。有关更多信息,请参阅《AWS PrivateLink 指南》中的为 VPC 添加 IPv6 支持。
-
如果您使用 IP 地址筛选 IAM 策略,则必须对这些策略进行更新才能处理 IPv6 地址。有关使用 IAM 管理访问权限的更多信息,请参阅 S3 Vectors 中的身份和访问权限管理。
为 S3 Vectors 创建 VPC 接口端点
您可以使用 VPC 控制台、AWS CLI、AWS SDK 或 AWS API 为 S3 Vector 创建 VPC 接口端点。
-
通过以下网址打开 VPC 控制台:https://console.aws.amazon.com/vpc/
。 -
在导航窗格中,选择端点。
-
选择 创建端点。
-
对于服务类别,选择 AWS 服务。
-
对于服务,搜索
s3vectors并选择com.amazonaws.。region.s3vectors -
对于 VPC,选择要在其中创建端点的 VPC。
-
(可选)在其他设置下,对于启用 DNS 名称,选择是否启用私有 DNS 功能。启用后,使用公共服务端点(
s3vectors.)的请求(例如通过 AWS SDK 发出的请求)将解析到您的 VPC 端点,而非公共端点。region.api.aws -
对于子网,选择要在其中创建端点网络接口的子网。
-
对于 IP 地址类型,选择端点的 IP 地址类型。
-
IPv4:将 IPv4 地址分配给端点网络接口。仅当所有选定子网都具有 IPv4 地址范围时,才支持此选项。
-
IPv6:将 IPv6 地址分配给端点网络接口。仅当所有选定子网均为仅限 IPv6 的子网时,才支持此选项。
-
双堆栈:将 IPv4 和 IPv6 地址均分配给端点网络接口。仅当所有选定子网都具有 IPv4 和 IPv6 地址范围时,才支持此选项。
-
-
对于安全组,选择要与端点网络接口关联的安全组。
-
(可选)对于策略,您可以附加 VPC 端点策略来控制通过端点对 S3 Vectors 的访问。要允许所有主体通过接口端点对所有 S3 Vectors 资源执行的所有操作,请选择完全访问权限。要限制访问,请选择自定义并输入策略。有关更多信息,请参阅《AWS PrivateLink 指南》中的使用端点策略控制对 VPC 端点的访问。如果您未附加策略,默认策略将允许完全访问权限。
-
选择创建端点。
要创建为 S3 Vectors 返回 IPv4 和 IPv6 的新 VPC 端点,请使用以下示例 CLI 命令。有关更多信息,请参阅 create-vpc-endpoint。
aws ec2 create-vpc-endpoint \ --vpc-idvpc-12345678\ --service-name com.amazonaws.region.s3vectors \ --vpc-endpoint-type Interface \ --subnet-idssubnet-12345678subnet-87654321\ --security-group-idssg-12345678\ --ip-address-type dualstack \ --private-dns-enabled
--private-dns-enabled 参数用于启用私有 DNS 功能。启用后,对 s3vectors. 的请求将通过您的 VPC 端点进行路由。region.api.aws
有关创建 VPC 端点的更多信息,请参阅《VPC 用户指南》中的创建 VPC 端点。
用于 S3 Vectors 的 VPC 端点策略
与基于资源的策略类似,您可以向 VPC 端点附加端点策略,来控制对向量索引和向量存储桶的访问。有关端点策略的更多信息,请参阅《AWS PrivateLink 指南》中的使用端点策略控制对 VPC 端点的访问。
示例 VPC 端点策略
以下示例 VPC 端点策略允许所有主体访问所有 S3 Vectors 操作:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:*" ], "Resource": "*" } ] }
以下示例 VPC 端点策略限制对特定向量存储桶的访问:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "s3vectors:GetVectorBucket", "s3vectors:ListIndexes", "s3vectors:GetIndex", "s3vectors:QueryVectors", "s3vectors:GetVectors" ], "Resource": [ "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket", "arn:aws:s3vectors:us-west-2:111122223333:bucket/amzn-s3-demo-vector-bucket/*" ] } ] }
以下示例 VPC 端点策略仅允许在工作时间内使用 aws:CurrentTime 条件键进行访问:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3vectors:*", "Resource": "*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "08:00Z" }, "DateLessThan": { "aws:CurrentTime": "18:00Z" } } } ] }
为 VPC 端点配置 S3 Vectors 客户端
将 VPC 端点与 S3 Vectors 一起使用时,您可以将 S3 Vectors 客户端配置为使用服务 DNS 名称或 VPC 端点 DNS 名称。
VPC 端点问题排查
如果遇到接口 VPC 端点问题,建议执行以下问题排查步骤:
-
DNS 解析:使用私有 DNS 时,验证端点的 DNS 查询是否解析到您的 VPC CIDR 范围内的私有 IP 地址。
-
安全组:确保与 VPC 端点关联的安全组允许来自您的 VPC 资源的入站 HTTPS 流量(端口 443)。
-
路由表:确保您的子网路由表不包含可能将流量从 VPC 端点重定向到外部的冲突路由。
-
VPC 端点策略:检查您的 VPC 端点策略是否允许必要的 S3 Vectors 操作和资源。
-
客户端配置:如果私有 DNS 功能已禁用,请将您的 S3 Vectors 客户端配置为使用 VPC 端点 DNS 名称而非服务 DNS 名称。
监控 VPC 端点的使用情况
您可以通过 CloudTrail NetworkActivity 事件日志监控 S3 Vectors VPC 端点的使用情况。
有关 S3 Vectors 日志记录的更多信息,请参阅使用 AWS CloudTrail 对 S3 Vectors 进行日志记录。