是否可以在App Engine和Compute引擎的虚拟机之间建立连接?

时间:2015-03-15 08:50:01

标签: google-app-engine google-compute-engine google-cloud-platform

我希望我的AppEngine网站连接到我的某个实例(Google Compute Engine),以便从本地redis服务器获取一些数据。

我该怎么做?

似乎没有办法在同一个帐户/项目中获得AppEngine和Compute Engine之间的连接...

谢谢!

1 个答案:

答案 0 :(得分:3)

答案取决于您的Compute Engine实例接受的协议:

  • 如果它接受HTTP(S)请求,那么您可以像往常一样使用URLFetch服务来执行HTTP调用。但是您的实例必须在互联网上公开(公共IP地址)。

  • 如果它不接受HTTP(S)调用,例如Redis,那么您将需要使用Sockets API进行从App Engine到Compute Engine的出站呼叫。请注意,此API处于测试阶段。

    然后是如何保护计算引擎实例的问题。 您无法使用IP过滤器,因为Google不会告诉您App Engine实例具有哪些IP。

    对于HTTP(S)调用,一个选项是使用OAuth2。 App Engine实例在Identity service中嵌入了OAuth2标识,因此可以轻松生成可靠地标识App Engine实例的OAuth令牌。

    对于其他类型的协议(MySQL,Redis,其他),您需要依赖于您在Compute Engine实例上运行的任何提供的安全性。例如,在Redis中,您可以要求密码来访问您的服务器。