6

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

我需要能够启动多个 EC2 实例,为其提供各种软件(主要是 Python 包),与 S3 交互(主要是下载数据),并运行各种作业。我将按需和按计划执行此操作。

我正在尝试决定是否应该:

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

对于配置和自动化,Boto看起来相当不错。或者我可以用Paramiko写一些东西。推荐任何一个或其他我应该看的东西?

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

4

3 回答 3

3

要回答有关选择 AMI 的问题,我想说这取决于您要安装多少软件。

我通过混合方法取得了成功,我在其中构建了一个 AMI 并加载了我的重量级和更稳定的软件。这是需要运行安装程序的东西,或者需要花费大量时间来安装(请记住,如果您每次都在启动过程中重新安装一个软件包,那么您每次都需要为安装付费)。然后,我在配置/启动时上传小型且易失的软件。大多数应用程序代码、数据等都在这个存储桶中。这样,我可以更改我的应用程序而不必接触 AMI。

这种方法的好处:

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

主要缺点:

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

我不使用 Python,因此无法评论您引用的任何一个 API。

于 2009-02-28T00:12:55.263 回答
1

AWS 刚刚发布了Systems Manager套件,其中包括一项自动化服务,该服务将(除其他外)处理您围绕 AMI 的用例

于 2016-12-05T08:50:27.150 回答
0

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

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

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

于 2012-04-03T21:33:12.577 回答