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 和自動化備份

相關文章
相關標籤/搜索