我被困在关于CloudSQL的一件事上。
我的WordPress应用程序在GCE上运行,我创建了实例组,因此我将使用AutoScaler。
对于Db,我正在使用CloudSQL。
现在卡住的是CloudSQL中的"授权网络",因为它只接受IPV4公共IP。
当发生自动扩展时,我如何知道哪个 IP 将附加到实例,以便我的实例知道数据库的位置?
我可以将CloudSQL IP硬编码为CNAME
但是从CloudSQL方面,我无法弄清楚如何提供访问权限。我可以让我的数据库访问全部打开
如果你能让我知道我错过的点是什么。
我也使用了 cloudsql 代理,但这并没有附带 Linux 中的服务......我希望你能理解我的情况。如果您想分享任何想法,请告诉我。
谢谢
建议的方法是使用第二代实例和云 SQL 代理,需要在 Linux 上配置代理,并使用提供的服务帐户凭据启动它,如提供的链接中所述。
另一种方法是在 GCE 实例模板中使用启动脚本,以便您可以获取新实例的外部 IP 地址,并使用 gcloud sql 实例补丁命令将其添加到云 SQL 实例的授权网络中。通过使用关闭脚本,可以通过相同的方式从授权网络中删除 IP。可以通过运行以下命令从元数据中检索 GCE 虚拟机实例的外部 IP 地址:
$ curl "http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip" -H "Metadata-Flavor: Google".