如何仅向特定IP地址开放AWS RDS实例访问权限
特定本地IP访问私有子网RDS的实现方案
可以实现,无需堡垒机就能让指定的本地IP访问私有子网内的RDS实例,核心是打通本地与AWS VPC的可信连接,再通过路由+安全策略做精准限制,具体步骤如下:
1. 建立本地与VPC的网络互通
首先得让本地网络和AWS VPC能互相访问,常用两种方式:
- Site-to-Site VPN:在本地网关与AWS VPC之间搭建IPsec VPN隧道,将本地IP段纳入VPC的路由范围。
- Direct Connect:若需稳定高速连接,通过专线将本地数据中心与AWS直接互联,同步本地IP段到VPC路由体系。
2. 配置私有子网路由表
找到RDS所在私有子网关联的路由表,添加路由规则:
- 目标地址:填写你要允许的单个本地IP/IP段(比如
192.168.1.5/32) - 下一跳:指向已创建的VPN网关或Direct Connect网关
这条规则会将来自指定本地IP的流量精准路由到私有子网的RDS实例。
3. 配置RDS安全组(核心访问控制)
RDS的安全组是最直接的访问控制层,配置入站规则:
- 协议选择
TCP,端口填写你的数据库端口(如MySQL用3306、PostgreSQL用5432) - 来源设置为允许的本地IP/IP段
出站规则保持默认即可,安全组会自动放行RDS的响应流量。
4. 可选:补充VPC网络ACL防护
如果需要额外的安全屏障,给RDS所在私有子网配置NACL:
- 入站规则:允许来自指定本地IP/IP段、对应数据库端口的TCP流量,设置较高优先级(如100)
- 出站规则:允许RDS返回的TCP流量到指定本地IP/IP段
关键注意点
- 全程不要给RDS分配公网IP,保持其私有子网部署状态,避免公网暴露风险
- 确保本地网关已配置对应路由,让本地流量能正确发往AWS的VPN/Direct Connect端点
- 安全组是状态型规则,入站放行后自动允许响应流量;NACL是非状态型,需同时配置入站和出站规则
内容的提问来源于stack exchange,提问作者Rafael
相关产品推荐
相关产品推荐

