是否可以从Google托管虚拟机连接到Google Cloud SQL?

时间:2014-12-19 20:04:59

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

是否可以从Google Cloud SQL连接到Google Managed VM?使用常规的Google App Engine应用程序,我可以通过在Cloud SQL控制台中使用unix_socket='/cloudsql/' + _INSTANCE_NAME授权我的项目来进行连接。但是,/cloudsql/套接字似乎在托管虚拟机上不可用。我是否必须将托管VM应用程序的IP列入白名单?如果是,我如何找到白名单的IP地址?

4 个答案:

答案 0 :(得分:6)

/cloudsql/套接字仅在常规App Engine中可用。托管VM是常规VM,因此与Cloud SQL的连接需要使用该Cloud SQL实例的外部IP。外部IP需要列入白名单。外部IP显示在开发人员控制台中,也可以通过gcloud CLI工具检索。

避免将GCE VM的IP列入白名单的两个选项是:

  1. 切换为仅使用SSL连接进行IP连接,并将其列入白名单0.0.0.0/0。
  2. 通过运行TCP代理(HAProxy)的VM将所有流量汇集到Cloud SQL。
  3. 我们知道这些都不是非常令人满意的解决方案。 : - (

答案 1 :(得分:1)

如果您愿意尝试第二代Cloud SQL(目前处于测试阶段),则可以内置支持从类似于App Engine的托管虚拟机进行连接:https://cloud.google.com/sql/docs/sql-proxy#gae

答案 2 :(得分:0)

这里描述的一切取决于语言: https://cloud.google.com/sql/docs/dev-access 有关蟒蛇的更多细节在这里:

主题:第2步:授予您的App Engine应用程序访问Google Cloud SQL实例的权限 https://cloud.google.com/appengine/docs/python/cloud-sql/

答案 3 :(得分:0)

关于@Razvan Musaloiu-E提供的第一个解决方案

  

切换为仅使用SSL连接进行IP连接,并将0.010.0/0列入白名单。

如果我这样做,是否有任何安全问题?除了在我的Cloud SQL数据库上有一个“root”/“root”登录/密码当然......