更新时间:2022-05-11 GMT+08:00
分享

通过psql命令行公网连接实例

通过PostgreSQL客户端连接实例的方式有SSL连接。SSL连接通过了加密功能,具有更高的安全性。

创建RDS for PostgreSQL实例时默认开启SSL,实例创建完成后,不支持关闭。

前提条件

  1. 绑定弹性公网IP并设置安全组规则
    1. 对目标实例绑定弹性公网IP

      关于如何绑定弹性公网IP,请参见绑定弹性公网IP

    2. 获取本地设备的IP地址。
    3. 设置安全组规则。

      1.b中获取的IP地址及目标实例的端口加入安全组允许访问的范围中。

      关于如何设置安全组规则,请参见设置安全组规则

    4. 使用ping命令连通1.a中绑定的弹性公网IP,确保本地设备可以访问该弹性公网IP
  2. 使用客户端连接实例

    请参见安装PostgreSQL客户端

SSL连接

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 单击页面左上角的,选择“数据库 > 云数据库 RDS”。

    图1 云数据库 RDS

  4. “实例管理”页面,单击实例名称进入“基本信息”页面,单击“数据库信息”模块“SSL”处的,下载根证书或捆绑包。
  5. 将根证书上传至需连接RDS for PostgreSQL实例的弹性云服务器,或保存到可访问云数据库RDS实例的设备。

    将根证书导入弹性云服务器Linux操作系统,请参见将根证书导入Windows/Linux操作系统

  6. 连接云数据库RDS实例。以Linux系统为例,执行如下命令。

    psql --no-readline -h <host>-p<port>"dbname=<database>user=<user> sslmode=verify-ca sslrootcert=<ca-file-directory>"

    表1 参数说明

    参数

    说明

    <host>

    目标实例的弹性公网IP

    <port>

    端口,默认5432,当前端口,即在“实例管理”页面单击实例名称,进入“基本信息”页面,“连接信息”模块的“数据库端口”

    <database>

    需要连接的数据库名,默认管理数据库是postgres。

    <user>

    用户名,即云数据库RDS帐号,默认管理员帐号为root。

    <ca-file-directory>

    SSL连接CA证书路径,该文件需放在执行该命令的路径下。

    sslmode

    SSL连接模式,设置为“verify-ca”,通过检查证书链(Certificate Chain,以下简称CA)来验证服务是否可信任。

    出现如下提示时,输入数据库帐号对应的密码:

    Password:

    使用root用户SSL连接postgres数据库实例,示例如下:

    psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"

    Password:

  7. 登录数据库后,出现如下信息,表示通过SSL连接成功。

    SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)

后续操作

登录实例后,您可以创建数据库,进行数据迁移等操作,具体请参见:

分享:

    相关文档

    相关产品

关闭导读