【问题标题】:Allow access to CloudSQL from all GCE instances允许从所有 GCE 实例访问 CloudSQL
【发布时间】:2014-05-07 15:09:47
【问题描述】:

是否可以从所有(当前和未来)GCE 实例授予对我的 CloudSQL 实例的全面访问权限?我已经尝试为我的项目实例添加 /16 内部网络块地址(从“计算引擎”下的“网络”选项卡复制:10.240.0.0/16)但这不会保存 - 看来我只能添加单机 (/32) IP 地址。

【问题讨论】:

    标签: google-cloud-sql google-compute-engine


    【解决方案1】:

    您需要使用机器的外部 IP,虽然它们(GCE 和 Cloud SQL)都在 Google 的数据中心,但您无法使用内部 IP 在两者之间进行通信。

    我认为没有本地方式允许从项目中的任何实例进行访问。唯一的方法是让您自己的应用程序在您的一个实例上运行,并使用 GCE api 定期查询正在运行的实例,获取它们的外部 ip,然后使用 CloudSQL API 修改 CloudSQL 实例上的安全配置。

    您可以稍微改进这一点,创建一个静态 IP 池,分配给要访问 CloudSQL 实例的 GCE 机器,这样 IP 不会改变,副作用是您需要为 IP 付费您已保留但尚未分配给实例。

    除此之外,您还必须设置允许任何 IP 访问的规则(例如 1.0.0.0/0),这不是一个好主意。

    【讨论】:

    • 呃。我担心会是这样。每次我启动或关闭 GCE 实例时,都必须从白名单中添加/删除 IP 地址,这真的很痛苦。我希望 Google 能尽快为此提供某种解决方案……
    • 我想对此添加评论以避免计费混乱。我担心即使是与 Cloud SQL 通信的 GCE VM 实例也只能添加外部 IP,其中一个问题是害怕为我的 Cloud SQL 实例和我的 GCE VM 之间的出口流量付费。 Google 的网络足够智能,即使它是 Cloud SQL 和 GCE VM 实例之间通信的外部 IP,它也不会向您收取出口流量费用,因为它知道它是自己的网络。
    • 现在我所做的是将授权网络设置为 0.0.0.0/0,并为 root 和其他用户帐户设置一个强密码并定期更改它们。不是一个好的解决方案,但选择不多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2016-07-23
    • 2016-07-21
    • 2022-11-29
    相关资源
    最近更新 更多