参考资料
终端节点基于Amazon PrivateLink技术实现,在不使用nat,igw和dx等服务的情况下,提供跨vpc和账号的私密访问。

在私有子网中我们可以使用aws服务终端节点访问aws服务,而无需配置nat网关和igw。终端节点分为以下两种
网关终端节点,网关终端节点通过配置路由控制vpc中访问aws服务的流量。目前只支持s3和dynamodb
https://docs.amazonaws.cn/zh_cn/vpc/latest/privatelink/vpce-gateway.html
接口终端节点,接口终端节点会在指定vpc的指定子网中创建eni接口,之后vpc中的应用通过该eni网卡访问aws服务。可以将接口终端节点视作aws服务在vpc中的私有ip地址的映射。接口终端节点默认开启私有dns解析(s3接口终端节点除外),因此无需修改代码即可完成公有dns向私有ip地址的解析。
https://docs.amazonaws.cn/zh_cn/vpc/latest/privatelink/vpce-interface.html
支持接口终端节点的服务,https://docs.amazonaws.cn/zh_cn/vpc/latest/privatelink/integrated-services-vpce-list.html

除了使用aws托管服务的终端节点外,我们可以将自己的应用同样包装为一个终端节点,即终端节点服务
终端节点服务同样分为两种类型
nlb终端节点服务,服务提供者将应用程序或者alb作为nlb的后端暴露出去,并包装成一个终端节点服务。服务使用者创建这个终端节点服务对应的终端节点,进行私有访问。

gwlb终端节点服务。服务提供者启动用于安全检查、合规性、策略控制和其他网络服务的防火墙服务,作为gwlb的后端包装为一个终端节点服务。服务使用者创建这个终端节点服务对应的终端节点。与nlb终端节点服务的区别在于,gwlb的后端并不真正处理请求,通常是进行安全和合规检测,对流量进行转发(感觉可以类比tun/tap设备的逻辑)。

在本账户下vpc B中创建nlb并挂载后端目标组
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r2VDLF7P-1678946216286)(assets/image-20230316004106477.png)]](/uploadfile/202505/8be446b16c11088.png)
创建终端节点服务,指定上面的nlb

在vpc A中创建终端节点,搜索对端终端节点服务名称(service name)进行确认

在终端节点服务中确认请求,等待终端节点创建成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQXZr6aC-1678946216289)(assets/image-20230316004720146.png)]](/uploadfile/202505/8c6a35b63955998.png)
在vpc B中启动ec2实例访问终端节点的dns,查看nlb后端是否收到请求
$ nslookup vpce-0xxxxxxxxxb66b6-9qgowx3f.vpce-svc-0c702a885bf2a8a4c.cn-north-1.vpce.amazonaws.com.cn
Non-authoritative answer:
Name: vpce-0xxxxxxxxxb66b6-9qgowx3f.vpce-svc-0c702a885bf2a8a4c.cn-north-1.vpce.amazonaws.com.cn
Address: 172.31.12.91
$ curl vpce-07f375298dfab66b6-9qgowx3f.vpce-svc-0c702a885bf2a8a4c.cn-north-1.vpce.amazonaws.com.cn
Welcome to nginx!