You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SQLYOG连接至私有子网内的非公开AWS RDS实例?

连接SQLYOG到私有子网内的AWS RDS实例

方案一:通过堡垒机(跳板机)建立SSH隧道连接

这是私有RDS访问的标准可行方案,你之前尝试堡垒机没成功,大概率是配置细节没到位,以下是可落地的步骤:

  • 前置准备:

    • 堡垒机部署在公有子网,带公网IP,安全组允许你的本地IP访问22端口(SSH)
    • 堡垒机安全组开放对应数据库端口(比如MySQL的3306),允许访问RDS实例
    • RDS安全组添加规则:允许堡垒机的私有IP访问数据库端口
  • SQLYOG具体配置:

    1. 打开SQLYOG新建连接,切换到SSH标签页
    2. 勾选「使用SSH隧道」,填写:
      • SSH主机:堡垒机的公网IP/域名
      • SSH用户名:堡垒机的登录账号(比如ec2-user)
      • 认证方式:选密码或密钥文件(密钥选.pem或.ppk格式文件)
    3. 切回常规标签页,填写:
      • 主机地址:RDS的私有IP或内网端点(不要用公网端点,私有子网RDS无此配置)
      • 端口:RDS的数据库端口(默认3306)
      • 用户名/密码:RDS的数据库账号和密码
    4. 点击「测试连接」,没问题就保存连接
  • 排错要点:

    • 先在堡垒机上测试连通性:执行mysql -h RDS内网端点 -P 3306 -u 账号 -p,确认堡垒机能连RDS
    • 本地用终端测SSH:ssh -i 密钥文件 账号@堡垒机公网IP,确保本地能连堡垒机
    • 检查安全组/网络ACL:本地→堡垒机22端口;堡垒机→RDS数据库端口;双向流量都要允许

方案二:用AWS SSM端口转发(无需公网堡垒机)

如果不想维护公有子网的堡垒机,这个方案更安全,不需要堡垒机有公网IP:

  • 前置准备:

    • 私有子网内的EC2(作为中转)已装SSM Agent,IAM角色附AmazonSSMManagedInstanceCore权限
    • 本地安装AWS CLI并配置好能访问SSM的权限
    • RDS安全组允许中转EC2的私有IP访问数据库端口
  • 操作步骤:

    1. 本地终端跑端口转发命令:
      aws ssm start-session --target 中转EC2实例ID --document-name AWS-StartPortForwardingSession --parameters '{"portNumber": ["3306"], "localPortNumber": ["3306"], "target": ["RDS内网端点:3306"]}'
      
      这条命令会把本地3306端口转发到RDS的3306端口,通过SSM会话中转
    2. 打开SQLYOG新建连接,常规标签页填:
      • 主机地址:127.0.0.1
      • 端口:3306
      • 用户名/密码:RDS的数据库账号和密码
    3. 测试连接即可
  • 提示:命令运行期间别关终端,要后台运行可以加nohup或者用screen/tmux

关于网络负载均衡(NLB)的说明

私有子网的RDS不能直接作为NLB的目标(RDS是托管服务,不支持挂载到NLB),所以这个方案从原理上就行不通,不用再尝试。

内容的提问来源于stack exchange,提问作者saad jaha kayani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:16:05