HCIE2.0-CloudSA 云上架构设计综合实践

实验介绍

OpenCart 是世界著名的开源电子商务系统,系统开发语言为 PHP。早期由英国人 Daniel Kerr 个人开发,项目托管在 GitHub。OpenCart 总部设在香港,GitHub 项目仍由 Daniel 及其团队领导维护。开发者项目非常活跃,版本更新升级很快。据 Alexa 网站流量统计显示, OpenCart 已成为世界主流的电子商务建站系统,该电商网站采用前端 Web+后端 DB 的软件架构。
本实验通过在华为云广州区域新建 OpenCart 电商网站,需要进行对应的云上架构设计。考虑到架构设计的高可用性,实验使用上海二区域构建跨 Region 主备的容灾环境,通过 DRS 数据复制服务进行数据库的主备容灾,并使用 Windows 测试主机进行主备容灾测试,当广州区域 EIP 无法正常访问时,业务流量切换到上海二区域,用户访问 OpenCart 电商网站不受影响;考虑到架构设计的可扩展性,前端 Web 云主机使用了 AS 进行弹性伸缩以应对电商网站的高峰流量,后端 RDS 云数据库使用了 DDM 进行横向扩展;考虑到架构设计的安全性以及成本问题,使用了安全组、网络 ACL、主机安全 HSS、漏洞扫描 VSS 保障整体架构的安全。

 

实验目的

 理解云上架构设计各个云服务的使用。
 掌握从可用性、可扩展、安全、性能、成本五个方面对云上架构进行设计。

 

实验组网介绍

输入以下命令行,安装 HTTP、PHP 以及 opencart 电商网站。

yum install -y httpd 
systemctl start httpd 
systemctl enable httpd 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

yum -y install php72w php72w-pdo php72w-mysqlnd php72w-opcache php72w-xml php72w-gd php72w-mcrypt php72w-devel php72w-intl php72w-mbstring php72w-bcmath php72w-json php72w-iconv 

systemctl restart httpd 
wget https://www.opencart.cn/download/12 
unzip 12 
cp upload/* /var/www/html/ -rf 
chmod -R 777 /var/www/html 

部署:

 

ELB负载均衡+AS弹性伸缩组合

 

容灾站点IMS镜像,需要更新 Agent 配置为对应Region

rpm -e --nodeps hostguard 

wget --no-check-certificate 'https://hss-agent-sh02.obs.cn-east-2.myhuaweicloud.com/linux/HwAgentInstall_64.sh' && chmod +x HwAgentInstall_64.sh && ./HwAgentInstall_64.sh

service hostguard status

然后修改容灾站点 opencart 配置文档对应ELB公网EIP

运行如下命令,编辑 opencart 应用的IP地址和 数据库mysql 配置文件参数

cd /var/www/html 
vim config.php 

修改 php 文件中,HTTP 和 HTTPS 里的地址参数,替换为 ELB 的公网 IP 地址;
数据库DB相关参数需要替换成 RDS 的信息。 

运行如下命令,修改 opencart 后台管理页面的配置文件。

cd admin/ 
vim config.php 

修改 php 文件中,HTTP 和 HTTPS 里的地址参数,替换为 ELB 的公网 IP 地址;
DB数据库相关参数需要替换成 RDS 的信息。