AWS PrivateLink
通过 VPC 内的私有端点安全访问 AWS 服务和第三方服务,无需流量经过互联网的网络连接服务
概述
AWS PrivateLink 是一项在 VPC 内创建私有端点(Interface VPC Endpoint),通过 AWS 骨干网络私有访问 AWS 服务、第三方 SaaS 和自有服务的技术。流量不经过互联网、NAT Gateway 或 VPN,保持在 AWS 网络内部,提高安全性并降低数据传输成本。端点在 VPC 子网中创建为 ENI(弹性网络接口),通过私有 IP 地址访问目标服务。
Interface 端点与 Gateway 端点的区别
VPC 端点有 Interface 端点(PrivateLink)和 Gateway 端点两种类型。Interface 端点在子网中创建 ENI,分配私有 IP 地址,通过该 IP 访问服务。支持大多数 AWS 服务和第三方服务。Gateway 端点仅支持 S3 和 DynamoDB,在路由表中添加前缀列表条目来路由流量,不创建 ENI。Gateway 端点免费,Interface 端点按小时和数据处理量计费。选择标准是:S3 和 DynamoDB 优先使用 Gateway 端点(免费),其他服务使用 Interface 端点。Interface 端点支持安全组附加,可精细控制哪些资源可以访问端点。私有 DNS 功能启用后,服务的公共 DNS 名称自动解析为端点的私有 IP,无需更改应用程序代码。
端点服务与跨账户共享
PrivateLink 不仅用于访问 AWS 服务,还可以将自有服务作为端点服务发布。在 NLB(Network Load Balancer)后面部署服务,创建端点服务后,其他 VPC 或账户可通过 Interface 端点私有访问该服务。这是 SaaS 提供商向客户提供私有连接的标准模式。端点服务支持接受/拒绝连接请求的审批流程,以及通过 AWS 账户 ID 限制可连接方的白名单。跨账户场景中,服务提供方和消费方在不同账户,通过端点服务名称(com.amazonaws.vpce.region.vpce-svc-xxx)建立连接。RAM(Resource Access Manager)也可用于在 Organizations 内共享端点服务。
安全架构与成本考量
PrivateLink 的安全优势是流量不暴露在互联网上,减少攻击面。结合安全组和端点策略(IAM 策略),可实现多层访问控制。端点策略限制通过端点可访问的 API 操作和资源,例如限制 S3 端点只能访问特定存储桶。对于合规要求(HIPAA、PCI DSS 等),PrivateLink 提供数据不离开 AWS 网络的保证。成本方面,Interface 端点每小时约 0.01 美元/AZ 加上数据处理费。多 AZ 部署时成本翻倍,但为了高可用性通常在 2-3 个 AZ 部署。与 NAT Gateway 相比,大量数据传输场景下 PrivateLink 可能更经济(NAT Gateway 的数据处理费为 0.045 美元/GB)。集中式端点架构通过在共享服务 VPC 中创建端点并通过 Transit Gateway 共享,可减少端点数量和成本。