亚马逊是否支持可为每个AMI / EBS配置的任何类型的自动计划快照?
我的目标是定期进行每次AMI备份,而不依赖于外部脚本等。
答案 0 :(得分:7)
您可以使用AWS命令行工具自动执行EBS快照。只需安排一个cron作业或类似工作,就可以在ebs卷上以所需的时间间隔运行ec2-create-snapshot
命令。
如果您不想安装命令行工具,也可以通过http进行API调用来执行相同的操作。
有关创建EBS快照的详细信息,请参阅链接。
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
答案 1 :(得分: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)
答案 2 :(得分:1)
我创建了一个小型Perl程序https://github.com/sciclon/EBS_Snapshots
某些功能:*程序以守护程序模式或脚本模式(crontab)运行
您也可以只选择本地附加卷或遥控器
您可以定义日志文件
您可以为每个卷的快照量定义
您可以为每个卷定义其中的频率
频率和数量在达到删除最旧快照的限制时将像“循环”一样工作。
如果您有6个快照,并且您在3中修改了数量,那么您可以在一步中重新调整数量。过程将自动重新调整。
您可以定义“预定”执行,您可以在执行快照之前添加要执行的代码,例如您想尝试卸载卷或停止某些服务,或者可能检查实例加载。父进程将等待退出代码,“0”表示成功,您可以根据退出代码定义是否继续。
您可以定义“postscript”执行以在拍摄快照后执行任何脚本(例如电子邮件告诉您)
您可以添加“受保护的快照”以跳过您定义的快照,我的意思是它们将处于“只读”状态,并且它们永远不会被删除。
您可以在守护程序模式下运行时“动态”重新配置脚本,脚本接受信号和IPC。
它有一个“本地缓存”,以避免多次请求API。您可以在配置文件中添加或修改任何配置,然后重新加载而不会中断该过程。
答案 3 :(得分:0)
AWS管理控制台没有用于创建维护EBS快照的内置自动化。您可以尝试使用脚本,第三方云管理控制台与EBS快照的基本自动化或基于专用快照的备份和恢复管理解决方案,用于EC2实例和EBS卷,可在AWS市场或其他地方获得。
答案 4 :(得分:0)
AWS现在提出了数据生命周期管理(请参阅documentation),这可能会对您有所帮助。 AWS将其定义为“计划和管理EBS快照的创建和删除”
的一种方式。您可以从EC2控制台访问它并搜索“ Lifecycle Manager”。然后引导您开始