【发布时间】:2014-05-13 14:37:48
【问题描述】:
我正在尝试将在计算实例上运行的 drupal cms 连接到 Cloud SQL 数据库,但我尝试的每个组合都失败了。我可以从另一台服务器连接到 Cloud SQl,但我不确定 MySQL 连接从我的实例到 Cloud SQL 的路径,但我还想尽可能安全地配置与 db 服务器的连接
这是我的配置
服务器
- 已分配外部 IP 地址的 Cloud SQL。也授权 计算实例的外部IP地址和独立服务器的IP 连接地址。
- 具有外部 IP 地址的计算实例在互联网上成功运行 apache & php
- 尝试按照https://drupal.org/documentation/install/run-script 的第 4 步从 Web 浏览器配置数据库连接,以便在计算实例上运行 drupal 代码
- 具有可访问 Internet 的 IP 地址的独立服务器
用户
- SQL Root 用户密码已设置并成功用于从 使用 Workbench 的独立服务器
- 创建了来自主机 % 的 Db 用户以访问 drupal 数据库,并且可以使用工作台从独立服务器成功连接
- 同一数据库用户不会从计算实例连接
网络
- 在计算实例上运行 ifconfig 只显示私有 IP 地址
- 我已经在谷歌防火墙和实例防火墙上开启了3306
我的问题是如何通过提供 dbname、dbusername、dbuserpwd、host(IPAddress) 让计算实例连接到云 SQL,以便它完全像工作台一样连接但仍然尽可能受到限制? 问题是否出在计算实例的配置、使用提供的连接设置或云 sql
【问题讨论】:
-
将应用引擎中运行的drupal连接到CloudSQL使用“localhost”,但这几乎不适用于GCE吗?
-
是否需要包含CloudSQL实例名称?
-
您能否详细说明“但仍尽可能受到限制?”。为什么您觉得目前使用 Compute Engine 无法实现这一目标?此外,如果您想尽可能安全地连接,您应该使用 SSL 加密连接并拒绝非 SSL 连接。
-
我的意思是不要采取简单(错误)的方式并从任何 IP 地址打开 MySQL 连接
-
好吧,只将您关心的特定 IP 列入白名单,包括 GCE 实例 IP。
标签: mysql drupal-7 google-cloud-sql google-compute-engine