栏目头部广告

UCloud云数据库公网访问解决方案

一、应用背景

UCloud UDB云数据库在使用过程中,经常会有外网访问的需求,比如,进行数据跨地域迁移或者远程外网运维管理等场景。今天我将为大家介绍两种UCloud UDB云数据外网访问的实践方法。

温馨提示1:正常情况数据库属于业务的核心部分,不建议将数据库直接暴露到互联网上,如果非外网访问不可,建议通过防火墙增加源地址限制。强化四层防护,避免数据库被暴力破解从而引起业务数据泄露。

温馨提示2:强烈推荐NAT网关方式,NAT网关是集群部署,不存在单点故障风险,而且还支持绑定防火墙,加强数据库安全防护。

测试环境准备:UDB MySQL数据库:10.23.173.14;UHost数据库代理:内10.23.54.208/外113.31.104.199(mysql-proxy);UCloud NAT网关:113.31.106.251。

二、方案一:通过UCloud NAT网关端口转发访问UDB

2.1 UCloud NAT网关端口转发配置

https://docs.ucloud.cn/vpc/guide/natgw

https://console.ucloud.cn/vpc/natgw

NAT网关的创建步骤省略,详情可以参考上述官网地址。

2-240Z523115B22[1].png

2.2 UCloud外网防火墙安全加固

2-2211101K154B9.png

修改NAT网关防火墙策略,放行3306端口

默认会有两个默认防火墙,如果业务有特殊端口开放需求或安全配置,可以进行自定义。

2-2211101K3124P.png

外网防火墙配置页面:https://console.ucloud.cn/unet/ufirewall

2-2211101KQO41.png

注:这里我增加了源地址限制,通俗来讲,只允许106.75.254.35这个外网地址访问NAT网关转发的3306端口。其他IP的请求,一律拒绝。

2.3 访问测试

配置完成后,通过113.31.106.251的3306端口,即可访问到10.23.173.14数据库的3306端口。

三、方法二:通过UHost 云主机搭建数据库代理访问UDB

(1)在云主机(UHost)安装MySQL-Proxy:

注1:建议使用Centos7.x版本!!!官网下载地址:https://downloads.mysql.com/archives/proxy/

注2:MySQL-Proxy不支持MySQL5.7、MySQL8.0的客户端连接代理,连接会直接hang住。仅支持MySQL5.6及以下版本MySQL客户端。

[root@10-23-54-208 ~]# yum install mysql-proxy -y

# 查看mysql-proxy版本信息
[root@10-23-54-208 ~]# mysql-proxy -V
mysql-proxy 0.8.5
 chassis: 0.8.5
 glib2: 2.36.3
 libevent: 2.0.21-stable
 LUA: Lua 5.1.4
   package.path: /usr/lib64/mysql-proxy/lua/?.lua
   package.cpath: /usr/lib64/mysql-proxy/lua/?.so
-- modules
 proxy: 0.8.5

(2)修改mysql-proxy配置文件

[root@10-23-54-208 ~]# vim /etc/mysql-proxy.conf
[mysql-proxy]
daemon = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug
max-open-files =1024
plugins = admin,proxy
user= mysql-proxy
proxy-address=0.0.0.0:4040
proxy-backend-addresses=10.23.173.14:3306
admin-lua-script=/usr/lib64/mysql-proxy/lua/admin.lua
admin-username = root
admin-password = Ucloudcn123

# 配置文件保存后需要改变权限
[root@10-23-54-208 ~]# chmod 0660 /etc/mysql-proxy.cnf

(3)启动mysql-proxy服务

mysql-proxy --defaults-file=/etc/mysql-proxy.cnf

注:关闭mysql-proxy服务,可以通过kill命令实现!!!

(4)外网环境测试

2-2211101RTQ53.png

2-221110205950L2.png

mysql -h$uhost_ip -P4040 -u$User -p$Password

作者:UStarGao
链接:https://www.starcto.com/mysql/312.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

文章页广告

随便看看

栏目底部广告
`