无需EC2访问私有Amazon RDS的无服务器场景方案咨询
私有RDS无服务器架构访问实现方案
需求可完全实现,调整为私有部署后原有SSL连接可正常使用,无需修改SSL相关配置。
一、RDS转为私有实例操作步骤
- 确认RDS所在VPC拥有至少2个私有子网,子网关联路由表无指向互联网网关(IGW)的公网路由
- 进入RDS控制台修改实例配置,将「公共可访问性」参数设置为否,重启实例后RDS将仅保留私有IP,无公网访问入口
- 调整RDS关联安全组,默认拒绝所有入站流量,后续仅单独开放授权来源的访问权限
二、配置指定Lambda访问私有RDS
- 将Lambda函数配置为部署在与RDS相同的VPC私有子网下,为Lambda执行角色添加
AWSLambdaVPCAccessExecutionRole托管权限策略 - 修改RDS安全组入站规则,允许Lambda关联的安全组访问3306端口,无需开放任何公网来源
- 原有Lambda代码中的SSL连接配置无需修改,SSL为传输层加密逻辑,与网络链路为公网/私有网络无关,可正常完成证书验证建立加密连接
三、配置本地设备访问私有RDS(无EC2实例方案)
两种纯托管方案均符合无服务器架构要求,无需维护服务器:
方案1:轻量单人/临时访问场景
在RDS所在VPC中部署3个SSM接口端点:com.amazonaws.<区域>.ssm、com.amazonaws.<区域>.ssmmessages、com.amazonaws.<区域>.ec2messages
本地安装AWS CLI及Session Manager插件后,执行以下端口转发命令:
aws ssm start-session \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters host="<RDS私有域名>",portNumber="3306",localPortNumber="3306"
命令执行后本地3306端口将映射到私有RDS的3306端口,MySQL Workbench直接连接本地127.0.0.1的3306端口即可,原有SSL配置保持不变即可正常建立加密连接。
方案2:多成员长期访问场景
部署托管AWS Client VPN端点,关联到RDS所在VPC的私有子网,配置身份验证规则仅允许授权用户接入。本地设备通过VPN客户端连接后可直接访问RDS私有域名,SSL配置无需修改。
内容的提问来源于stack exchange,提问作者dev54bj
相关产品推荐
相关产品推荐

