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

Lambda连接AWS RDS出现No pg_hba.conf entry错误的求助

AWS RDS PostgreSQL 报 No pg_hba.conf entry 错误的原因及解决办法

问题原因

AWS RDS 托管的 PostgreSQL 不允许直接编辑服务器上的 pg_hba.conf 文件,该文件的访问规则是通过 RDS 的DB参数组来配置的。报错提示的 179.91.20.14 这个IP地址未被加入允许访问的规则列表,因此触发该错误。

另外需要注意:如果你的Lambda和RDS在同一VPC,但报错IP是公网IP,说明Lambda可能没有通过VPC内网访问RDS,而是走了公网路由,需要检查Lambda的VPC子网和路由配置。

解决办法

步骤1:准备自定义DB参数组

默认参数组无法修改,所以需要创建或使用已有的自定义参数组:

  • 登录AWS控制台,进入RDS服务
  • 切换到「参数组」页面,点击「创建参数组」
  • 参数组家族选择与你的PostgreSQL版本匹配的选项,类型选「DB参数组」,填写名称和描述后完成创建

步骤2:配置pg_hba访问规则

  • 在参数组列表中找到目标自定义参数组,点击「编辑参数」
  • 搜索 pg_hba_rules 参数,点击编辑按钮添加规则,格式示例:
    host all all 179.91.20.14/32 md5
    
    说明:
    • all all 表示允许所有数据库、所有用户访问(可根据需求限定特定库/用户)
    • 179.91.20.14/32 是要允许的IP地址及掩码,如果是Lambda所在子网段,可改为类似 10.0.1.0/24 这样的网段,适配动态IP的Lambda
    • md5 是认证方式,需与RDS实例的 password_encryption 参数一致(如果用SCRAM加密,改为 scram-sha-256)
  • 保存参数修改

步骤3:关联参数组并重启实例

  • 回到RDS实例详情页,点击「修改」
  • 在「数据库选项」中找到「DB参数组」,选择刚才配置好的自定义参数组
  • 选择「立即应用」或安排在维护窗口生效
  • 重启RDS实例(pg_hba_rules 修改需要重启才能生效)

额外检查项

  • 确认Lambda的VPC配置:确保Lambda关联的是RDS所在VPC的私有子网,且路由表中访问RDS内网地址的流量指向VPC内网路由,而非互联网网关
  • 如果Lambda需要访问外网,配置NAT网关,但RDS访问走内网即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:33:14