【问题标题】:How to setup automatic scheduled snapshots for each single AMI/EBS?如何为每个 AMI/EBS 设置自动计划快照?
【发布时间】:2012-10-13 07:58:18
【问题描述】:

Amazon 是否支持可以为每个 AMI/EBS 配置的任何类型的自动计划快照?

我的目标是定期备份每个 AMI,而不依赖于外部脚本等。

【问题讨论】:

  • 您更关心的是备份 EBS 卷还是定期从机器上实际创建一个新的 AMI?您实际上要备份的是什么?
  • 我更关心备份 EBS 卷。
  • 亚马逊没有内置的。但是您可以设置 cronjob 来完成任务。您可以在此处阅读我的说明如何通过 10 个步骤进行设置:stackoverflow.com/questions/7003409/…

标签: amazon-web-services snapshot amazon-ami


【解决方案1】:

AWS 现在提出了数据生命周期管理(请参阅documentation),这可能会对您有所帮助。 AWS 将其定义为一种“调度和管理 EBS 快照的创建和删除”的方式

您可以从 EC2 控制台访问它并搜索“Lifecycle Manager”。然后引导您开始使用

【讨论】:

    【解决方案2】:

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

    一些特性: * 程序以守护程序模式或脚本模式(crontab)运行

    • 您也可以只选择本地附加卷或远程卷

    • 您可以定义日志文件

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

    • 您可以为每个卷定义其中的频率

    • 当达到删除最旧快照的限制时,频率和数量将像“循环”一样工作。

    • 您可以一步调整数量,我的意思是如果您有 6 个快照,并且您在 3 中修改数量,该过程将自动重新调整。

    • 您可以定义“prescript”执行,您可以在执行快照之前添加要执行的代码,例如您想尝试卸载卷或停止某些服务,或者检查实例负载.父进程会等待退出码,“0”表示成功,你可以根据退出码定义是否继续。

    • 您可以定义“后记”执行以在拍摄快照后执行任何脚本(例如告诉您有关它的电子邮件)

    • 您可以添加“受保护的快照”以跳过您定义的快照,我的意思是它们将处于“只读”状态并且永远不会被删除。

    • 当脚本以守护程序模式运行时,您可以“即时”重新配置脚本,脚本接受信号和 IPC。

    • 它有一个“本地缓存”以避免多次请求 API。您可以在配置文件中添加或修改任何配置并重新加载而不终止进程。

    【讨论】:

      【解决方案3】:

      AWS 管理控制台没有用于创建维护 EBS 快照的内置自动化功能。您可以尝试使用脚本、具有 EBS 快照基本自动化功能的第三方云管理控制台或用于 EC2 实例和 EBS 卷的基于快照的专用备份和恢复管理解决方案,这些解决方案可在 AWS 市场或其他地方获得。

      【讨论】:

        【解决方案4】:

        使用这个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)        
        

        【讨论】:

          【解决方案5】:

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

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

          有关创建 EBS 快照的更多信息,请参阅链接。

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

          【讨论】:

            猜你喜欢
            • 2020-11-16
            • 2012-11-29
            • 2020-09-11
            • 2020-07-10
            • 2020-02-02
            • 1970-01-01
            • 2013-06-28
            • 2020-01-23
            • 1970-01-01
            相关资源
            最近更新 更多