如何将数据融合连接到云SQL代理 [英] How to connect Data Fusion to Cloud SQL Proxy

查看:19
本文介绍了如何将数据融合连接到云SQL代理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将Data Fusion与云SQL MySQL内网IP互通。我读了很多参考资料,似乎这是可能的(至少我仍然不相信这是不可能的)。我到目前为止所拥有的:

  • 具有内网IP的Data Fusion私有实例。
  • 内网IP的云SQL for MySQL实例
  • 部署在虚拟机上的云SQL代理。
  • 所有东西都连接到同一个默认VPC网络。
  • 防火墙完全开放(入口、出口网段:0.0.0.0/0及所有协议端口)

从我的VM实例,我可以使用以下命令mysql -u root –host 127.0.0.1 –port 3306连接到MySQL数据库。当尝试在Cloud Fusion中使用相同的参数时,我无法建立连接。我应该检查什么,以确保所有这些设置都正确。

编辑

我最初接受了来自Ajai的答案,但后来不接受它,因为我无法在新项目中使连接工作。这里可能缺少某个元素,即需要在某个地方完成的某些操作。

推荐答案

我已成功重新创建了环境,以下是详细步骤,可能您在此过程中遗漏了一个步骤:

  1. 在私有Google访问私有网络中创建子网Configuring Private Google Access
  2. 创建连接到同一VPC的私有云数据融合实例
  3. 创建防火墙规则,允许分配的服务网络范围访问端口3307
  4. 创建附着到同一VPC的私有CloudSQL MySQL实例
  5. 按照Set up VPC Network Peering
  6. 中介绍的步骤创建云数据融合与同一VPC之间的VPC对等
  7. 在步骤1中子网中部署了一个虚拟机
  8. 通过Install the Cloud SQL Auth proxy中概述的步骤部署CloudSQL代理
  9. 使用以下命令行执行云SQL代理(注意,0.0.0.0允许绑定所有IP):
    *./cloud_sql_proxy -instances=<Instance Connection Name>=tcp:0.0.0.0:3307
  1. 在CDF控制台进行测试: Successful Connection

一旦您验证了以上内容,您就可以将CloudSQL代理作为Linux服务或启动脚本自动执行。

附注:谢谢引用我们的文章!

编辑:

如果您想要使用代理的坞站版本,请按照Ajai的回答,使用以下内容代替步骤7&;8:

sudo docker run -d 
  -p 0.0.0.0:3307:3307 
  gcr.io/cloudsql-docker/gce-proxy:latest /cloud_sql_proxy 
  -instances=<instance connection name>=tcp:0.0.0.0:3307

编辑%2

关于代理需要指出的两件关键事情是,您可能已经拥有3306 绑定到同一实例上的MySQL。使用像3307(或其他数字)这样的端口可以降低这种可能性。请注意,对于到CloudSQL本身的出站连接,CloudSQL代理使用3307How the Cloud SQL Auth proxy works

第二件事是将其设置为在0.0.0.0上侦听;如上所述,这将绑定到所有IP,允许代理侦听所有传入连接,而不是仅来自127.0.0.1的连接。

这篇关于如何将数据融合连接到云SQL代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆