Google Cloud:如何使用公共主机名在网络中发送数据,而不会产生数据传输费用?

时间:2015-06-04 08:25:15

标签: amazon-web-services dns google-cloud-platform

我在Google Cloud中的群集上运行了日志聚合器服务。来自Google云平台内外的应用程序都应该向此服务发送数据。由于设计原因,存在一个约束,即所有内部/外部应用程序只能使用相同的主机名/ ip与服务进行通信。

现在,如果我使用外部IP作为广告主机名,系统运行正常,但我会向Google收取将内部网络中的数据发送到服务的费用。我想避免产生这笔费用。

另一方面,AWS提供了一个公共主机名,它从网络外部解析为公共IP,但从网络内部解析为内部IP。这样我可以使用公共主机名进行服务,而不会产生内部数据传输的成本。有没有办法在Google云中实现同样的目标?

1 个答案:

答案 0 :(得分:2)

通过提供自动解析为公共或私有IP的主机名,AWS EC2确实可以轻松实现这一目标,具体取决于访问它们的位置。 Google Cloud目前没有此功能,但以下是一些解决方法:

  • 使用实例的主机名而不是IP。在GCP内部使用时,主机名将自动解析为内部IP。在外部时,您可以编辑外部计算机上的本地主机文件以解析到外部IP。如果你有很多外部机器或者它们不在你的控制之下,这不容易扩展。

  • 运行您自己的DNS服务器,设置新域,并根据请求的来源自动使用正确的IP进行响应。

  • 使用虚拟SDN(软件定义网络)自动路由流量。所有主机都将位于同一个虚拟LAN网络上,您可以在它们之间使用内部IP。内部主机将自动直接连接,外部主机将使用公共互联网上的隧道,但两者将使用相同的IP。 ZeroTierPritunl是不错的选择,具体取决于您的需求。