【发布时间】:2014-05-07 15:09:47
【问题描述】:
是否可以从所有(当前和未来)GCE 实例授予对我的 CloudSQL 实例的全面访问权限?我已经尝试为我的项目实例添加 /16 内部网络块地址(从“计算引擎”下的“网络”选项卡复制:10.240.0.0/16)但这不会保存 - 看来我只能添加单机 (/32) IP 地址。
【问题讨论】:
标签: google-cloud-sql google-compute-engine
是否可以从所有(当前和未来)GCE 实例授予对我的 CloudSQL 实例的全面访问权限?我已经尝试为我的项目实例添加 /16 内部网络块地址(从“计算引擎”下的“网络”选项卡复制:10.240.0.0/16)但这不会保存 - 看来我只能添加单机 (/32) IP 地址。
【问题讨论】:
标签: google-cloud-sql google-compute-engine
您需要使用机器的外部 IP,虽然它们(GCE 和 Cloud SQL)都在 Google 的数据中心,但您无法使用内部 IP 在两者之间进行通信。
我认为没有本地方式允许从项目中的任何实例进行访问。唯一的方法是让您自己的应用程序在您的一个实例上运行,并使用 GCE api 定期查询正在运行的实例,获取它们的外部 ip,然后使用 CloudSQL API 修改 CloudSQL 实例上的安全配置。
您可以稍微改进这一点,创建一个静态 IP 池,分配给要访问 CloudSQL 实例的 GCE 机器,这样 IP 不会改变,副作用是您需要为 IP 付费您已保留但尚未分配给实例。
除此之外,您还必须设置允许任何 IP 访问的规则(例如 1.0.0.0/0),这不是一个好主意。
【讨论】: