Python 我是否需要SSH到EC2实例中以启动带有参数的自定义脚本,或者有一些我不知道的服务';我不知道

Python 我是否需要SSH到EC2实例中以启动带有参数的自定义脚本,或者有一些我不知道的服务';我不知道,python,amazon,chef-infra,boto,aws-opsworks,Python,Amazon,Chef Infra,Boto,Aws Opsworks,我需要创建一个将执行以下操作的应用程序: 通过消息传递系统接受请求(完成) 处理请求并确定作业所需的脚本和实例类型(完成) 启动一个EC2实例 上传自定义脚本(可能来自github,也可能是S3 bucket) 使用给定参数启动脚本 问题是执行步骤3、4、5最有效的方法是什么?不要误会我,现在我正在用脚本做同样的事情来完成所有这些 启动实例 使用用户_数据下载必要的依赖项 然后将SSH插入实例并启动脚本 我的问题是:这是处理这类工作的唯一选择吗?或者有没有一个简单的方法可以做到这一点? 我在

我需要创建一个将执行以下操作的应用程序:

  • 通过消息传递系统接受请求(完成)
  • 处理请求并确定作业所需的脚本和实例类型(完成)
  • 启动一个EC2实例
  • 上传自定义脚本(可能来自github,也可能是S3 bucket)
  • 使用给定参数启动脚本
  • 问题是执行步骤3、4、5最有效的方法是什么?不要误会我,现在我正在用脚本做同样的事情来完成所有这些

    • 启动实例
    • 使用用户_数据下载必要的依赖项
    • 然后将SSH插入实例并启动脚本
    我的问题是:这是处理这类工作的唯一选择吗?或者有没有一个简单的方法可以做到这一点? 我在看OpsWork,我不确定这是否适合我。我知道我可以用它来做第3步和第4步,但是剩下的呢

    • 使用给定参数启动脚本
    • 触发OpsWork以在收到请求时启动实例

    顺便说一句,我正在使用Python、boto与AWS服务进行通信。

    既然您已经在使用AWS,这听起来像是Amazon简单工作流服务()的完美用例

    从服务描述中:

    Amazon SWF取代了定制编码工作流解决方案的复杂性 以及具有完全管理的web服务的过程自动化软件。这 消除了开发人员管理基础架构的需要 流程自动化的管道系统,以便他们能够将精力集中在 其应用程序的独特功能

    它允许您定义任务工作流,并让工作人员在工作流中处理任务


    boto
    对SWF有“1级”支持(低级api):

    既然您已经在使用AWS,这听起来像是亚马逊简单工作流服务的完美用例()

    从服务描述中:

    Amazon SWF取代了定制编码工作流解决方案的复杂性 以及具有完全管理的web服务的过程自动化软件。这 消除了开发人员管理基础架构的需要 流程自动化的管道系统,以便他们能够将精力集中在 其应用程序的独特功能

    它允许您定义任务工作流,并让工作人员在工作流中处理任务


    boto
    对SWF具有“level1”支持(低级api):

    您可以使用刀引导。这可能是一种方法。您可以使用AWS SDK完成大部分工作

  • 启动实例
  • 添加公共IP(如果不在VPC中)
  • 等待实例重新联机
  • 使用刀引导提供脚本,设置厨师客户端,更新系统
  • 然后使用厨师烹饪书来设置您的机器

  • 你可以使用刀引导。这可能是一种方法。您可以使用AWS SDK完成大部分工作

  • 启动实例
  • 添加公共IP(如果不在VPC中)
  • 等待实例重新联机
  • 使用刀引导提供脚本,设置厨师客户端,更新系统
  • 然后使用厨师烹饪书来设置您的机器

  • 谢谢,听起来很合理谢谢,听起来很合理