应用在Serverless应用引擎SAE(Serverless App Engine)托管后,如果您需要访问阿里云关系型数据库RDS(Relational Database Service),需要为应用设置RDS白名单。本文以RDS MySQL实例为例,介绍如何在不同场景下设置RDS IP白名单。

前提条件

背景信息

RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎。更多信息,请参见云数据库RDS简介

关于如何设置白名单,请参见以下文档:

场景一:应用访问本VPC内的RDS数据库

  1. 获取SAE应用的VPC和vSwitch的IP地址。
    1. 登录SAE控制台
    2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。
    3. 获取IP地址。
      • VPC:在基本信息页签的应用信息区域内,单击VPC名称,跳转至专有网络管理控制台,然后在基本信息页签,复制并保存IPv4网段
      • vSwitch:在基本信息页签的应用信息区域内,单击vSwitch名称,跳转至专有网络管理控制台,然后在交换机基本信息页面,复制并保存IPv4网段
  2. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  3. 在左侧导航栏中,单击白名单与安全组
  4. 确认IP白名单模式。
    说明 版本为MySQL 5.1、5.5、5.6、5.7,存储类型为本地SSD盘的实例可以切换为高安全模式。其他版本的实例都采用通用模式。
  5. 单击default分组右侧的 修改
    说明 如有需要,也可以单击添加白名单分组,并自定义一个分组名称。
  6. 在弹出的修改白名单分组对话框中,将步骤1复制的VPC和vSwitch的IP地址配置在白名单中,然后单击确定db_configure_a_whitelist_for_RDS_instances
    说明 单个实例最多添加1000个IP地址或IP段,以英文逗号分隔多个IP地址,且逗号前后不能有空格。
    完成配置后,您部署在SAE上的应用便可访问本VPC内的RDS数据库。

场景二:应用跨VPC或跨地域访问RDS数据库

不同VPC和不同地域之间属于完全的逻辑隔离,故常规情况下不能跨VPC和跨地域访问RDS数据库。若您的应用想跨VPC或跨地域访问RDS数据库,请按照下面步骤进行相关配置。

  1. 获取SAE应用的弹性公网IP和vSwitch的IP地址。
    1. 登录SAE控制台
    2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。
    3. 基本信息页签的应用信息区域内,单击vSwitch名称,跳转至专有网络管理控制台,然后在交换机基本信息页面,复制并保存IPv4网段
    4. 在左侧导航栏选择NAT网关 > 公网NAT网关
    5. 公网NAT网关页面,复制并保存目标实例的弹性公网IP
  2. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  3. 在左侧导航栏中,单击白名单与安全组
  4. 确认IP白名单模式。
    说明 版本为MySQL 5.1、5.5、5.6、5.7,存储类型为本地SSD盘的实例可以切换为高安全模式。其他版本的实例都采用通用模式。
  5. 单击default分组右侧的 修改
    说明 如有需要,也可以单击添加白名单分组,并自定义一个分组名称。
  6. 在弹出的修改白名单分组对话框中,将步骤2复制的弹性公网IP和vSwitch的IP地址配置在白名单中,然后单击确定db_configure_a_whitelist_for_RDS_instances_cross_vpc_or_region
    说明 单个实例最多添加1000个IP地址或IP段,以英文逗号分隔多个IP地址,且逗号前后不能有空格。
    完成配置后,您部署在SAE上的应用便可跨VPC、跨地域访问RDS数据库。

更多信息

除为IP地址添加白名单的方式外,您还可以通过添加安全组的方式来访问RDS数据库。具体信息,请参见以下文档:

常见问题

SAE应用无法访问RDS、Redis等怎么办?