EC2自动化工具/策略?

时间:2009-02-27 23:56:54

标签: amazon-s3 amazon-ec2

您使用哪些工具或策略来实现EC2活动的自动化?

我需要能够调出一些EC2实例,为它提供各种软件(主要是Python包),与S3交互(主要是下载数据),以及运行各种工作。我将按需和按计划进行此操作。

我正在努力决定是否应该:

  • 创建一个加载了我所有软件的AMI 或
  • 启动普通的vanilla linux AMI实例并将我的软件scp到它

对于配置和自动化Boto看起来非常好。或者我可以用Paramiko写一些东西。推荐我或者其他任何我应该看的东西吗?

基本上我正在寻找建议/成功案例,让我知道什么对你有用。

3 个答案:

答案 0 :(得分:3)

要回答有关选择AMI的子弹,我会说这取决于您安装的软件数量。

我在混合方法方面取得了成功,我建立了一个AMI并加载了我的重量级和更稳定的软件。这是需要运行安装程序的东西,或者需要相当长的时间来安装(请记住,如果您每次在启动过程中重新安装软件包,则每次都要为安装付费)。然后,我在配置/启动时上传小而易变的软件。在这个桶中大部分的应用程序代码,数据等。这样,我可以更改我的应用程序,而不必触摸AMI。

这种方法的好处:

  • 不必为运行相同的软件安装付费数千次。
  • AMI可以保持相当稳定。
  • 可以使用需要干预或GUI交互的软件来安装。

主要缺点:

  • 您的AMI操作系统版本将随着时间的推移而变得陈旧。
  • 您的AMI可能无法灵活运行它将运行的实例类型/体系结构。例如,您可以在32位操作系统上创建它,从而防止它在高CPU实例类型上运行,反之亦然。因此,您可以将自己锁定为定价方案。

我不使用Python,因此我无法对您引用的任何API发表评论。

答案 1 :(得分:1)

AWS刚刚发布了Systems Manager套件,其中包含一个Automation service,其中({3}}将处理您的use cases around AMIs

答案 2 :(得分:0)

这个问题现在问了一段时间,但我相信我的回答对其他用户有用。我相信市场上最好的自动化工具由云管理平台提供。例如,它们提供自动扩展,配置软件集成(Chef / Puppet),数据库复制,dns管理......

最受欢迎的云管理软件是Scalr(免责声明:我在那里工作),RightScale和enStratus。 Scalr是开源的,并在Apache 2许可下发布。

关于AMI的具体问题,云管理平台通常提供预先配置的AMI(在Scalr,我们称之为角色)。如果您想在现有实例上创建自己的AMI,您将能够创建snpashot并将其用作未来实例的模板。