运维开发网

Powershell AWS 自动化管理 (10) - 创建一个高可用的WordPress博客(上)

运维开发网 https://www.qedev.com 2020-03-20 11:00 出处:网络 作者:运维开发网整理
豆子花了2周的时间断断续续地学习了AWS PowerShell的一些核心命令,然后又花了2天的功夫把这些知识点组合起来。网上目前除了官方文档的快速手册和命令大全基本没有太多PowerShell管理AWS的内容,大部分命令豆子是一条条搜索和查看帮助硬尝试出来的,下面共享出来,如果以后有类似需要的话可以省一些时间。 现在演示一下如何用PowerShell 脚本在AWS上创建一个高可用的WordPres

豆子花了2周的时间断断续续地学习了AWS PowerShell的一些核心命令,然后又花了2天的功夫把这些知识点组合起来。网上目前除了官方文档的快速手册和命令大全基本没有太多PowerShell管理AWS的内容,大部分命令豆子是一条条搜索和查看帮助硬尝试出来的,下面共享出来,如果以后有类似需要的话可以省一些时间。

现在演示一下如何用PowerShell 脚本在AWS上创建一个高可用的WordPress博客。这是个很典型的AWS的高可用场景。

Powershell AWS 自动化管理 (10) - 创建一个高可用的WordPress博客(上)

下面是基本需求

  1. 用户通过DNS解析Elastic Load Balancer的URL,ELB转发请求到其中任何一台Word Press的EC2实例,该Web Server通过3309端口访问远程的MariaDB RDS实例;

  2. MySQL通过Multiple-AZ实现高可用;

  3. Web Server通过ELB实现负载平衡和高可用;

  4. 根据CPU或者其他负荷标准,ELB里面的集群可以自动地增加,删除EC2实例;

  5. Auto Scaling 创建的服务器必须自动更新到最新版本;

  6. 博客涉及的所有的图片和视频必须保存在S3 Bucket上面,并通过CloudFront实现CDN加速,博客的媒体资源URL自动重定向指向CDN的地址进行解析。

现在看看PowerShell如何实现每一个功能的。

我的基本思路

  1. 创建EC2-S3的Role,这个Role是分配给EC2虚拟机的,这样他们创建之后自动就有权限访问S3的内容。

  2. 创建VPC网络

  3. 创建VPC的2个子网,位于不同的AZ

  4. 创建Internet网关

  5. 配置路由表

  6. 创建并配置EC2的Security Group,确保80和22端口可用

  7. 创建高可用的MariaDB数据库

  8. 配置数据库的Security Group,确保3306端口可用

  9. 创建S3 Bucket 并配置Policy

  10. 创建CloudFront分布点,绑定S3 Bucket

  11. 准备WordPress的配置文档

  12. 准备Virtualhost的配置文档

  13. 上传配置文档到S3 Bucket中

  14. 配置Bash Shell脚本,包括LAMP,WordPress,AWS,Crontab和S3同步等等

  15. 创建EC2虚拟机,指定14步创建的BootStrap命令

  16. 更新DNS记录,指向该虚拟机

  17. 初始化WordPress界面

  18. 确认无误之后生成镜像文件

  19. 配置ELB

  20. 更新DNS记录到ELB的地址

  21. 配置Launch Configuration

  22. 配置Auto Scaling

下一节来看看具体的脚本实现。

0

精彩评论

暂无评论...
验证码 换一张
取 消