使用 AWS PrivateLink 技术,在两个 VPC 之间建立安全的私有连接。熟悉 VPC 端点服务(VPC Endpoint Service)的创建与使用流程。本实验中,在一个 VPC 中配置服务提供者,在另一个 VPC 中创建接口端点(Interface VPC Endpoint)来消费该服务。通过本次操作,你将理解如何在不使用互联网网关、NAT 设备或 VPC 对等连接的情况下,实现跨 VPC 的安全、私有通信,从而满足内部应用安全访问的需求。
AWS PrivateLink 是一项私有连接服务,其核心价值在于隔绝公网暴露,所有通信均在 AWS 私有网络内传输,提升数据安全性。与传统的 VPC 对等连接不同,PrivateLink 采用中心化的服务提供者模型。服务提供者在其 VPC 中创建一个 网络负载均衡器(NLB) 和后端服务,然后将其作为“VPC 端点服务”发布。服务消费者则在自己的 VPC 中创建一个 接口型 VPC 端点 来连接该服务。所有流量通过 AWS 内部网络传输,不会经过公共互联网,因此更加安全、延迟更低,且简化了网络架构。
本次采用AWS Console界面完成作业。
注意:根据项目的具体情况,可以采用不同的实施方法。比如使用命令行(CLI)部署、代码部署 (CloudFomation、Terraform等)、以及其它开发语言(SDK)完成作业。
步骤一:搭建基础网络环境
登录 AWS 控制台,创建两个 VPC(VPC-A 作服务端,VPC-B 作为消费端),各创建一个公有子网和私有子网,配置对应路由表,确保子网路由正常。为两个 VPC 分别创建安全组,开放所需端口(如 80 端口),允许内网通信。
步骤二:准备服务提供者 VPC-A。
登录 AWS 管理控制台,进入 EC2 服务。在作为“服务提供者”的 VPC-A 的私有子网中,启动一台 EC2 实例。在该实例上部署一个简单的 Web 应用(如 Nginx)。然后,创建一个网络负载均衡器(NLB),将其部署在与 EC2 实例相同的子网中,并将 EC2 实例注册为目标。
步骤三:创建 VPC-A 端点服务。
在 VPC-A 服务控制台,找到“端点服务”选项。点击“创建端点服务”,选择上一步创建的网络负载均衡器,设置允许 VPC-B 访问。根据需求,选择是否启用“接受方需经过我方批准”选项。创建完成后,系统会生成一个以“com.amazonaws.vpce”开头的服务名称。记录下此名称,供后续消费方使用。
步骤四:配置服务消费方 VPC-B。
在作为“消费者”的 VPC-B 中,进入 VPC 控制台的“端点”选项。点击“创建端点”, 选择“接口”类型。在“服务类别”中,选择“查找服务按名称”,并粘贴上一步记录的服务提供者服务名称。选择消费方希望部署端点网卡的私有子网和安全组。
步骤四:建立连接与测试。
如果服务提供者设置了需手动批准连接请求,你需要在提供方 VPC 的“端点服务”管理中,找到并“接受”来自消费方的连接请求。一旦状态变为“可用”,在消费方 VPC-B 的私有子网中启动一台测试用 EC2 实例。
1. 检查状态,在 VPC-A 控制台查看端点服务和端点状态,均显示“可用”说明链路搭建成功,同时确认负载均衡器与 EC2 实例关联正常。
2. 在 VPC-B 中的测试 EC2 实例,通过命令行 ping 端点的私有 IP,或使用 curl 命令访问后端 EC2 服务端口。若能成功接收响应,无丢包或访问失败情况,说明跨 VPC 私有通信生效。
3. 检查路由表和安全组日志,确认通信未经过公网,完全通过 PrivateLink 私有链路传输,验证实验达到预期目标,实现了安全、高效的跨 VPC 端点服务通信。