Powershell AWS 自动化管理 (10) - 创建一个高可用的WordPress博客(上)
豆子花了2周的时间断断续续地学习了AWS PowerShell的一些核心命令,然后又花了2天的功夫把这些知识点组合起来。网上目前除了官方文档的快速手册和命令大全基本没有太多PowerShell管理AWS的内容,大部分命令豆子是一条条搜索和查看帮助硬尝试出来的,下面共享出来,如果以后有类似需要的话可以省一些时间。现在演示一下如何用PowerShell 脚本在AWS上创建一个高可用的WordPress博客。这是个很典型的AWS的高可用场景。
下面是基本需求
[*] 用户通过DNS解析Elastic Load Balancer的URL,ELB转发请求到其中任何一台Word Press的EC2实例,该Web Server通过3309端口访问远程的MariaDB RDS实例;
[*] MySQL通过Multiple-AZ实现高可用;
[*] Web Server通过ELB实现负载平衡和高可用;
[*] 根据CPU或者其他负荷标准,ELB里面的集群可以自动地增加,删除EC2实例;
[*] Auto Scaling 创建的服务器必须自动更新到最新版本;
[*] 博客涉及的所有的图片和视频必须保存在S3 Bucket上面,并通过CloudFront实现CDN加速,博客的媒体资源URL自动重定向指向CDN的地址进行解析。
现在看看PowerShell如何实现每一个功能的。
我的基本思路
[*] 创建EC2-S3的Role,这个Role是分配给EC2虚拟机的,这样他们创建之后自动就有权限访问S3的内容。
[*] 创建VPC网络
[*] 创建VPC的2个子网,位于不同的AZ
[*] 创建Internet网关
[*] 配置路由表
[*] 创建并配置EC2的Security Group,确保80和22端口可用
[*] 创建高可用的MariaDB数据库
[*] 配置数据库的Security Group,确保3306端口可用
[*] 创建S3 Bucket 并配置Policy
[*] 创建CloudFront分布点,绑定S3 Bucket
[*] 准备WordPress的配置文档
[*] 准备Virtualhost的配置文档
[*] 上传配置文档到S3 Bucket中
[*] 配置Bash Shell脚本,包括LAMP,WordPress,AWS,Crontab和S3同步等等
[*] 创建EC2虚拟机,指定14步创建的BootStrap命令
[*] 更新DNS记录,指向该虚拟机
[*] 初始化WordPress界面
[*] 确认无误之后生成镜像文件
[*] 配置ELB
[*] 更新DNS记录到ELB的地址
[*] 配置Launch Configuration
[*] 配置Auto Scaling
下一节来看看具体的脚本实现。
页:
[1]