使用 AWS PrivateLink 实现私有连接 - VPC 端点与端点服务
无需经过互联网即可私有连接 AWS 服务。介绍 Gateway 端点的免费使用方式与端点服务的构建方法。
PrivateLink 概述
PrivateLink 是一项为 VPC 提供到 AWS 服务或 SaaS 私有连接的服务。无需经过互联网网关或 NAT Gateway,通信完全在 AWS 私有网络内完成。即使在安全要求禁止互联网访问的环境中,也能使用 AWS 服务。
端点类型
接口端点在子网中创建 ENI(弹性网络接口),通过私有 IP 地址访问 AWS 服务,按小时和数据处理量计费。网关端点专用于 S3 和 DynamoDB,通过在路由表中添加前缀列表实现,完全免费。对于大量访问 S3 的场景,推荐使用网关端点。通过端点策略可限制仅访问特定 S3 存储桶,防止数据意外流出到非预期的存储桶。
端点服务的构建
要通过 PrivateLink 将自有服务公开给其他账户,需将服务部署在 NLB 或 GWLB 后端,然后创建端点服务。通过允许主体控制可连接的账户或 IAM 主体,并设置连接请求的手动或自动审批。消费者端创建接口端点,通过私有 DNS 名称访问服务。设置私有 DNS 名称后,消费者 VPC 内的 DNS 解析将指向端点的 ENI,无需修改应用代码即可切换为私有连接。通过端点策略限制对特定 API 操作或资源的访问,防止数据泄露。 关于 VPC 端点的详细解析,可参考Amazon 相关书籍。
PrivateLink 定价与设计指南
接口端点按每个 AZ 的小时费用(约 0.01 美元/小时)和数据处理费(约 0.01 美元/GB)计费。多 AZ 配置下成本按 AZ 数量倍增,需根据可用性要求决定部署的 AZ 数量。Gateway 端点(S3、DynamoDB)免费,是减少 NAT Gateway 流量最有效的成本优化手段。大量数据传输时,应比较 PrivateLink 与 NAT Gateway 的数据处理费用,选择更具成本效益的方案。可通过 CloudWatch 指标监控 VPC 端点使用情况,识别并删除未使用的端点以降低成本。
总结
PrivateLink 提供从 VPC 出发的私有连接,实现不经过互联网的安全通信。通过 Gateway 端点建立到 S3/DynamoDB 的免费私有连接,通过接口端点私有访问 100 多种 AWS 服务。利用端点策略限制访问,通过端点服务将自有服务安全地公开给其他账户。