使用 AWS PrivateLink 实现私有连接 - VPC 端点与端点服务
无需经过互联网即可私有连接 AWS 服务。介绍 Gateway 端点的免费使用方式与端点服务的构建方法。
PrivateLink 概述
PrivateLink 是一项为 VPC 提供到 AWS 服务或 SaaS 私有连接的服务。无需经过互联网网关或 NAT Gateway,通信完全在 AWS 私有网络内完成。即使在安全要求禁止互联网访问的环境中,也能使用 AWS 服务。
端点类型
接口端点在子网中创建 ENI(Elastic Network Interface),通过私有 IP 地址访问 AWS 服务。计费包括按小时计费和数据处理计费。网关端点专用于 S3 和 DynamoDB,采用在路由表中添加前缀列表的方式。网关端点可以免费使用,在对 S3 有大量访问时推荐使用网关端点。通过端点策略将访问限制为仅特定 S3 存储桶,防止数据流出到非预期的存储桶。
端点服务的构建
要通过 PrivateLink 将自有服务公开给其他账户,需将服务部署在 NLB 或 GWLB 后端,然后创建端点服务。通过允许主体控制可连接的账户或 IAM 主体,并设置连接请求的手动或自动审批。消费者端创建接口端点,通过私有 DNS 名称访问服务。设置私有 DNS 名称后,消费者 VPC 内的 DNS 解析将指向端点的 ENI,无需修改应用代码即可切换为私有连接。通过端点策略限制对特定 API 操作或资源的访问,防止数据泄露。
PrivateLink 定价与设计指南
接口端点按每个 AZ 的小时费用(约 0.01 美元/小时)和数据处理费(约 0.01 美元/GB)计费(截至 2026 年 8 月)。多 AZ 配置下成本按 AZ 数量倍增,需根据可用性要求决定部署的 AZ 数量。Gateway 端点(S3、DynamoDB)免费,是减少 NAT Gateway 流量最有效的成本优化手段。大量数据传输时,应比较 PrivateLink 与 NAT Gateway 的数据处理费用,选择更具成本效益的方案。可通过 CloudWatch 指标监控 VPC 端点使用情况,识别并删除未使用的端点以降低成本。
DNS 与私有名称解析
提高使用 PrivateLink 时便利性的是私有 DNS 功能。在接口端点上启用私有 DNS 后,服务原本的主机名将被解析为端点在 VPC 内的地址。这样,无需更改应用程序的代码或设置,就能只把通信切换到私有路径。从本地环境进行解析时,需要结合使用 Route 53 Resolver。如果没有正确设计名称解析的路径,有时会无意中使用公开路径,因此 DNS 的配置是 PrivateLink 设计中的重要要素。
安全与边界设计
PrivateLink 的优势在于,通信无需出到互联网,就能在 VPC 内完成。这样,即使是在没有互联网网关的封闭网络中,也能安全地连接到所需的服务。可以为端点设置策略,限制允许对哪些资源执行哪些操作。通过安全组限定通信来源,只开放最少的路径。即使在跨账户提供和使用服务的配置中,只要通过 PrivateLink,就能在不向对方暴露整个网络的情况下,只安全地公开特定的服务。
代表性的使用场景
PrivateLink 能满足各种连接需求。SaaS 提供商可以将其用作向客户的 VPC 安全提供自有服务的路径。也可以采用这样的配置:先通过专线或 VPN 连接本地环境和 AWS,再经由 PrivateLink 只访问特定的服务。也适合让多个账户和团队安全地使用组织内共享服务的用途。由于不经过互联网就能连接服务,在希望把数据路径封闭在公司内部、不想增加公开端点等需求的环境中,尤其能发挥价值。
运维与可用性
在生产环境中使用 PrivateLink 时,要同时兼顾可用性和成本来进行设计。将端点部署在多个可用区中,即使某个可用区发生故障,也能继续通信。接口端点按时间和数据处理量计费,因此只为真正需要的服务创建端点,不留下多余的端点。部分服务的连接有时可以用免费的网关端点替代,因此要区分使用不同类型来控制成本。监控使用情况并定期检查端点的数量和配置,有助于实现高效的运维。
总结
PrivateLink 是一项提供从 VPC 出发的私有连接、实现不经过互联网的安全通信的服务。通过 Gateway 端点建立到 S3/DynamoDB 的免费私有连接,通过接口端点私有访问 100 个以上的 AWS 服务。利用端点策略限制访问,通过端点服务将自有服务安全地公开给其他账户。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。