当前:这是我的GCP设置。
2个虚拟机(美国区域1个,欧盟区域1个)上具有nodejs服务器
1个具有haproxy的VM(与redis处于同一区域)
1个redis云存储(与以前的VM处于同一区域)
由于只能通过与Redis服务器位于同一区域的VM连接到Redis服务器(在GCP中),因此我将VM(与Redis服务器位于同一区域)用作反向代理。这可行!我可以将其他区域中的VM / nodejs连接到Redis服务器。
问题是:所有人现在可以(通过反向代理VM的公共IP地址)连接到Redis服务器,而这不是我想要的。我只希望VM能够连接。
注意:我使用的是VM组,它们是动态的。当负载很重时,将创建新的VM(具有新的公共IP),因此我无法将公共IP添加到防火墙规则中,因为它们会发生很大变化。是否有可能创建仅接受来自GCP VM的IP地址的防火墙规则(或其他方法),以便来自GCP(我的VM)的仅VM可以连接到反向代理?
谢谢。
编辑
如果我在虚拟机上添加标签,并且仅允许具有这些标签的VM进入防火墙规则,那可以选择吗?
答案 0 :(得分:2)
当然,您可以添加特殊标记来标识反向代理(例如,标记为 reverse proxy )和客户端VM(例如,标记为 client_vm )。< / p>
然后,您可以添加防火墙规则,该规则允许Inbound
端口的source tags: client_vm
通信,例如target tags: reverse_proxy
和tcp:ssh
。
如果SSH
上的ip source: 0.0.0.0/0
上没有其他防火墙规则,则无法通过公共IP访问您的VM。