无法通过灵活的应用引擎上的ruby连接到Google Cloud SQL第二代

时间:2016-09-06 07:50:45

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

我在灵活的应用引擎上使用ruby。我需要在同一个项目上连接到第二代云SQL服务器。我已经尝试直接从database.yml中指定套接字以及通过localhost连接,以及我的云sql实例的IPv4地址,但似乎没有任何效果。我已经在StackOverflow上查看了这个问题的所有类似线程,但没有任何效果。我会尝试使用服务帐户,但我找不到一个与ruby有关的实例。

我能得到的最接近的是@Input()。请指教。

1 个答案:

答案 0 :(得分:1)

这不太理想,但从我在其他地方可以找到的,现在从灵活的应用环境连接到第2代云SQL服务器的唯一支持方式如下。我会接受任何可以做到这一点的答案,但不必将所有传入连接列入白名单。最好有一种方法可以通过localhost这样做,但从我收集的内容来看,情况并非如此。

  1. 禁用非SSL连接并下载Cloud SQL第2代服务器的SSL证书包 enter image description here
  2. 允许Cloud SQL服务器上的所有传入IPv4地址 enter image description here
  3. 设置Cloud SQL服务器的root密码(虽然技术上不需要,因为我们已经在使用SSL证书捆绑包了吗?)
  4. 复制Cloud SQL服务器的IPv4地址和root密码
  5. 将IP和密码直接粘贴到database.yml文件中,如下所示,并包含证书包,如下所示:

    # config/database.yml
    
    production:
      adapter: mysql2
      encoding: utf8
      pool: 5
      host: <IP ADDRESS HERE>
      database: <DATABASE NAME HERE>
      username: root
      password: <PASSWORD HERE>
      sslca: config/ssl/server-ca.pem
      sslcert: config/ssl/client-cert.pem
      sslkey: config/ssl/client-key.pem