我有一个带有大约100 gb小文件的s3存储桶(在文件夹中)。
我被要求每周将其备份到本地NAS。
我可以访问连接到S3存储的EC2实例。
My Nas允许我运行sFTP服务器。
我也可以访问本地服务器,我可以在其中运行cron作业以在需要时提取备份。
我怎样才能最好地解决这个问题?如果可能,我只想下载已添加或更改的文件,或者在服务器端压缩它,然后将压缩文件推送到Nas上的SFtp。
最终目标是在我的Nas上对S3存储桶进行完整备份,每周传输量最低。
欢迎任何建议!
感谢您的帮助!
瑞安答案 0 :(得分:0)
我认为实现这一目标的最具扩展性的方法是使用AWS Elastic Map Reduce和Data管道。
架构是这样的:
您将使用数据管道将S3配置为输入数据节点,然后使用pig / hive脚本将EC2配置为执行将数据发送到SFTP所需的处理。 Pig可扩展为具有自定义UDF(用户定义函数)以将数据发送到SFTP。然后,您可以设置此管道以定期间隔运行。说到这一点,它需要相当多的阅读来实现所有这些 - 但如果您看到未来的数据转换需求,那么这是一项很好的技能。
从这里开始阅读:
http://aws.typepad.com/aws/2012/11/the-new-amazon-data-pipeline.html
类似的方法可以用于定期备份DynamoDB到S3,从FTP服务器读取文件,处理和移动到说S3 / RDS等。