创建一个高可用、可扩展、高性能的Wordpress站点(VPC、SG、RDS、EFS、EC2、 S3、CloudFront、ELB、Auto Scaling Group、Route 53)。内容包含:

  1. 架构的简介
  2. 创建安全组
  3. 创建IAM角色
  4. 创建RDS实例
  5. 创建EFS文件系统
  6. 创建EC2实例,关联IAM角色
  7. 安装Apache, PHP程序
  8. 挂载EFS文件系统
  9. 安装Wordpress代码并连接数据库
  10. 创建一个简单的博文
  11. 创建S3存储桶
  12. 创建CloudFront,源为S3存储桶
  13. 安装Wordpress创建WP Offload S3 Lite
  14. WordPress多媒体文件自动上传到S3
  15. URL重写,将本地多媒体文件的URL重写为S3的URL
  16. URL重写,将本地多媒体文件的URL重写为Cloudfront的URL
  17. 创建Application Load Balancer
  18. 创建Route 53并使用Alias记录解析ELB
  19. 创建AMI镜像
  20. 创建启动配置(Launch Configuration)
  21. 创建Auto Scaling组
  22. 模拟EC2实例故障
  23. 模拟RDS实例故障

架构图

1. 配置VPC、2个public-subnet、2个private-subnet、NACL、2个安全组

2. 配置IAM

3. 配置RDS MySQL

4. 创建EFS

5. 创建EC2实例和安装WordPress代码

涉及的内容:

  • 创建EC2实例,关联IAM角色
  • 安装Apache, PHP程序
  • 挂载EFS文件系统
  • 安装Wordpress代码并连接数据库
  • 创建一个简单的博文

Bootstrap脚本

https://blog.csdn.net/weixin_41980142/article/details/93194646

#!/bin/bash
sudo -s
yum update -y
yum install httpd24 -y
chkconfig httpd on

安装EPEL:
sudo yum install epel-release
安装remi:
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
## 安装PHP 7.3
yum –enablerepo=remi-php73 install php
### For PHP 7.3
yum –enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysqlnd

mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-83e8bde2.efs.ap-northeast-2.amazonaws.com:/ /var/www/html
echo "fs-83e8bde2.efs.ap-northeast-2.amazonaws.com:/ /var/www/html nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0" >> /etc/fstab
cd /var/www/html
echo "<?php phpinfo(); ?>" > phpinfo.php
service httpd start
wget https://wordpress.org/latest.zip
unzip latest.zip
mv wordpress/* /var/www/html/
rm -rf wordpress/ latest.zip
sudo chown -R apache:apache /var/www/html/*
chmod -R 775 /var/www/html

6. WordPress配置

使用S3保存非结构化数据,使用CloudFront进行内容分发服务

介绍创建和使用S3以及CloudFront来分发网站的静态内容。

内容会包括:

  • 创建S3存储桶
  • 创建CloudFront,源为S3存储桶
  • 安装Wordpress创建WP Offload S3 Lite
  • WordPress多媒体文件自动上传到S3
  • URL重写,将本地多媒体文件的URL重写为S3的URL
  • URL重写,将本地多媒体文件的URL重写为Cloudfront的URL

7. 创建S3存储桶

8. 创建CloudFront

WordPress S3插件

URL重写,将本地多媒体文件的URL重写为S3的URL

URL重写,将本地多媒体文件的URL重写为Cloudfront的URL

使用AutoScaling,Elastic Load Balancer和Route 53

目前的wordpress还是有问题,比如域名没有固定(EC2每次重启都会动态变更IP和域名),没有web的AS组,没有LB等。

创建自动伸缩组、弹性负载均衡器和Route 53服务,搭建高可用、自动修复的系统。包括:

  • 创建Application Load Balancer
  • 创建Route 53并使用Alias记录解析ELB
  • 创建AMI镜像
  • 创建启动配置(Launch Configuration)
  • 创建Auto Scaling组

创建ELB

创建Route 53

创建Auto Scalling Group

故障转移测试

模拟EC2实例故障、RDS实例故障进行故障转移测试,查看应用程序是否能自动进行切换,保证业务不中断。

模拟EC2实例故障

模拟RDS实例故障

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据