是否可以通过主机计算引擎虚拟机的内部或外部 IP 连接到 Cloud SQL 代理?

Cya*_*yac 2 google-cloud-sql google-cloud-platform cloud-sql-proxy

我正在测试以下配置。

  • 区域 X 区域 A 中的 Cloud SQL (tetsql-1)
  • 同一区域 X 区域 A 中的计算引擎虚拟机 (TestVM-1)。操作系统为 Centos 7
  • Compute Engine 虚拟机正在非默认端口 (9090) 上运行云 SQL 代理

通过上述配置,我可以使用以下命令从 TestVM-1 登录到 testsql-1:

  `mysql -h 127.0.0.1 --port 9090 -u testuser -D testDB -p`
Run Code Online (Sandbox Code Playgroud)

但是我无法在上述命令中使用 TestVM-1 的内部 IP。它给出了一个错误。

另一个观察结果是我能够做到telnet 127.0.0.1 9090,但是当我尝试telnet <VM -Internal-IP> 9090返回连接拒绝错误时。

有谁知道这是否是预期的行为?如果这是预料之中的,为什么会这样呢?

J.G*_*cía 6

云代理默认使用 127.0.0.1 接受连接。

要配置另一个 IP 地址,您必须在实例参数中设置它:

./cloud_sql_proxy -instances=<myCloudSQLproject:myCloudSQLzone:mycloudsqlinstance>=tcp:<IP_Address>:<PORT>
Run Code Online (Sandbox Code Playgroud)

像这样的东西:

./cloud_sql_proxy -instances=project_xxx:us-central1:database_yyy=tcp:10.203.23.12:9090
Run Code Online (Sandbox Code Playgroud)

此配置也允许从其他主机连接到此云代理。