文档首页/ 弹性伸缩 AS/ 用户指南(阿布扎比区域)/ 最佳实践/ 搭建可自动伸缩的Discuz!论坛网站
更新时间:2022-02-22 GMT+08:00

搭建可自动伸缩的Discuz!论坛网站

场景介绍

通过使用弹性伸缩,您可以在需要时向应用程序添加新实例,并在不需要时将其移出。对于预期内的营销活动或者未知的业务高峰,无需提前准备大量云服务器,从而提高了系统运行的稳定性,同时降低了成本。

本例以搭建Discuz!论坛为例,介绍了如何使用弹性伸缩、弹性云服务器、虚拟私有云、弹性负载均衡等服务搭建一个可自动横向伸缩的web服务。

场景要求

  1. 在虚拟私有云页面已完成虚拟私有云和弹性公网IP的申请。
  1. 在弹性负载均衡页面已完成负载均衡和监听器的创建,创建负载均衡时选择的VPC为1中申请的VPC。

操作步骤

创建一台弹性云服务器用于安装数据库

数据库可以使用云平台的关系型数据库,也可以自行创建弹性云服务器安装所需的数据库。这里是在创建的弹性云服务器上安装MySQL数据库。

  1. 创建弹性云服务器时,根据界面提示配置参数,选择相应规格的云服务器,网络相关参数选择刚创建的虚拟私有云、安全组以及弹性公网IP,完成弹性云服务器的创建。具体创建弹性云服务器的操作请参考《弹性云服务器用户指南》
  2. 待弹性云服务器页面上刚创建的弹性云服务器的状态为“运行中”时,即表示该弹性云服务器创建完成,就可以对这台弹性云服务器进行操作了,使用XFtp、Xshell等工具连接弹性云服务器的弹性公网IP,完成MySQL数据库的安装配置。
创建一台弹性云服务器用于安装Discuz!论坛
  1. 创建弹性云服务器,此时可以不添加弹性公网IP,具体创建弹性云服务器的操作请参考《弹性云服务器用户指南》
  2. 解绑和绑定弹性公网IP。

    由于可通过私网访问数据库,因此可以将之前用于绑定数据库节点的弹性公网IP解绑以节省资源。将弹性公网IP和数据库节点解绑定,后将新创建的弹性云服务器和该弹性公网IP绑定,具体操作请参考《虚拟私有云用户指南》。此时即可通过公网访问该云服务器,安装PHP、Apache等环境。

  3. 安装论坛。

    环境安装完成后,即可进行Discuz!论坛的安装,安装方法可参考Discuz官方文档。在进行配置参数时,数据库服务器填写之前安装MySQL云服务器的私网IP,而数据库用户名和密码为安装MySQL时所授权远程访问的用户名和密码,完成全部的安装操作后,可选择将弹性公网IP解绑释放以节省资源。

制作自定义镜像

将已安装了Discuz!论坛的云服务器制作成私有镜像,用于弹性伸缩组的自动扩容模板。
  1. 只有关机状态的云服务器才可以制作私有镜像,进入弹性云服务器页面,将刚配置好的discuz云服务器关机,具体操作请参考《弹性云服务器用户指南》
  2. 进入镜像的页面,选择已安装有discuz云服务器制作私有镜像,具体操作请参考《镜像服务用户指南》

创建伸缩组

伸缩组是具有相同属性和应用场景的云服务器、伸缩配置和伸缩策略的集合,也是弹性伸缩中启停伸缩策略和进行伸缩活动的基本单位。需要创建一个弹性伸缩组来实现Discuz!论坛服务的自动扩容和缩容。

创建伸缩组的具体操作请参考创建伸缩组,在进行界面参数配置时,选择已创建的虚拟私有云、子网、弹性负载均衡、监听器等参数。

创建伸缩配置

为伸缩组添加伸缩配置,伸缩配置指定了伸缩活动中自动添加的云服务器的基本规格。

镜像选择上述步骤中制作的私有镜像,其他参数根据您的需求完成填写。

手动加入实例到伸缩组

完成伸缩组和伸缩配置的创建后,进入伸缩组详情页面,切换到伸缩实例的选项卡,单击“移入伸缩组”,将已经创建好的运行中的discuz云服务器手动加入到伸缩组中。为保证手动加入的discuz云服务器不被自动移除伸缩组,可以对该实例设置实例保护。

创建伸缩策略

伸缩策略则是伸缩活动的触发条件,当满足条件时,会触发一次伸缩活动。在之前创建的伸缩组中,并未添加伸缩策略,为了使伸缩组能够根据业务需求自动扩容或缩容,这里我们需要添加相关弹性伸缩策略。

弹性伸缩支持动态扩展资源,可通过配置告警策略实现动态扩展资源的目的。告警策略即基于告警模式触发实例的伸缩,基于云监控系统告警数据,自动增加或减少云服务器。弹性伸缩同时支持按照可预测的负载变化来扩展资源,可通过配置定时策略和周期策略实现扩展资源。

当伸缩策略创建完成并处于启用状态,且触发条件满足时,可实现弹性伸缩组的扩容、缩容。