创建一个高可用、可扩展、高性能的Wordpress站点(VPC、SG、RDS、EFS、EC2、 S3、CloudFront、ELB、Auto Scaling Group、Route 53)。内容包含:
- 架构的简介
- 创建安全组
- 创建IAM角色
- 创建RDS实例
- 创建EFS文件系统
- 创建EC2实例,关联IAM角色
- 安装Apache, PHP程序
- 挂载EFS文件系统
- 安装Wordpress代码并连接数据库
- 创建一个简单的博文
- 创建S3存储桶
- 创建CloudFront,源为S3存储桶
- 安装Wordpress创建WP Offload S3 Lite
- WordPress多媒体文件自动上传到S3
- URL重写,将本地多媒体文件的URL重写为S3的URL
- URL重写,将本地多媒体文件的URL重写为Cloudfront的URL
- 创建Application Load Balancer
- 创建Route 53并使用Alias记录解析ELB
- 创建AMI镜像
- 创建启动配置(Launch Configuration)
- 创建Auto Scaling组
- 模拟EC2实例故障
- 模拟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实例故障进行故障转移测试,查看应用程序是否能自动进行切换,保证业务不中断。