我们正在研究向云的长期迁移。该计划是从小处着手,逐步将基础架构中不太重要的部分迁移到云中。到目前为止一切都很好。
此迁移的一部分包括来自 Web 服务器的日志文件等。请记住,服务器仍位于云外部的数据中心中。在每天结束时让 cron 作业抓取日志文件,压缩它们,然后将它们推送到 Amazon S3 中,并可能备份到 Glacier 应该很容易。这很容易。
当 S3 是您存储日志的唯一位置并且您想要在日志中搜索各种事件时,就会出现此问题。如果您不知道时间间隔,您可能必须从 S3 下载所有日志以进行全面搜索,结果证明这很昂贵- 将数据移动到云中很便宜,将其从那里取出很昂贵。
或者我可以设置一个 EC2 实例模板。当有人想要进行日志搜索时,启动实例,将日志从 S3 下载到它,然后 grep 离开。将文件从 S3 下载到 EC2 很便宜。但是下载可能需要一段时间;同样,如果您不知道要查找的内容,则需要下载大量日志,这意味着在 EBS 中使用大量空间。
另一种方法是将日志上传到 DynamoDB 之类的。价格可能是个问题。另一个问题是日志是完全非结构化的 Apache 和 Squid 日志等 - 因此查询可能需要很长时间。
我们说的是 500GB/年的压缩日志,最多可存储 5 年。
对我来说,像这样将日志存储在云中开始听起来不是一个好主意。也许只是使用 Glacier 作为“磁带备份”,但现在将日志保存在本地,在几个硬盘驱动器上。
你向哪个方向倾斜?