我在GKE集群上运行微服务。他们需要与https://maps.googleapis.com/进行通信。所有这些微服务都在一个在自定义网络中创建的集群中运行。现在如果我想知道将需要允许这些集群/(节点)的出口或者因为它也是GCP服务默认允许使用gmuninication?如果我需要允许出口的防火墙规则,我该怎么做域名而不是IP。我读到这些maps.googleapis.com的IP可能会发生变化。你能帮我吗?
答案 0 :(得分:0)
GKE与Google Compute Engine使用相同的基础架构。
不幸的是,无法添加目标定义为DNS地址的防火墙规则。
尽管Google Maps API是Google服务的一部分,但没有模板或类似内容可以将其添加为防火墙的例外,防火墙对Google服务一无所知。如果您阻止所有出口流量 - 也将阻止对所有API的访问。
因此,您需要以某种方式获取API的IP范围并将其添加到防火墙。
我找到了如何获取所有范围(使用DNS名称)here的唯一方法。但是,你应该:
Google Maps API Premium Plan或以前的Google Maps API for Work或Google Maps for Business许可。
如果您拥有它,只需转到link,即可获取与Google Maps API相关的最新域名列表。
如果没有,您可以尝试允许流量发布到Google正在发布的所有地址作为其CIRD块,这可能会有所帮助。
您可以通过nslookup
命令获取它:
nslookup -q=TXT _spf.google.com 8.8.8.8
然后从答案中获取所有“包含”名称,例如:
nslookup -q=TXT _netblocks.google.com 8.8.8.8