如果我有一个Compute Engine实例池(在一个有固定IP的负载均衡器后面),我想从这些实例上的Java应用程序连接到同一项目中的云Sql数据库,那么该怎么做呢?
1)负载均衡中的这些实例没有固定的外部IP,所以我不能通过IP地址授权访问云SQL。
2) com.mysql.jdbc.GoogleDriver在计算引擎上不可用,App Engine上有。
3)如果我尝试使用常用的MySql JDBC驱动程序,它无法理解如下所示的连接字符串:
"jdbc:google:mysql://__instance_name__/__db_name__>?user=__user__&password=__password__";
and fails saying "No suitable driver found for jdbc:google:mysql://__instance_name__/__db_name__>?user=__user__&password=__password__"我不敢相信我不能轻易地从Compute Engine实例连接到同一个Google Cloud项目的Cloud SQL数据库。
我唯一的选择是使用https://cloud.google.com/sql/docs/compute-engine-access上描述的“使用Cloud SQL Proxy连接”方法吗?这似乎有大量的工作要在实例上自动完成,这些实例将进入池中,然后随意离开!
有没有人能帮我解释一下?
谢谢。
发布于 2016-09-22 14:20:35
最终能够通过Google Cloud SQL代理从dynamic-IP GCE实例连接到Google Cloud Sql数据库。因为有一些变体(同项目应用程序到数据库,不同项目应用程序到数据库),我也想在附近保留一些应用程序引擎到云SQL的连接信息,以供任何可能需要它的人使用,所以我写了一些关于它的文章,并将其放在https://roshandawrani.wordpress.com/2016/09/22/connecting-from-gce-gae-java-to-google-cloud-sql/上。希望可以在这里留下详细信息的链接,而不是在这里重现所有内容。干杯。
https://stackoverflow.com/questions/39624332
复制相似问题