谷歌发布Cloud NAT,支持自动与手动NAT IP分配模式

Google宣布发布Cloud NAT的Beta测试版,让用户在没有足够公共IP的情况下,能灵活的配置应用程序执行实例。

Cloud NAT让用户可以在没有公共IP位置的清况下,允许应用程序执行实例访问互联网,以获得更新修补和配置管理等服务,同时又能以有效的方法控制外部资源,使其无法直接访问Cloud NAT网关后的任何私有执行实例,以保持Google Cloud VPC的隔离性和安全性。

作为完全托管的服务,Cloud NAT简化了部署以及使用程序,并且提供了数个独特的特性。 Cloud NAT是无中继代理服务器的软件定义的解决方案,这与传统的NAT代理解决方案不同,从执行实例到目的地中间不存在任何的NAT中间代理。

相反的,每个执行实例都分配了一个NAT IP以及相关的连接端口口范围的片段,这个分配的IP以及连接端口口范围,可以通过Google的Andromeda网络虚拟化堆栈程序化到执行实例中,并由执行实例使用于执行NAT。 Google提到,Cloud NAT实例和防火墙很相似,在用户内部执行实例和外部目标之间没有任何阻塞点,因此整体设计更为可靠、高性能且可扩展。

Cloud NAT的IP分配有两种模式,手动和自动,用户除了可以完全控制指定IP外,还能激活自动模式,根据执行实例数量进行扩展。 Google表示,用户存在需要手动设置NAT IP的需求,也有像负载平衡器一样自动调整云计算NAT IP的需求,而这也是Google当初设计Cloud NAT时,会提供两种模式原因。

用户想设置NAT网关使用特定NAT IP,需要手动指定NAT网关使用一个或是多个NAT IP,而这些IP必须是保留与静态的,并且不允许IP自动分配。当用户有需要将NAT IP列入白名单,手动模式将是比较简单的选择,但是当没有提供足够多的NAT IP给执行实例使用,则将会有一些执行实例无法使用NAT。

在NAT网关启动自动分配IP的模式,GCP将自动发派NAT IP,并根据虚拟机数量自动分配,Google认为,这是确保NAT有足够IP使用的最佳方法,但是需要留意白名单IP的设置,因为部分IP在未被使用时会自动发布。

Cloud NAT现在同时支持Google Compute Engine虚拟机以及Google Kubernetes Engine容器。用户可以在NAT中设置转换整个子网域,就能将Cloud NAT用于Google Kubernetes Engine中的所有容器,甚至是节点或Pod也可以使用Cloud NAT。当然用户也可以通过创建集群网络政策,防止Pod使用Cloud NAT。

另外,Cloud NAT也支持为每个NAT网关设置多重NAT IP位置,并提供可设置的NAT计时器。用户也能使用单一网关为VPC区域中的所有子网提供NAT服务,而且无须在意这些子网中的执行实例数量为何。而且即便在某区(Zone)服务不可用,但是NAT本身在该区域(Region)仍然维持高可用。

Cloud NAT现在于所有Google Cloud区域开放测试,目前免费提供,当服务正式上线时,每个NAT网关每小时0.045美元起,并加上NAT数据处理费用。