postgresql - 如何在 ssh 进入堡垒主机后连接到 rds 私有实例
问题描述
将 ssh 连接到堡垒主机后,如何连接 rds 私有实例。
我创建了一个具有以下配置的 VPC:
- 公共子网中的堡垒(EC2 实例)
- 连接到 AWS RDS 的两个私有子网...
我能够通过 SSH 进入堡垒,但我无法像在本地使用psql postgres
.
我尝试从这里执行这些步骤:https ://aws.amazon.com/premiumsupport/knowledge-center/rds-connect-using-bastion-host-linux/但我无法复制私钥,它太长而且确实不行
我也试过psql --host=yyy.xxx.us-east-z.rds.amazonaws.com --port=5432 --username=someusername --password --dbname=postgres
了,这就是有人通过 psql 连接的方式,而我在终端中收到的错误消息是The program 'psql' is currently not installed. You can install it by typing...
(我不应该安装 psql,我想因为使用公共 RDS 我不安装它......,不是吗?)
目前唯一有效的是我能够telnet RDS Endpoint:5432
并且它有效
我正在使用 terraform,所以我的安全组是:
resource "aws_security_group" "rds" {
name = "rds"
vpc_id = aws_vpc.main.id
ingress {
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
ingress {
protocol = "tcp"
from_port = 5432
to_port = 5432
cidr_blocks = ["0.0.0.0/0"]
}
}
任何帮助都会有所帮助
解决方案
根据评论。
这个问题是由于在堡垒上失踪造成的。 psql
通过安装解决了。