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

本地笔记本无法通过SMSS连接AWS RDS MS SQL Server的求助

如何在不开启公网访问的情况下从本地连接AWS RDS MS SQL Server

因为你不想开启RDS的公网访问权限,以下是几种安全可行的方案,按操作复杂度排序:

方案1:使用AWS Client VPN(适合个人长期使用)

这是最直接的方式,相当于在你的本地笔记本和AWS VPC之间建立加密VPN隧道,让本地设备接入VPC私有网络环境。

操作步骤:

    1. 在AWS控制台创建Client VPN端点:
    • 选择与RDS实例相同的VPC
    • 配置认证方式(推荐用AWS IAM认证,快速上手)
    • 设置VPN的CIDR范围(注意不要和RDS VPC的CIDR重叠,比如RDS用10.0.0.0/16,VPN可设10.1.0.0/16)
    1. 关联RDS所在的私有子网到Client VPN端点
    1. 配置安全组:
    • 给RDS的安全组添加入站规则:允许VPN的CIDR范围访问1433端口(MS SQL默认端口)
    • 确保Client VPN的安全组允许出站到RDS私有子网IP段和1433端口
    1. 下载Client VPN配置文件,在本地安装AWS VPN客户端并导入该配置
    1. 连接VPN后,使用RDS的私有IP地址或内网端点(如mydb.xxxxxx.us-east-1.rds.amazonaws.com,该域名会解析到私有IP)连接MS SQL

方案2:使用AWS Systems Manager Session Manager端口转发(临时/快速测试)

如果不想搭建VPN,可通过SSM端口转发功能,借助VPC内的一台EC2实例中转,实现本地到RDS的连接。

操作步骤:

    1. 准备一台和RDS同VPC的EC2实例(可选最低配t2.micro,成本极低):
    • 确保EC2实例已安装SSM Agent(Amazon Linux 2、Windows Server等官方镜像默认已安装)
    • 给EC2实例的IAM角色添加AmazonSSMManagedInstanceCore权限
    1. 配置安全组:
    • 给RDS的安全组添加入站规则:允许EC2实例的私有IP访问1433端口
    • EC2的安全组无需开放公网端口,SSM默认用443端口,AWS会自动处理访问
    1. 本地环境准备:
    • 安装AWS CLI并配置有权限的凭证(需要ssm:StartSession权限)
    • 安装Session Manager插件
    1. 运行端口转发命令:
    aws ssm start-session --target <EC2实例ID> --document-name AWS-StartPortForwardingSessionToRemoteHost --parameters '{"host":["<RDS私有IP>"], "portNumber":["1433"], "localPortNumber":["1433"]}'
    
    1. 保持命令窗口打开,在本地MS SQL客户端连接localhost:1433即可

现有配置的检查要点

你之前添加的安全组入站规则(允许自身公网IP)在关闭公网访问的情况下无效,因为RDS处于私有子网,无法直接接收公网IP的请求,需改成对应方案的源(VPN CIDR或EC2私有IP)。

另外检查VPC网络ACL:

  • 入站规则:允许1433端口,源为VPN CIDR/EC2私有IP
  • 出站规则:允许1024-65535端口(MS SQL客户端的随机端口),目标为VPN CIDR/本地IP段

内容的提问来源于stack exchange,提问作者A. Gh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:35:12