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

如何让AWS Lambda访问EC2上的PostgreSQL数据库

排查Lambda无法访问EC2上PostgreSQL的缺失步骤
  • 确认Lambda的VPC配置:Lambda必须设置为在VPC内运行,且关联的子网要和EC2实例所在子网(或同VPC内可路由的子网)一致。默认“不在VPC”模式下的Lambda,即便安全组配置正确,也无法直接访问EC2的私有IP。
  • 检查PostgreSQL监听地址:修改postgresql.conf里的listen_addresses参数为'*'或EC2的私有IP,默认仅监听localhost会导致外部(包括Lambda)无法连接,修改后需重启PostgreSQL服务。
  • 配置PostgreSQL访问权限:在pg_hba.conf中添加允许Lambda安全组访问的规则,示例:
    host    all             all             sg-xxxxxxxxx/32        scram-sha-256
    
    其中sg-xxxxxxxxx是Lambda的安全组ID,配置完成后重启PostgreSQL生效。
  • 验证子网路由表:若Lambda和EC2在不同子网,需确认子网路由表包含VPC内部路由,避免流量被强制导向公网(自定义VPC需重点检查,默认VPC通常已配置)。
  • 核对EC2的IP使用方式:Lambda中优先使用EC2的私有IP访问,无需依赖公网;若用公网IP,需确保Lambda所在子网有访问公网的权限(比如配置NAT网关)。
  • 修正安全组入站规则:EC2安全组的入站规则,需明确允许Lambda的安全组访问PostgreSQL默认端口5432,而非像个人IP那样使用CIDR地址段。规则类型选PostgreSQL或自定义TCP端口5432,来源直接选择Lambda的安全组ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:45:38