Given是一个运行在Google App Engine上的PHP应用程序,它需要使用2代中的MySql连接到GCloud SQL实例。
我很好奇我是否应该按照官方Google docs中的说明将IP地址用于任何mysql连接,或者如果Google可以更改IP地址,我们是否可以使用主机名之类的名称来防止中断。
到目前为止,我在Google云控制台中看到的是一个实例名称,例如
my-example-instance:europe-west3:databasename
。
但是由于他们在名称中使用冒号,因此我们无法将其用作主机名(根据RFC 952,如果我正确理解,冒号不是主机名的有效字符)。
我的问题:
在GCloud应用程序中使用ip地址进行mysql连接是否可靠(当Google App Engine上的应用程序连接到GCloud SQL实例时)?
如果没有,我们可以改用一个稳定的,可正常工作的主机名吗?
如果没有,如何正确完成?
答案 0 :(得分:1)
通常,在使用GCP时,最好的选择是遵循官方文档。这将防止您遇到不受支持的案件,并使您轻松获得帮助和支持。
对于在Google App Engine上运行的PHP应用程序,推荐的方法是使用 具有下一种格式的实例连接名称(请注意,这不是主机名):
project_id:region:cloud_sql_instance_name
有关使用App Engine标准版的详细说明,请参阅:https://cloud.google.com/appengine/docs/standard/php/cloud-sql/using-cloud-sql-mysql
对于App Engine Flex,您可以参考: https://cloud.google.com/appengine/docs/flexible/php/using-cloud-sql
总结并解决您的问题:
这是可靠的(重启后您的Cloud SQL ip地址不会更改),但是,这不是App Engine应用程序推荐的方法。
我不这么认为。
使用名为主机名的实例连接。