在App Engine,Compute Engine和Cloud SQL之间进行通信

时间:2014-11-18 20:50:31

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

我是云计算新手,我遇到了将App Engine,GCE和Cloud SQL捆绑在一起的最佳方法的问题。

我有一个运行Django的App Engine应用程序,它充当GCE实例上发生的进程的用户界面。用户请求启动任务,GCE实例在端口80上运行RESTful API,并且App Engine向新启动的GCE实例发送REST请求以启动特定任务。

正如我现在所知,App Engine实例将任务信息存储在Cloud SQL实例中。我的愿望是让GCE实例直接与Cloud SQL实例通信,以便他们可以更新数据库并提供一个窗口,了解App Engine的任务状态(通过更新数据库行)。

我遇到的问题是,据我所知,文档只指定了一种连接到SQL实例的方法,那就是通过网络访问GCE实例的IP地址。这是不可取的,因为我会频繁地摧毁并摧毁GCE实例,并且IP地址可能会多次更改。

话虽如此,我有两个问题:

1)有没有办法避免上述单独验证每个GCE实例的问题,如果不是,那么识别每个GCE实例的最佳方法是什么?

2)我是否正确地走这条路?正如我所说,我是云计算开发的新手,我在这里完全猜测这些不同的服务应该如何互动。

1 个答案:

答案 0 :(得分:2)

对于您需要在Cloud SQL中添加到授权网络的IP,如果单个实例正在启动,您可以使用static IP address,尽管there's a charge。 您还可以使用API​​ Instances:get来获取新实例的IP地址,因此在销毁实例时,您可以将其从授权网络中删除。 您可以使用Cloud SQL API更新网络。