我正在将所有网站移至Google Cloud并遇到性能问题。
我在计算引擎和云SQL Server上设置了VM实例。
并使用提供的IP地址将Joomla网站从VM连接到Cloud SQL Server。(似乎是公共IP(
与网站使用VM本身内的本地数据库相比,性能确实很慢。
因此,我的问题是,有没有一种方法可以找到本地IP连接到Cloud SQL,因为我们的Web服务器也位于Google Cloud Infra本身上。
或,唯一的方法是坚持VM内的数据库?
更新
我使用本指南设置了云代理。
现在可以使用代理连接到MySQL提示。
,但仍然找不到让Joomla使用此云代理连接到数据库的方法。
通过使用云SQL代理,是从计算实例连接到云SQL实例的最快,最安全,最安全的方法。造成这种情况的原因有很多,但是这里是主要原因:
安全连接:代理将使用带有128位AES密码的TLS 1.2自动对数据库进行加密流量;SSL证书用于验证客户端和服务器身份。
更轻松的连接管理:代理使用Google Cloud SQL处理身份验证,消除了提供静态IP地址的需要。
还有一个事实,您只需要连接到数据库的静态和少量实例(1(,因此您实际上不需要过度复杂化设置,您只需将此二进制丢弃到实例中,将其作为守护程序运行,并立即在您的Cloud SQL实例上有一条快车(我在这里使用"快速车道",因为流量将通过Google Cloud的内部网络进行(。
设置Cloud SQL代理归结为启用云SQL API,提供对您对云SQL API访问的服务帐户,确保二进制文件具有执行权限(chmod +x
(,并将连接字符串授予云SQL实例。您似乎使用代理遇到问题,因此,如果您需要更多的故障排除想法,则可以在文档中找到它们。您遵循的教程应具有有关如何执行这些步骤的详细说明。
所有这些之后,并确保代理人正在运行后,将Joomla连接到数据库应该类似于您通过MySQL客户端进行操作。您应该将JOOMLA安装指向localhost
(或127.0.0.1(,给它一组凭据以访问数据库本身(您可以通过控制台创建数据库用户(,给您的JOOMLA数据库的名称,这应该是!/p>
不要忘记代理需要在TCP模式下运行!这应该像将=tcp:LOCAL_PORT_TO_LISTEN_ON
添加到您传递给代理的连接字符串参数一样简单。这是如何运行代理的示例:
./cloud_sql_proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
虚拟私有云(VPC(有助于提高性能。
专用Google访问可以使用内部IP地址而不是外部IP地址在子网络上启用虚拟机(VM(实例。您可以使用私人的Google访问允许无需访问Internet即可到达Google Services。
在这里您将获得更多详细信息:https://cloud.google.com/vpc/docs/private-google-access