龍子 发表于 2018-9-2 07:59:37

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]
查看完整版本: Powershell AWS 自动化管理 (10) - 创建一个高可用的WordPress博客(上)