【问题标题】:GCP using VM to connect to Cloud SQL via Cloud SQL Auth Proxy Private IPGCP 使用 VM 通过 Cloud SQL Auth Proxy Private IP 连接到 Cloud SQL
【发布时间】:2021-11-30 05:23:12
【问题描述】:

我在通过 Cloud SQL Auth ProxyGCP Compute Engine VM 连接到使用私有 IP(非公共)配置的 Cloud SQL 实例时遇到问题。

执行后

$ ./cloud_sql_proxy -instances=INSTANCE_CONN_NAME=tcp:3306

我看到以下输出:

2021/10/11 12:29:24 Rlimits for file descriptors set to {Current = 8500, Max = 1048576}

2021/10/11 12:29:28 Listening on 127.0.0.1:3306 for *CLOUD-SQL-CONNECTION-NAME*

2021/10/11 12:29:28 Ready for new connections

2021/10/11 12:29:28 Generated RSA key in 101.010024ms

在我读过的关于这个主题的任何教程中,我还没有看到关于上述内容的最终声明。

CTRL-C出上面,我被显示出来了:

^C2021/10/11 12:29:39 Received TERM signal. Waiting up to 0s before terminating.

然后我运行以下命令连接到我的 Cloud SQL 实例:

mysql -u root -p --host 127.0.0.1

返回:

Enter password: (password entered)

输入密码后返回:

ERROR 2005 (HY000): Unknown MySQL server host 'CLOUD-SQL-PROXY-IP-ADDRESS:3306' (22)

以下是一些附加信息:

  • 我的 VM (Ubuntu) 与我的 Cloud SQL 实例位于同一区域,并且位于同一 VPC 网络中。
  • 我的 CLoud SQL Admin API 已启用
  • Cloud SQL 实例仅配置了私有 IP(非公共)
  • 我已经在我的 VM 中安装了 MySQL 客户端
  • 我的 VM 上 Cloud Access API 的范围包括 Cloud SQL(对所有 API 的完全访问权限)
  • 我自己和虚拟机的服务帐号都拥有 Cloud SQL 管理员权限

【问题讨论】:

  • 由于您隐藏了地址,因此很难确切知道命令是什么。试试这个命令:mysql -u root -p --host localhost
  • 只能显示IP地址的前几位吗?
  • 安装中的CLOUD-SQL-PROXY-IP-ADDRESS 指的是什么?
  • 你为什么要停止代理?您是否尝试在后台进程中启动它?顺便说一句,关于生成 RSA 密钥的消息是最近更改的,因此较旧的教程可能不会包含它。
  • @JohnHanley 感谢您的建议,但没有奏效。我用CLOUD-SQL-PROXY-IP-ADDRESS引用的IP地址是输入以下命令后返回的云代理IP地址./cloud_sql_proxy -instances=INSTANCE_CONN_NAME=tcp:3306

标签: mysql google-cloud-platform google-cloud-sql cloud-sql-proxy


【解决方案1】:

来自docs

Cloud SQL Auth 代理不提供新的连接路径;它依赖于现有的 IP 连接。要使用私有 IP 连接到 Cloud SQL 实例,Cloud SQL 身份验证代理必须位于可以访问与实例相同的 VPC 网络的资源上。

这意味着除非您在同一个 VPC 中,否则您将无法访问该实例,因此您需要 vm、隧道或公共 IP。

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2020-08-31
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多