gpt4 book ai didi

google-cloud-platform - 如何将 Data Fusion 连接到 Cloud SQL 代理

转载 作者:行者123 更新时间:2023-12-04 01:03:44 25 4
gpt4 key购买 nike

我正在尝试使用私有(private) IP 将 Data Fusion 与 Cloud SQL MySQL 连接起来。我已经阅读了很多资源,它似乎是可能的(至少我仍然不相信这是不可能的)。到目前为止我所拥有的:

  • 具有私有(private) IP 的 Data Fusion 私有(private)实例。
  • 具有私有(private) IP 的 Cloud SQL for MySQL 实例。
  • 部署在虚拟机上的 Cloud SQL 代理。
  • 所有内容都连接到相同的默认 VPC 网络。
  • 防火墙完全打开(IP 范围的入口、导出:0.0.0.0/0 和所有协议(protocol)端口)

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

编辑

我最初接受了 Ajai 的回答,但后来又取消了,因为我无法在新项目中建立连接。可能有一个元素,一些需要在某处完成的事情,这里遗漏了。

最佳答案

我已经成功地重新创建了环境,这里是详细的步骤,也许你错过了其中的一个步骤:

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

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

附言感谢您引用我们的文章!

编辑:

如果您想使用代理的 docker 版本,请使用以下内容代替 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绑定(bind)到同一实例上的 MySQL。使用像 3307(或其他号码)这样的端口可以减少这种可能性。请注意,对于与 CloudSQL 本身的出站 连接,CloudSQL 代理确实使用 3307 How the Cloud SQL Auth proxy works .

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

关于google-cloud-platform - 如何将 Data Fusion 连接到 Cloud SQL 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67235351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com