AWS Ops Automation 和自动化备份

背景

AWS 的EC2备份能够有不少方法,若是管理员熟悉脚本和Lambda,彻底能够经过Cloudwatch的事件来定时备份,甚至能够直接在Windows的计划任务里面跑个简单的PowerShell脚本都能实现。sql

AWS官方也提供了一个一揽子的解决方案叫作 ops automation,这个很适合对于脚本彻底不懂的管理员,配置好之后管理员经过对应的tag能够进行灵活的自定义操做。数据库

下面这个截图是官方的示意图 ide

AWS Ops Automation 和自动化备份

具体的解释和配置向导的过程能够参考这个连接,不过目前暂不提供中文翻译函数

https://aws.amazon.com/solutions/ops-automator/微服务

对于普通的用户来讲,看了这个示意图能从一个高层抽象的角度去理解他的过程就好了,可是不须要去具体了解如何调用的。更重要的是知道如何去配置和使用。翻译

简单的解释一下安装和配置的过程,经过Cloudformation咱们能够安装一个叫作 AWS Ops Automator的stack 模板(我称为主模板),这个stack会自动配置一系列的微服务,包括Lambda函数,DynamoDB数据库等等,同时他会自动建立一个S3的bucket,并在这个bucket里面保存了6个stack 模板文件,恰好对应他的6个任务功能:建立快照,拷贝快照,删除快照,替换实例,更改实例类型和经过cpu利用率对实例进行标记。 若是咱们须要他的某一个功能,那咱们就须要经过对应的模板文件再次添加一个新的stack(我称为任务模板)。好比说,若是咱们须要实现一个定时建立快照的功能,咱们须要首先配置一个主stack,而后配置一个定时建立快照的任务stack,而后经过这个主模板来调用这个任务模板3d

那么怎么调用这些功能呢?咱们在对应的EC2或者snapshot上面进行tag标记,将AWS Ops Automator的tag name赋予key,而后将对应的任务stack的tag name赋予 value,他就会经过主stack去调用对应的task stack了。日志

这个逻辑若是光看文字是比较迷惑的,最容易理解的方法就是直接动手操做一次。举个栗子,我打算实现天天定时在8:30,11:30,15:30和20:30这4个点进行快照备份,而后全部的快照超过30天以上的自动删除。下面看看怎么来实现的。orm

安装配置流程

安装主模板

首先安装咱们的主模板,安装的时候注意在右上角选定本身须要的region,他的安装向导默认是在US East安装的,必定要记得修改。blog

AWS Ops Automation 和自动化备份

配置stack的内容,关键的东西是taskscheduler tagname,这个是咱们后面添加tag的时候,key的名字。

AWS Ops Automation 和自动化备份

点击下一步
AWS Ops Automation 和自动化备份

Review一下

AWS Ops Automation 和自动化备份

记得勾选最下面的IAM选项

AWS Ops Automation 和自动化备份

而后他就会自动开始配置相关的资源和微服务
AWS Ops Automation 和自动化备份

状态变为Complete以后,点击output,查看对应的S3 bucket名称

AWS Ops Automation 和自动化备份

点开对应的bucket看看,里面有2个目录,AccountsConfiguration是用来给其余帐号配置IAM的权限,若是咱们就用这个主帐号操做的话能够暂时忽略;TaskConfiguration里面包括了6个Task Template,也就是咱们须要操做的任务模板。

AWS Ops Automation 和自动化备份

安装任务模板

点进去看看

AWS Ops Automation 和自动化备份

点开Ec2CreateSnapshot.template,记录他的URL地址
AWS Ops Automation 和自动化备份

而后回到Cloudformation里面,经过这个模板建立一个新的stack

AWS Ops Automation 和自动化备份

AWS Ops Automation 和自动化备份

根据本身的须要进行设置,这里关键是Task interval须要使用cron格式来进行配置

AWS Ops Automation 和自动化备份

其余的自定义属性,好比时区
AWS Ops Automation 和自动化备份

以及在建立的Snapshot上面,自动添加对应的tag,注意这个Delete30是我下一步要建立的stack的名字,他的做用是自动删除快照

AWS Ops Automation 和自动化备份

稍等片刻,这个备份的stack就准备好了

AWS Ops Automation 和自动化备份

建立配置Delete30 stack

这个步骤和上面基本相似,惟一的区别是咱们须要使用Ec2DeleteSnapshot.template

AWS Ops Automation 和自动化备份

相关的配置以下所示

AWS Ops Automation 和自动化备份

时区
注意这个删除的操做并非根据时间来的,而是每次建立新的snapshot的时候,这个事件会触发,根据个人观察,大概建立了snapshot 15分钟以后,他会扫描这个volume相关的snapshot,若是有标记的话,就根据设定的阈值进行删除旧的snapshot

AWS Ops Automation 和自动化备份

设定删除的阈值,要么根据天数,要么根据总的个数
AWS Ops Automation 和自动化备份

建立好的样子

AWS Ops Automation 和自动化备份

Tag标记

最后看看如何tag,点开一个EC2,进行标记

AWS Ops Automation 和自动化备份

根据我设定的时间 他会自动备份,在生成的snapshot上,咱们能够看见对应的信息

AWS Ops Automation 和自动化备份

若是咱们设定了多个不一样task template的stack,咱们在进行标记的时候能够用逗号进行区分

查看历史记录

豆子通常是在cloudtrail里面查看相关的记录,不过能够看见日志比较凌乱

AWS Ops Automation 和自动化备份

好在AWS提供了Athena,能够把cloudtrail的日志转换成table,而后经过sql语句来查询

AWS Ops Automation 和自动化备份

相关文章
相关标签/搜索