天天看點

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

這一節看看如何通過boto3來管理EC2的快照。在實際生産環境中,豆子使用的是AWS提供的解決方案 EBS Snapshot Scheduler, 直接導入Cloudformation的stack,會自動配置Lambda函數和DynamoDB資料庫,然後我們可以通過标簽來進行設定。從學習的角度,我們直接來弄一個超簡易的版本。我們可以直接寫兩個Lambda函數,一個進行建立,一個進行删除。

首先,設定一個tag标簽

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

接下來建立Lambda函數

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

IAM Role的配置如下

具體函數如下所示:

然後在Cloudwatch裡面設定一個計劃任務,定期執行這個函數

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

這個是綁定了Role和觸發器的示意圖

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

執行之後,可以檢視快照

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

在Cloudwatch裡面檢視print的輸出日志,可以看見成功執行了

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

同樣的方式,我們可以建立一個Lambda函數來删除快照

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

具體的函數如下:

同樣可以建立計劃任務執行函數

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照

執行之後CloudWatch裡面的print日志

Lambda,AWS和Python的自動化管理操作 - 自動建立快照,删除快照