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

背景信息

随着RDS PostgreSQL产品演进,云盘版实例已不再支持经典网络,推荐使用更安全的专有网络类型,如果您的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. 安全组 > 安全组列表中,找到已设置的安全组,单击安全组ID安全组ID
    7. 在右上角单击添加ClassicLink规则,根据以下信息配置ClassicLink安全组规则。添加ClassicLink规则
      配置项 说明
      经典网络安全组 显示经典网络安全组的名称,无需配置。
      选择专有网络 选择目标专有网络。
      选择专有网络安全组 选择专有网络中需要互通的安全组。此示例中无需关注,任意选择即可。
      授权方式 选择一种授权方式,本示例选择经典网络 <=> 专有网络
      • 经典网络 <=> 专有网络:(推荐)相互授权访问。
      • 经典网络 => 专有网络:授权经典网络类型ECS实例访问专有网络VPC内的云资源。
      • 专有网络 => 经典网络:授权专有网络VPC内的云资源访问经典网络类型ECS实例。
      协议类型 选择授权通信的协议,本示例默认选择自定义TCP,无需修改。
      端口范围 端口的输入格式为xx/xx,比如授权5432端口,则输入5432/5432。
      优先级 设置该规则的优先级。数字越小,优先级越高。例如:1
      描述 输入安全组规则的描述信息。
    8. 单击确定
  3. 连接ECS实例,并使用如下命令即可通过内网连接地址成功连接RDS PostgreSQL实例。
    psql -h <RDS实例内网连接地址> -U <用户名> -p <端口号> -d <数据库名>
    说明 使用该命令前,请确保已在ECS实例中安装PostgreSQL客户端,并在RDS PostgreSQL实例中创建账号,连接RDS PostgreSQL实例的更多信息,请参见连接PostgreSQL实例