首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google云函数上的sshtunnel转发和mysql连接

问google云函数上的sshtunnel转发和mysql连接
EN

Stack Overflow用户
提问于 2020-11-06 03:01:22
回答 1查看 256关注 0票数 0

我正在尝试通过我的一个google cloud函数上的ssh隧道连接到MySQL服务器。这在我的家庭环境中工作得很好。我假设这是云函数上的一些端口问题。

编辑:为了澄清,MySQL服务器位于Namecheap共享主机web服务器上。不是Google Cloud SQL

每次运行此命令时,我都会超时,并显示“未知错误”。隧道似乎成功。但是,我无法使mysql连接正常工作。

代码语言:javascript
复制
import base64
import sshtunnel
import mysql.connector

def testing(event, context):
    """
    Testing function
    """
    with sshtunnel.SSHTunnelForwarder(
        ("server address", port),
        ssh_username="user",
        ssh_password="password",
        remote_bind_address=("127.0.0.1",3306),
    ) as server:
        print(server.local_bind_port)
        with mysql.connector.connect(
            user="user",
            password="password",
            host="localhost",
            database="database",
            port=server.local_bind_port
        ) as connection:
            print(connection)

​

​

EN

回答 1

Stack Overflow用户

发布于 2020-11-10 02:54:39

要列出的步骤太多了,但我想知道“连接器”设置是否对SSH也有影响。也许你必须创建一个连接器,如here所示(请注意“私有IP”选项卡中的说明与本地计算机上的说明是如何不同的)。然后,配置Cloud Functions以使用该连接器。确保您也使用了正确的端口。

无服务器私有网络访问连接器处理与您的私有网络的通信。如需内网IP专线,您需要:

  1. 请确保上面创建的云SQL实例具有内网IP地址。如果您需要添加内网IP地址,请参阅配置内网IP页面中的说明。

  1. 在您的云SQL实例所在的私有网络中创建一个无服务器的私有网络访问连接器。除非您使用的是共享私有网络,否则连接器必须与使用它的资源处于相同的项目和地域,但连接器可以将流量发送到不同地域的资源。无服务器VPC访问支持与通过云VPN和VPC网络对等连接的VPC网络进行通信。无服务器私有网络访问不支持旧网络。

  1. 配置云函数以使用连接器。

使用实例的内网IP和端口3306进行

  1. 连接。

请记住,这个“未知”错误也很可能是由于云SQL Admin API未在here中启用。事实上,确保你关注整个页面,因为这是一个宽泛的问题。

让我们知道是什么导致了这种类型的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64703736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档