搭建可自动伸缩的Discuz!论坛网站
场景介绍
通过使用弹性伸缩,您可以在需要时向应用程序添加新实例,并在不需要时将其移出。对于预期内的营销活动或者未知的业务高峰,无需提前准备大量云服务器,从而提高了系统运行的稳定性,同时降低了成本。
本例以搭建Discuz!论坛为例,介绍了如何使用弹性伸缩、弹性云服务器、虚拟私有云、负载均衡等服务搭建一个可自动横向伸缩的web服务。
操作步骤
创建一台弹性云服务器用于安装数据库
数据库可以使用云平台的关系型数据库,也可以自行创建弹性云服务器安装所需的数据库。这里是在创建的弹性云服务器上安装MySQL数据库。
- 创建弹性云服务器时,根据界面提示配置参数,选择相应规格的云服务器,网络相关参数选择刚创建的虚拟私有云、安全组以及弹性IP,完成弹性云服务器的创建。具体创建弹性云服务器的操作请参考《弹性云服务器用户指南》。
- 待弹性云服务器页面上刚创建的弹性云服务器的状态为“运行中”时,即表示该弹性云服务器创建完成,就可以对这台弹性云服务器进行操作了,使用XFtp、Xshell等工具连接弹性云服务器的弹性IP,完成MySQL数据库的安装配置。
- 创建弹性云服务器,此时可以不添加弹性IP,具体创建弹性云服务器的操作请参考《弹性云服务器用户指南》。
- 解绑和绑定弹性IP。
由于可通过私网访问数据库,因此可以将之前用于绑定数据库节点的弹性IP解绑以节省资源。将弹性IP和数据库节点解绑定,后将新创建的弹性云服务器和该弹性IP绑定,具体操作请参考《虚拟私有云用户指南》。此时即可通过公网访问该云服务器,安装PHP、Apache等环境。
- 安装论坛。
环境安装完成后,即可进行Discuz!论坛的安装,安装方法可参考Discuz官方文档。在进行配置参数时,数据库服务器填写之前安装MySQL云服务器的私网IP,而数据库用户名和密码为安装MySQL时所授权远程访问的用户名和密码,完成全部的安装操作后,可选择将弹性IP解绑释放以节省资源。
制作自定义镜像
- 只有关机状态的云服务器才可以制作私有镜像,进入弹性云服务器页面,将刚配置好的discuz云服务器关机,具体操作请参考《弹性云服务器用户指南》。
- 进入镜像的页面,选择已安装有discuz云服务器制作私有镜像,具体操作请参考《镜像服务用户指南》。
创建伸缩组
伸缩组是具有相同属性和应用场景的云服务器、伸缩配置和伸缩策略的集合,也是弹性伸缩中启停伸缩策略和进行伸缩活动的基本单位。需要创建一个弹性伸缩组来实现Discuz!论坛服务的自动扩容和缩容。
创建伸缩组的具体操作请参考创建伸缩组,在进行界面参数配置时,选择已创建的虚拟私有云、子网、安全组、弹性负载均衡、监听器等参数。
创建伸缩配置
为伸缩组添加伸缩配置,伸缩配置指定了伸缩活动中自动添加的云服务器的基本规格。
创建弹性伸缩配置的具体操作请参考使用新模板创建伸缩配置,镜像选择上述步骤中制作的私有镜像,其他参数根据您的需求完成填写。
手动加入实例到伸缩组
完成伸缩组和伸缩配置的创建后,进入伸缩组详情页面,切换到伸缩实例的选项卡,单击“移入伸缩组”,将已经创建好的运行中的discuz云服务器手动加入到伸缩组中,具体操作请参见手动扩展资源。为保证手动加入的discuz云服务器不被自动移除伸缩组,可以对该实例设置实例保护。
创建伸缩策略
伸缩策略则是伸缩活动的触发条件,当满足条件时,会触发一次伸缩活动。在之前创建的伸缩组中,并未添加伸缩策略,为了使伸缩组能够根据业务需求自动扩容或缩容,这里需要添加相关弹性伸缩策略。
弹性伸缩支持动态扩展资源,可通过配置告警策略实现动态扩展资源的目的。告警策略即基于告警模式触发实例的伸缩,基于云监控系统告警数据,自动增加或减少云服务器。弹性伸缩同时支持按照可预测的负载变化来扩展资源,可通过配置定时策略和周期策略实现扩展资源。
创建伸缩策略的具体操作请参考动态扩展资源和按计划扩展资源。当伸缩策略创建完成并处于启用状态,且触发条件满足时,可实现弹性伸缩组的扩容、缩容。