
1. 服务介绍
AWS PrivateLink,也称作终端节点服务。您可以在 VPC 中创建自己的应用程序并将其配置为 AWS PrivateLink 支持的服务(也称作终端节点服务)。其他 AWS 委托人可以使用接口 VPC 终端节点,在他们的 VPC 和您的终端节点服务之间创建连接。您是服务提供商,而创建与您的服务之间的连接的 AWS 委托人是服务使用者。
2. 部署架构图
架构介绍:
• VPC_A和VPC_B属于AWS中国北京区账号;
• VPC_B中有一台EC2服务器(192.168.2.87),位于私有子网Subnet-A中,提供监听在内网80端口的HTTP WEB服务;前端有个NLB用来监听EC2服务器的80端口,同时,作为VPC endpointservice来进行调用。
• 在VPC_A中有一台EC2服务器(172.31.10.13),位于私有子网Subnet-B中,用来调用VPC-A中NLB对外提供的WEB服务;
• 所有的实例均通过Private Link功能来进行私网访问。
3. 部署步骤
VPC-B端部署:
3.1 启动实例, 部署apache服务
启动一台EC2实例,登陆之后,提供一下命令安装和启动apache服务:
# sudo yum -y install httpd
# sudo service httpd start

3.2 创建对内的NLB并将实例注册到NLB下面


3.3 测试从VPC-B其他子网是否可以访问

3.4 创建终端节点服务

备注:此处创建的是PrivateLink,也就是终端节点服务,注意要和后面创建的终端节点区分开。
选中创建好的终端节点服务,点击下面的“白名单委托人”

添加相关的访问白名单arn,格式如下:arn:aws-cn:iam::account-id:root,account-id为需要访问的终端节点服务的账户的id。
VPC-A端部署:
3.5 在VPC-A中启动实例
此实例为需要访问VPC-B里面服务的实例
3.6 创建VPC终端节点
请注意,这个过程是在“终端节点”而不是在“终端节点服务”中进行的。
在创建的过程中,您需要提供一个”服务名称“,而这个服务名称来源于您在VPC_B中创建的Private link的名称,您可以在VPC_B的控制台找到这个名称。
3.7 修改安全组
修改终端节点的安全组,打开80端口,否则无法访问VPC_B的Private link
4. 测试结果
登陆VPC-A(访问方)的10.31.2.87,访问VPC-A的终端节点的DNS名称,观察是否可以正常访问。


出现VPC-A中的web页面,证明测试成功。




