在网络上,我们可以找到免费申请 Azure MySQL 的教程。按照这些教程成功开通后,数据库会被分配一个公网 IP,不过其安全性仅靠防火墙规则来约束。
但免费版的 Azure 虚拟机所获取的是动态公网 IP,这让数据库防火墙规则的设置陷入了两难境地:
- 若不设置任何规则,将数据库完全开放,那就只能依靠 MySQL 的账号密码来保障安全。
- 若允许所有 Azure 服务器访问,虽能避免因 IP 变动带来的麻烦,可其他账号的 Azure 服务器也能访问该数据库服务器。
- 若每次虚拟机 IP 更新后,手动调整防火墙规则,虽能保证安全性与访问权限相匹配,但操作十分繁琐。显然,这种设计在安全性和便利性之间产生了显著的矛盾。
本文将介绍一种基于虚拟网络子网连接的申请方法,该方法借助网络隔离的手段,能够从根本上解决数据库的安全问题。
准备工作
新建子网
在 所有资源中,找到创建虚拟机时所建的虚拟网络,在左侧菜单中选择设置 -> 子网,点击新建子网。
新建一个和虚拟机不同的子网地址范围。
创建后两个子网如下所示:
开通入口
https://portal.azure.com/#create/Microsoft.MySQLFlexibleServer
开通服务
1. 选择灵活服务器 -> 高级创建
2. 填写基本资料,点击配置服务器
3. 在 计算 + 存储
配置页
- 计算大小:
B1ms
- 存储:
32 GiB
- IOPS:最小的
396
- 去掉勾选存储自动增长
- 勾选异地冗余
4. 网络配置
- 连接方法选择
专用访问(VNet 集成)
- 选择不同于虚拟机的另一个子网
- 会根据基本资料是的服务器名称自动生成专用DNS区域名
5. 确认并创建服务
删除扣费服务
1. 删除专用DNS区域依赖
等待数据库服务创建完成后,在所有资源中找到专用DNS区域,点击左侧菜单中的DNS管理 -> 虚拟网络链接。
删除相关链接
2. 删除专用DNS区域
再回到专用DNS区域,点击左侧菜单中的概述,点击删除。
删除后,Azure MySQL 服务将再无扣费资源
数据库连接
以本文方法开通的数据库,无法直接获取内网IP地址,但因为数据库是当前子网的唯一服务,所以会使用子网中第一个可用的IP地址。
如,本文中,创建数据库时选择的子网地址范围为 10.30.9.0/24
,则数据库的IP地址为 10.30.9.4
。
本地客户端连接
电脑端使用 navicat
等客户端软件连接数据库,可使用 SSH
通过虚拟机中转的方式连接数据库。
总结
本文介绍了一种基于虚拟网络子网连接的申请方法,该方法借助网络隔离的手段,能够从根本上解决数据库的安全问题。
评论0
暂时没有评论