如何为每个AMI / EBS设置自动计划快照?

问题描述 投票:10回答:5

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

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

amazon-web-services snapshot ami
5个回答
7
投票

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

如果您不想安装命令行工具,也可以通过http进行API调用来执行相同的操作。

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

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


5
投票

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

1
投票

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

一些功能:*程序以守护进程模式或脚本模式运行(crontab)

  • 您也可以只选择本地附加卷或遥控器
  • 您可以定义日志文件
  • 您可以为每个卷定义快照数量
  • 您可以为每个卷定义它们之间的频率
  • 频率和数量在达到删除最旧快照的限制时将像“循环”一样工作。
  • 你可以一步重新调整我的意思,如果你有6个快照,你修改3中的数量,过程将自动重新调整它。
  • 您可以定义“预定”执行,您可以在执行快照之前添加要执行的代码,例如,您希望尝试卸载卷或停止某些服务,或者可能检查实例加载。父进程将等待退出代码,“0”表示成功,您可以根据退出代码定义是否继续。
  • 您可以定义“postscript”执行以在拍摄快照后执行任何脚本(例如,一封电子邮件告诉您)
  • 您可以添加“受保护的快照”以跳过您定义的快照,我的意思是它们将处于“只读”状态,并且它们永远不会被删除。
  • 您可以在守护进程模式下“动态”重新配置脚本,脚本接受信号和IPC。
  • 它有一个“本地缓存”,以避免多次请求API。您可以在配置文件中添加或修改任何配置并重新加载,而不会终止进程。

0
投票

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


0
投票

AWS现在提出数据生命周期管理(请参阅documentation),它可能对您有所帮助。 AWS将其定义为“安排和管理EBS快照的创建和删除”的方法

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

© www.soinside.com 2019 - 2024. All rights reserved.