问题描述
我试图用SSL连接到无服务器的aurora无服务器PostGREsql RDS实例,但徒劳。
我的RDS位于一个私有子网组(2个私有子网)上,我正在尝试从位于公共子网中的EC2实例进行连接。
有效方法:
psql -h "mydb.cluster-cyjoviss5z9y.eu-central-1.rds.amazonaws.com" -p 5432 -d "dbname=mydb user=postgres password=NVmxeyQRXIzW50xx"
psql (9.2.24,server 10.7)
WARNING: psql version 9.2,server version 10.0.
Some psql features might not work.
SSL connection (cipher: ECDHE-RSA-AES256-GCM-SHA384,bits: 256)
Type "help" for help.
mydb=
但是,这不起作用: psql -h“ mydb.cluster-cyjoviss5z9y.eu-central-1.rds.amazonaws.com” -p 5432 -d“ dbname = mydb user = postgres password = NVmxeyQRXIzW50xx sslmode = verify-ca”
错误: psql:根证书文件“ /home/ec2-user/.postgresql/root.crt”不存在
与sudo相同的上述命令有效,但是当我验证连接时,它仍然显示:
mydb=> select ssl_is_used();
ssl_is_used
-------------
f
(1 row)
因此,按照here页中的建议,我从this下载了根证书。它甚至提到AWS Serverless实例不需要下载根证书。
我使用this将PEM文件转换为CRT。我尝试给root.crt文件提供777和600的权限,但都无济于事。
解决方法
显然,AWS仍不支持Postgres Aurora数据库的SSL连接!