Vercel应用连接AWS RDS的安全方案咨询及Site-to-Site VPN可行性确认
Vercel连接AWS RDS的安全方案及Site-to-Site VPN说明
关于Site-to-Site VPN
Vercel不提供Site-to-Site VPN功能,官方目前没有支持该特性的计划,你需要通过其他AWS服务或替代方案实现安全连接。
安全连接AWS RDS的可行方案
1. 限制RDS安全组仅允许Vercel出站IP访问
这是最直接的低成本方案,核心是缩小RDS的公网访问范围:
- 获取Vercel官方公布的出站IP列表,这些IP是Vercel函数和部署应用的固定出站地址
- 在AWS控制台进入RDS实例的安全组配置,修改入站规则:
- 针对数据库端口(如MySQL用3306、PostgreSQL用5432),将来源设置为Vercel的IP段
- 移除所有开放到
0.0.0.0/0的公网访问规则
- 注意:Vercel会不定期更新IP列表,建议用脚本或AWS Lambda自动同步最新IP到安全组,避免连接中断
2. 使用AWS PrivateLink实现私网访问
通过PrivateLink让Vercel应用直接通过AWS私网访问RDS,流量完全不经过公网:
- 在你的AWS VPC中创建RDS对应的VPC端点(Endpoint类型选择"Interface")
- 确保RDS实例关闭公网可访问选项,仅保留私网地址
- 配置VPC端点的安全组,允许Vercel的出站IP访问该端点的数据库端口
- 在Vercel应用的环境变量中,将数据库连接地址替换为PrivateLink端点的DNS名称
3. 借助AWS Bastion主机建立SSH隧道
如果无法使用PrivateLink,可通过Bastion主机做中转:
- 在AWS VPC中创建一台Bastion主机,安全组仅允许Vercel出站IP访问SSH端口(22)
- 配置Bastion主机的安全组,允许其访问RDS实例的数据库端口
- 在Vercel的Serverless函数中,通过SSH隧道库(如
ssh2)建立到Bastion的连接,再通过隧道转发数据库请求 - 注意:Serverless函数的生命周期较短,需要处理连接复用或重连逻辑
4. Vercel Enterprise计划专属:VPC对等连接
如果你的团队使用Vercel Enterprise计划,可以申请VPC Peering:
- 将Vercel的专用VPC与你的AWS VPC建立对等连接
- 配置AWS VPC的路由表,允许Vercel VPC的IP段访问RDS实例所在子网
- 这种方案可以实现完全内网的直接访问,安全性最高,但仅面向付费企业用户
内容的提问来源于stack exchange,提问作者vanillayz 000
相关产品推荐
相关产品推荐

