首次搭建Chainlink节点执行启动命令时出现数据库连接报错
Chainlink节点AWS部署数据库连接问题解决方案
- 首先修正启动命令的格式错误,你当前使用的命令中镜像名和版本号之间多了多余空格,正确命令格式如下(替换为你实际使用的镜像版本):
cd ~/.chainlink-kovan && docker run -p 6688:6688 -v ~/.chainlink-kovan:/chainlink -it --env-file=.env smartcontract/chainlink:<替换为实际版本号> local n - 校验.env配置文件中的
DATABASE_URL参数:
AWS托管的PostgreSQL数据库默认要求SSL连接,正确的参数格式为:
注意不要遗漏DATABASE_URL=postgresql://<数据库用户名>:<数据库密码>@<RDS实例Endpoint地址>:5432/<数据库名>?sslmode=requiresslmode=require后缀,同时检查Endpoint地址、端口、用户名、密码是否存在拼写错误、多余空格。 - 核查AWS安全组与实例配置:
- 部署Chainlink节点的EC2实例出站规则需开放目标为RDS实例安全组的5432端口权限
- RDS实例的入站规则需开放来源为Chainlink节点EC2实例安全组的5432端口权限
- 若使用公网连接RDS,需确认RDS实例的「公开访问」选项已开启;若使用私网部署,需确认EC2与RDS在同一VPC下,且私网DNS解析功能已开启。
- 先在EC2宿主机层面验证数据库连通性,执行以下命令确认网络链路正常:
若返回连接成功再启动Chainlink容器,若连接失败先排查VPC路由、网络ACL等底层网络配置。nc -zv <你的RDS实例Endpoint地址> 5432
内容的提问来源于stack exchange,提问作者Pierre Previsionz
相关产品推荐
相关产品推荐

