我在 GKE 上运行一个小型 kubernetes 集群,并为该 VPC 提供 VPN 连接 (CloudVPN)。我想将通过 VPN 进入 VPC 的流量限制为仅访问我为此目的设置的内部负载均衡器 (ILB)(允许访问在 GKE 内运行的服务)。不幸的是,我正在努力找出限制此特定用例流量的最佳方法。我似乎无法为流向 ILB 的流量设置入口规则,因为 GCP 防火墙入口规则使用标签来指定目标,而我无法在 ILB 上设置这些目标。
任何关于如何实现此功能的建议都将不胜感激。没有设置使用 GCP 防火墙规则 - 但似乎这是实现此功能的明显方法。我目前正在使用另一个实例作为某种“代理”(我可以通过防火墙设置实例标签) - 但让另一个实例和 ILB 一起运行似乎有点过头了。我的下一个调查分支是看看我是否可以在单独的 VPC 中设置 CloudVPN,然后使用对等和路由来实现这条路径上的某些东西 - 虽然我怀疑这里可能存在问题,并且更喜欢一种作用于 ip:port 而不仅仅是 ip 的机制。
答案1
正如您所说,没有办法限制内部负载均衡器的传入流量。Cloud Armor 听起来是个不错的选择,但正如这里提到的,它还不适用于内部负载均衡器1。
尽管看起来有点小题大做,但在负载均衡器前面放置一个实例可能是最快和最简单的解决方案。
另一种与您建议的类似但更简单的替代方案是:
如果您可以重新创建 VPN 隧道,并且您想要通过的唯一流量是 LB 上的流量,那么您可以将流量选择器/ BGP 通告(取决于 VPN 类型)限制到专为内部负载均衡器设计的子网。
- 创建 /29 子网
- 使用该子网的 IP 创建前端。
- 配置 VPN 以仅允许来自该子网的流量。