如何从AWS Lambda函数连接托管在Azure云的数据库
AWS Lambda连接Azure托管数据库实现方案
完全可以实现该需求,以下是两种适配不同场景的落地方案:
方案1:复用现有企业VPN链路访问
将Lambda部署到AWS VPC的私有子网中,提前打通AWS VPC与企业内网之间的IPsec VPN或专线连接,配置私有子网路由表将访问Azure数据库的流量指向VPN/专线网关,最终流量会和你本地设备的访问路径一致,走企业公网出口访问Azure数据库。只要企业出口公网IP已经在Azure侧白名单内,不需要额外配置白名单即可正常访问。
配置注意点:需要为Lambda授予VPC访问权限的执行角色,放通Lambda安全组到Azure数据库端口的出站规则。方案2:配置独立固定公网IP访问
如果你不想依赖企业VPN链路,可以将Lambda部署在AWS VPC私有子网中,为私有子网绑定配置了弹性公网IP(EIP)的NAT网关,所有Lambda的出站公网流量都会通过该固定EIP对外访问。你只需要将这个EIP添加到Azure数据库的IP白名单中,即可直接完成访问。
该方案架构独立不耦合企业内网,仅会产生少量NAT网关和EIP的额外成本。
通用注意事项:
- 部署在VPC内的Lambda冷启动延迟会略高于非VPC部署的Lambda,对延迟敏感的业务可以配置预配置并发优化
- 确保Lambda执行环境内置了对应Azure数据库的访问驱动,依赖可以直接打包到部署包,也可以通过Lambda Layer挂载复用
- 建议使用连接池复用数据库连接,避免短连接过多触发Azure数据库的连接数上限
内容的提问来源于stack exchange,提问作者Prakhar Sharma
相关产品推荐
相关产品推荐

