【问题标题】:Can Google App Engine make a http request to a Compute Engine instance within the same project without an external IP?Google App Engine 可以在没有外部 IP 的情况下向同一项目中的 Compute Engine 实例发出 http 请求吗?
【发布时间】:2013-11-19 00:23:48
【问题描述】:

在 App Engine 中,我想对在同一个 Google 云项目中创建的 Compute Engine 实例上运行的网络服务器进行 http fetch 调用,我想知道是否可以在不启用的情况下对实例进行此类调用它的外部IP?来自同一个项目的 App Engine 和 Compute Engine 实例是否在同一个网络中?我可以从 App Engine 中按名称调用 Compute Engine 实例吗?

【问题讨论】:

  • 我不知道答案,但是可能与这个基于 App Engine VM 的后端 groups.google.com/forum/#!topic/google-appengine/gRZNqlQPKys 有一些重叠
  • 感谢蒂姆指出这一点。 App Engine 基于 VM 的后端 实际上可能正是我正在寻找的,因为我需要使用依赖于 App Engine 沙箱(白名单)之外的类的 Java 库,这让我考虑 GCE,但如果我能以比使用 URLFetch API 和公共 IP 更内部的方式进行通信,那些 appengine-vm-backends 可能更适合。我现在已经注册为测试人员并等待回复。

标签: google-app-engine http google-compute-engine


【解决方案1】:

在短期/中期解决此问题的最佳方法是将 VM 部署为基于 VM 的后端 (we are accepting TT applications)。您可以将 VM 后端部署为应用程序的不同 App Engine 模块。然后你可以从前端 urlfetch "mymodule.myapp.appspot.com",它会在不通过公共 IP 的情况下访问你的虚拟机。

您还可以直接从 VM 后端为您的应用提供服务。在那里,您可以加载被普通 App Engine 沙箱阻止的类(并且可以完全访问所有 App Engine API!)。 VM 后端的缺点是我们还没有自动缩放功能。

【讨论】:

  • 感谢您的解释。根据 Tim Hoffman 的建议,我几周前填写了这张表格,但没有收到回复:docs.google.com/forms/d/… - 如果我的 TT 申请被接受,我在哪里可以找到有关如何创建和部署 VM 后端作为应用引擎模块?听起来像一个有趣的配置,我想尝试 :)
  • 感谢您提供此信息。如果 VM 由于计划维护而脱机,会发生什么情况?我(作为应用程序开发人员)是否需要自己构建这种冗余?
【解决方案2】:

目前不受支持。 App Engine 和 GCE 之间的通信必须通过 URLFetch API 并使用公共 IP。

【讨论】:

  • 谢谢乔的回答。我是否正确理解即将推出的 App Engine VM 后端,正如 Tim 在这里指出的那样,它们允许我从我的常规 App Engine 代码直接 API 调用在那里运行的库?
  • @Joe 对此有任何更新。我想将我的部分服务从计算迁移到应用引擎,并且需要这个功能。有什么方法可以支持吗? vpn 也许?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 1970-01-01
相关资源
最近更新 更多