如何为每个单独的AMI / EBS设置自动计划快照?(How to setup automatic

2019-08-01 19:20发布

亚马逊是否支持任何一种自动调度的快照可以被配置为每个单独的AMI / EBS?

我的目标是让每个AMI备份本身规律,而不依赖于外部脚本和类似。

Answer 1:

您可以使用AWS命令行工具来自动化EBS快照。 只是安排一个cron作业或类似的运行ec2-create-snapshot在你EBS卷上所需的时间间隔命令。

您也可以进行API调用通过HTTP做同样的事情,如果你不想安装的命令行工具。

有关创建快照,EBS的链接以获取更多信息。

http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html



Answer 2:

使用此Python代码

from boto.ec2.connection import EC2Connection
from datetime import datetime
import sys

if __name__ == '__main__':

    conn = EC2Connection('aws_access_key_id', 'aws_secret_access_key')

    volumes_id={'vol-2354534'}

    description = 'Created by crontab  at ' + datetime.today().isoformat(' ') 

    for vol_id in volumes_id :

        snapshot  = conn.create_snapshot( vol_id ,description)        


Answer 3:

我创建了一个小型的Perl程序, https://github.com/sciclon/EBS_Snapshots

一些特点:*程序在后台模式或脚本模式(crontab中)运行

  • 你可以只选择了本地连接的卷或遥控器,以及

  • 您可以定义日志文件

  • 您可以定义快照每卷数量

  • 您可以定义为每个卷它们之间的频率

  • 频率和数量会像一个“循环”,当它到达移除最早的快照限制。

  • 你可以一步调整我指的是量,如果你有6个快照和修改的数量在3的过程中会自动调整它。

  • 您可以定义“规定的”执行,您可以添加代码执行快照之前执行,比如你想尝试卸除音量或停止一些服务,或者可能以检查实例的负载。 父进程将等待退出代码,“0”表示成功,您可以定义如果继续与否取决于退出代码。

  • 您可以定义一个“后记”执行取快照(例如电子邮件,告诉你这件事)后执行任何以股代息

  • 您可以添加“保护快照”跳过您定义的快照,我的意思是,他们将在“只读”,他们将永远不会被抹去。

  • 你可以重新配置脚本“对飞”,当它在守护模式下运行,脚本接收的信号和IPC。

  • 它有一个“本地缓存”,以避免请求API几次。 您可以添加或修改配置文件,并重新加载任何配置没有杀害的过程。



Answer 4:

AWS管理控制台没有用于创建维护EBS快照内置的自动化。 您可以尝试使用脚本,第三方云同治控制台与EBS快照或EC2 instnaces及EBS卷专用的基于快照的备份和恢复管理解决方案的基本autommation,可在AWS市场或其他地方。



Answer 5:

AWS现在提出了数据生命周期管理(见文档 ),它可以帮助你。 AWS将其定义为一种方法来“安排和管理EBS快照的创建和删除”

您可以从EC2控制台访问它,搜索“生命周期管理器”。 然后你被引导到上手



文章来源: How to setup automatic scheduled snapshots for each single AMI/EBS?