1.3 步骤二:连接实例
1.3.3 通过内网连接 MySQL 实例
1.3.3.2 设置安全组规则
操作场景
安全组是一个逻辑上的分组,为同一个虚拟私有云内具有相同安全保护需求,并相互 信任的弹性云服务器和云数据库RDS实例提供访问策略。
为了保障数据库的安全性和稳定性,在使用云数据库RDS实例之前,您需要设置安全 组,开通需访问数据库的IP地址和端口。
内网连接RDS实例时,设置安全组分为以下两种情况:
● ECS与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规 则,执行通过内网连接MySQL实例。
● ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。
– 设置RDS安全组规则:为RDS所在安全组配置相应的入方向规则。
– 设置ECS安全组规则:安全组默认规则为出方向上数据报文全部放行,此时,
无需对ECS配置安全组规则。当在ECS所在安全组为非默认安全组且出方向规 则非全放通时,需要为ECS所在安全组配置相应的出方向规则。
本节主要介绍如何为RDS实例设置相应的入方向规则。
关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规 则”章节。
注意事项
因为安全组的默认规则是在出方向上的数据报文全部放行,同一个安全组内的弹性云 服务器和云数据库RDS实例可互相访问。安全组创建后,您可以在安全组中定义各种 访问规则,当云数据库RDS实例加入该安全组后,即受到这些访问规则的保护。
● 默认情况下,一个用户可以创建100个安全组。 口号(3306),同时将可访问IP地址设置为远程主机地址或远程主机所在的最小子网地址,限 制远程主机的访问范围。
源地址默认的IP地址0.0.0.0/0是指允许所有IP地址访问安全组内的云数据库RDS实例。
关于添加安全组规则的详细要求,可参考《虚拟私有云用户指南》的“添加安全组规 则”章节。
操作步骤
步骤1 登录管理控制台。
步骤2 单击管理控制台左上角的 ,选择区域和项目。
步骤3 在页面左上角单击 ,选择“数据库 > 云数据库 RDS”。进入云数据库 RDS信息页 面。
步骤4 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页 面。
步骤5 进入安全组页面。
● 在“基本信息”页面中,在“连接信息”模块的“安全组”处,单击安全组名 称,进入安全组页面。
图1-9 连接信息
● 您也可以在左侧导航栏,单击“连接管理”,在“安全组规则”模块“当前安全 组”处,单击安全组名称,进入安全组页面。
图1-10 安全组规则
步骤6 在入方向规则页签,单击“添加规则”,添加入方向规则。
您也可以在左侧导航栏,单击“连接管理”,在“安全组规则”模块,单击“添加入 方向规则”或者“一键添加”,设置安全组规则。
单击“+”可以依次增加多条入方向规则。
说明
一键添加操作允许所有IP地址访问安全组内的云数据库RDS实例,存在高安全风险,请谨慎选 择。
图1-11 添加入方向规则
表1-11 入方向参数说明
参数 说明 取值样例
协议端口 网络协议。目前支持“All”、
“TCP”、“UDP”、“ICMP”
和“GRE”等协议。
Custom TCP
端口:允许远端地址访问弹性云
● xxx.xxx.xxx.xxx/32(IPv4地 址)
● xxx.xxx.xxx.0/24(子网)
● 0.0.0.0/0(任意地址)
0.0.0.0/0
描述 安全组规则的描述信息,非必填 项。
描述信息内容不能超过255个字 符,且不能包含“<”和“>”。
---结束
1.3.3.3 通过内网连接 MySQL 实例
华为云提供两种连接方式通过MySQL客户端连接实例:非SSL连接和SSL连接。其中,
SSL连接实现了数据加密功能,具有更高的安全性。
前提条件
1. 登录弹性云服务器。
– 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性 云服务器”和“登录弹性云服务器”。
– 通过弹性云服务器连接云数据库RDS实例,需要具备以下条件。
▪
该弹性云服务器与目标实例必须处于同一VPC内。▪
该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。○ 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。
○ 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允 许该弹性云服务器访问。具体操作请参考设置安全组规则。
如果安全组规则允许弹性云服务器访问,即可连接实例。
如果安全组规则不允许弹性云服务器访问,则需添加安全组规则。
该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。
2. 使用客户端连接实例。
您可以在Linux操作系统和Windows操作系统中,使用数据库客户端连接RDS实 例。
– 在Linux操作系统中,您需要在可访问云数据库RDS的设备上安装MySQL客户 端。建议您下载的MySQL客户端版本高于已创建的RDS实例中数据库版本。
如何获取相应安装包及完成安装,请参见如何安装MySQL客户端。
– 在Windows操作系统中,您可以使用任何通用的数据库客户端连接到RDS实 例且连接方法类似。
以MySQL-Front为例,具体操作请参见使用MySQL-Front连接实例。
使用 MySQL-Front 连接实例
步骤1 启动MySQL-Front客户端。
步骤2 在连接管理对话框中,单击“新建”。
图1-12 连接管理
步骤3 输入需要连接的云数据库RDS实例信息,然后单击“确定”。如图1-13所示。
图1-13 添加信息
表1-12 参数说明 参数 说明
名称 连接数据库的任务名称。若不填写,系统默认与Host一致。
主机 目标实例的内网地址。查看目标实例的内网地址及端口信息的步骤如下:
1. 登录云数据库RDS的管理控制台。
2. 选择目标实例所在区域。
3. 单击目标实例名称,进入“基本信息”页面。
4. 在“连接信息”模块,可查看“内网地址”和“数据库端口”信息。
端口 输入RDS实例的数据库端口。
用户 需要访问RDS实例的帐号名称。默认root。
密码 要访问云数据库RDS实例的帐号所对应的密码。
步骤4 在“连接管理”窗口,选中步骤3创建的连接,单击“打开”,如下图所示。若连接信 息无误,即会成功连接实例。
图1-14 打开登录信息
说明
若连接失败,请参见ECS无法连接到RDS实例的原因。
----结束
SSL 连接
步骤1 登录管理控制台。
步骤2 单击管理控制台左上角的 ,选择区域和项目。
步骤3 在页面左上角单击 ,选择“数据库 > 云数据库 RDS”。进入云数据库 RDS信息页 面。
步骤4 在“实例管理”页面,单击实例名称进入“基本信息”页面。
步骤5 在“数据库信息”模块的“SSL”处,查看SSL开关状态。
● 开关打开,执行步骤6。
● 开关关闭,单击 ,在弹出框中,单击“是”,开启SSL加密。然后执行步骤 6。
步骤6 单击“SSL”处的 ,下载根证书或捆绑包。
步骤7 将根证书导入弹性云服务器的Windows/Linux操作系统,请参见将根证书导入 Windows/Linux操作系统。
说明
● 云数据库RDS服务在2017年4月提供了20年有效期的新根证书,该证书在实例重启后生效。
请在原有根证书到期前及时更换正规机构颁发的证书,提高系统安全性。
请参见如何确认SSL根证书的有效期。
● 云数据库RDS服务还提供根证书捆绑包下载,其中包含2017年4月之后的新根证书和原有根 证书。
● 推荐使用TLS v1.2及以上协议,低于该版本可能存在安全风险。
步骤8 连接云数据库RDS实例。以Linux系统为例,执行如下命令。
● 方式一
mysql -h <host>-P <port>-u <userName>-p--ssl-ca=<caName>
● 方式二
mysql -h <host>-P <port>-u <userName>-p --ssl-capath=<caPath>
表1-13 参数说明
参数 说明
<host> 内网地址。在目标实例的“基本信息”页面,“连接信息”模块 的“内网地址”。
<port> 数据库端口,默认3306。在目标实例的“基本信息”页面,“连
接信息”模块的“数据库端口”。
<userName> 用户名,即云数据库RDS帐号(默认管理员帐号为root)。
<caName> CA证书名称,该文件需放在执行该命令的路径下。
<caPath> CA证书目录路径。
使用root用户SSL连接数据库实例,示例如下:
mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=ca.pem 出现如下提示时,输入数据库帐号对应的密码:
Enter password:
说明
若连接失败,请参见ECS无法连接到RDS实例的原因。
----结束
常见问题
连接RDS实例失败的排查思路
后续操作
登录实例后,您可以创建数据库,进行数据迁移等操作,具体请参见:
● 通过界面可视化创建MySQL数据库
● 通过调用API创建MySQL数据库
● 通过DAS管理MySQL数据库
● 使用DRS迁移MySQL数据库
● 使用mysqldump迁移MySQL数据