如何允许出口到maps.googleapi.com

时间:2018-04-10 11:16:59

标签: kubernetes google-cloud-platform google-kubernetes-engine

我在GKE集群上运行微服务。他们需要与https://maps.googleapis.com/进行通信。所有这些微服务都在一个在自定义网络中创建的集群中运行。现在如果我想知道将需要允许这些集群/(节点)的出口或者因为它也是GCP服务默认允许使用gmuninication?如果我需要允许出口的防火墙规则,我该怎么做域名而不是IP。我读到这些maps.googleapis.com的IP可能会发生变化。你能帮我吗?

1 个答案:

答案 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