经典网络ECS访问专有网络RDS PostgreSQL实例

本文介绍如何通过建立ClassicLink连接,使经典网络类型的ECS实例可以和专有网络VPC中的RDS PostgreSQL实例实现内网互通。

背景信息

随着RDS PostgreSQL产品的演进,云盘版实例已不再支持经典网络,推荐使用更安全的专有网络(VPC)类型。如果您的ECS实例为经典网络,建议您将经典网络ECS迁移至与RDS PostgreSQL相同的VPC,以实现更安全的内网互通。如果您暂无ECS的迁移计划,也可以参考本文档,实现经典网络ECS访问专有网络RDS PostgreSQL实例。

前提条件

  • ECS实例的网络类型为经典网络

  • RDS实例的网络类型为专有网络

  • ECS实例与RDS实例在同一地域。

  • RDS实例已将ECS实例的内网IP添加至白名单分组中,具体操作请参见设置白名单

操作步骤

  1. 为RDS实例使用的专有网络VPC开启ClassicLink。

    1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

    2. 在左侧导航栏单击数据库连接

    3. 单击网络类型后的VPC ID,进入专有网络管理控制台。VPCID

    4. 在专有网络管理控制台右上角单击开启ClassicLink开启ClassicLink

    5. 在弹出的对话框中单击确定

  2. 为ECS实例设置ClassicLink安全组。

    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择实例与镜像 > 实例,然后在顶部选择地域。

    3. 找到目标经典网络类型ECS实例,在操作列中,选择点点 > 网络和安全组 > 设置专有网络连接状态设置实例连接状态

    4. 在弹出的对话框中选择目标专有网络VPC,单击确定

    5. 单击前往实例安全组列表添加classicLink安全组规则前往xx配置

    6. 在目标安全组的操作列单击管理规则

    7. 安全组规则页面,单击右上角的添加ClassicLink安全组规则,根据以下信息配置ClassicLink安全组规则后,单击确定添加ClassicLink规则

      配置项

      说明

      经典网络安全组

      显示经典网络安全组的名称,无需配置。

      选择专有网络

      选择目标专有网络。

      选择专有网络安全组

      选择专有网络中需要互通的安全组。

      授权方式

      选择一种授权方式,本示例选择经典网络 <=> 专有网络

      • 经典网络 <=> 专有网络:(推荐)相互授权访问。

      • 经典网络 => 专有网络:授权经典网络类型ECS实例访问专有网络VPC内的云资源。

      • 专有网络 => 经典网络:授权专有网络VPC内的云资源访问经典网络类型ECS实例。

      协议类型

      选择授权通信的协议,本示例默认选择自定义TCP,无需修改。

      端口范围

      端口的输入格式为xx/xx,比如授权5432端口,则输入5432/5432。

      优先级

      设置该规则的优先级。数值越小,优先级越高。例如:1

      描述

      输入安全组规则的描述信息。

  3. 连接ECS实例,并使用如下命令即可通过内网连接地址成功连接RDS PostgreSQL实例。

    psql -h <RDS实例内网连接地址> -U <用户名> -p <端口号> -d <数据库名>
    说明

    使用该命令前,请确保已在ECS实例中安装PostgreSQL客户端,并在RDS PostgreSQL实例中创建账号,连接RDS PostgreSQL实例的更多信息,请参见连接PostgreSQL实例