EC2自动化工具/策略?

Par*_*and 6 amazon-s3 amazon-ec2

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

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

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

  • 创建一个AMI,其上载有我的所有软件或
  • 启动一个简单的vanilla linux AMI实例并将我的软件scp到它

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

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

run*_*ako 3

为了回答您关于选择 AMI 的问题,我想说这取决于您安装的软件数量。

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

这种方法的好处:

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

主要缺点:

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

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