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

无法在AWS Cloud Shell安装postgresql-client,如何连接AWS RDS PostgreSQL?

在AWS Cloud Shell中连接AWS RDS PostgreSQL的解决方案

1. 解决apt: command not found错误

AWS Cloud Shell默认基于Amazon Linux系列发行版(非Debian/Ubuntu),不支持apt包管理器,需使用对应系统的包管理工具安装PostgreSQL客户端:

  • 针对Amazon Linux 2:
sudo yum install -y postgresql
  • 针对Amazon Linux 2023:
sudo dnf install -y postgresql

安装完成后,执行psql --version验证安装状态。

2. 解决Cloud Shell会话超时/连接丢失问题

  • 直接刷新浏览器页面,重新初始化Cloud Shell会话
  • 若浏览器端问题持续,可通过本地终端的AWS CLI连接Cloud Shell:
    1. 确保本地已安装并配置AWS CLI
    2. 执行命令启动会话:
    aws cloudshell start-session
    
  • 检查本地网络稳定性,避免代理或防火墙拦截AWS服务连接

3. 从Cloud Shell连接AWS RDS PostgreSQL的步骤

前提配置

  • 调整RDS安全组规则:在Cloud Shell中执行curl ifconfig.me获取当前出口IP,为RDS实例的安全组添加入站规则,允许该IP访问5432端口;若RDS在VPC内,也可配置VPC端点实现内网访问(更安全)
  • 确认RDS实例的「公共可访问性」设置为是(公网连接场景),或已配置VPC端点(内网连接场景)

标准密码连接

安装客户端后,使用psql命令直接连接:

psql -h <RDS实例端点> -p 5432 -U <数据库用户名> -d <数据库名称>

输入数据库用户密码即可完成连接。

可选:IAM认证连接(安全增强)

若RDS实例启用了IAM认证,可通过以下步骤连接:

  1. 为当前IAM角色/用户添加rds-db:connect权限
  2. 在Cloud Shell中生成临时认证令牌:
export RDS_HOST="<RDS实例端点>"
export RDS_PORT="5432"
export RDS_IAM_USER="<IAM认证用户名>"
export RDS_DB="<数据库名称>"

export PGPASSWORD=$(aws rds generate-db-auth-token --hostname $RDS_HOST --port $RDS_PORT --username $RDS_IAM_USER)
  1. 使用令牌连接数据库:
psql "host=$RDS_HOST port=$RDS_PORT user=$RDS_IAM_USER dbname=$RDS_DB sslmode=require"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:50:50