【问题标题】:EC2 automation tools / strategies?EC2 自动化工具/策略?
【发布时间】:2010-10-10 11:23:27
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: amazon-s3 amazon-ec2


    【解决方案1】:

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

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

    这种方法的好处:

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

    主要缺点:

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

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

    【讨论】:

      【解决方案2】:

      AWS 刚刚发布了Systems Manager 套件,其中包括一个Automation service,它将(除其他外)处理您的use cases around AMIs

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-01-14
          • 1970-01-01
          • 1970-01-01
          • 2012-03-21
          • 1970-01-01
          • 1970-01-01
          • 2021-02-15
          相关资源
          最近更新 更多