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

同VPC子网下Lambda访问RDS是否走公网?公网访问配置咨询

问题解答

核心结论

AWS会自动识别这种场景,让同VPC同子网的Lambda通过私有网络访问你的RDS,不会走公网——哪怕RDS开启了Publicly accessible=Yes。

原因说明

RDS的公共端点(比如你用的example.xxxxxxxxxxxxx.us-east-1.rds.amazonaws.com)是个特殊域名:

  • 当在VPC内部(比如你的Lambda运行环境)解析这个域名时,AWS的Route 53会自动返回RDS实例的私有IP地址;
  • 只有从VPC外部(比如你的本地SSMS)解析时,才会返回公网IP。

所以你当前的Python连接字符串完全不用修改,Lambda访问这个端点时,实际走的是VPC内部的私有网络流量,不会经过公网。

验证方法(可选)

你可以在Lambda代码里加一段解析域名的逻辑,确认访问路径:

import socket
def lambda_handler(event, context):
    hostname = "example.xxxxxxxxxxxxx.us-east-1.rds.amazonaws.com"
    ip = socket.gethostbyname(hostname)
    print(f"解析得到的IP: {ip}")

运行后对比RDS控制台「连接与安全性」里的私有IP,会发现两者一致,证明是私网访问。

额外注意点

  1. 确保Lambda的安全组允许出站访问RDS的对应端口(比如SQL Server默认1433);
  2. 确保RDS的安全组允许Lambda所在安全组的入站流量(目标端口匹配数据库端口);
  3. 本地SSMS的公网访问需求不受影响:只要RDS安全组开放了你的本地公网IP访问权限,同时保持Publicly accessible=Yes,就能正常通过公网连接。

内容的提问来源于stack exchange,提问作者Astora

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:40:18