管理员如何管理其EC2 EBS和快照?


30

我的公司正在将托管服务移至Amazon,尽管存在所有迁移问题,但我仍在努力。从物理硬件过渡到瞬态虚拟机一直是一个很大的挑战。

最后的挑战之一是弄清楚如何管理我们的EBS和快照。由于它们目前无法以描述性方式命名或添加含义,因此我想知道管理员如何管理其资源。一台或两台服务器并不是什么大问题,但是运行多台服务器的服务器如何处理事情。每个人都在使用少数服务器时是否使用第三方工具(例如RightScale / Scalr)?还是在维护Wiki或其他辅助文档?


1
+1好问题。我期待社区的答复。
egorgry

Answers:


3

我使用ec2-consistent-snapshot(http://alestic.com/2009/09/ec2-consistent-snapshot)拍摄快照(在RHEL / CentOS派生的Amazon Linux上)-它是用Perl编写的,并且直接使用API 。您指定要快照的卷,它允许您添加描述。

(在AWS控制台中,如果您需要更精细的控制,则可以添加标签,但是对于简单备份来说,这可能是不必要的,并且上面使用的Perl模块尚不支持(Net :: Amazon :: EC2))。

上面的脚本不会删除快照(只能创建新快照-始终如一(即,它可以在快照之前冻结磁盘/数据库)。由于它是相当常用的,并且我找不到兼容的Perl脚本来删除我写的旧快照我自己的(http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/)。它可以很好地完成工作(祖父-父亲-儿子轮换),并使用相同的依赖项和参数如上脚本。

当然,两者都设置为通过Cron运行。

(理论上,将一些类似的脚本(例如,用PHP和Ruby编写的脚本)连接到数据库,并维护自己的卷和快照快照日志应该很容易-每个快照都有唯一的ID,因此只要记录下来,任何进一步的内部组织都应该是可能的[但是,出于备份目的,卷ID和日期通常就足够了]

不要使用CLI工具-它们是用Java编写的,与任何直接的API实现相比,它的运行速度很慢。


2

亚马逊逐渐添加了进行有效管理所需的所有功能,这是亚马逊要吸引企业市场所必需的。标签已添加,增强功能即将推出,以允许用户只能访问某些功能。将来肯定会处理脚本和部署。我将这些功能添加到我的免费工具ElastDream中。


1

我没有编写自己的工具来针对文本标签为EBS和快照ID编制索引,但我发现,使用免费的RightScale帐户并分配昵称是管理EBS卷和快照的最佳方法。

我个人认为,无法为EC2实例,AMI或卷分配易于记忆的标签是当前Amazon产品中的一个大漏洞-对我而言,这似乎很容易。


1

我使用ElasticFox来管理快照(以及所有服务器)。它具有标签,可以轻松跟踪哪个是哪个。

当我要以编程方式进行操作时,我还会使用boto库。但是,如果这样做,则需要创建自己的数据存储。SQS和Sqlite是不错的选择。


1

ElasticFox无疑是(手动)管理EC2的最便捷工具之一。但是关键部分是-定期对实例进行映像-启动新实例后设置一些自动初始化:-分区并挂载临时驱动器-可用后挂载EBS卷-从任一EBS还原文件和数据库,共享存储或S3。-启动服务(MySQL,Apache,Tomcat,您可以命名)。


1

我们使用厨师来管理我们所有的EC2资源。


我目前不是厨师用户,但正在寻找解决此问题的解决方案。您能参考用于自动备份的配方/食谱/资源吗?
约翰·辛内根

0

尽管它正在迅速改进,但对于许多日常任务而言,AWS控制台的级别太低。如果您现在需要此功能,则可以使用ec2 cli工具来管理快照,也可以使用第三方工具来咬牙切齿,编写自己的脚本。对于EBS卷管理,上面提到的是不错的选择,另一个选择是EBS管理工具,因此您可以安排备份,命名,还原它们,例如BitNami Cloud Hosting(有免费层)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.