2014-10-08 68 views
0

我需要安装EC2上的20个实例,并安装相同的配置和软件包。 我正在一个一个做这些。但是,我怎样才能将这些软件包一次安装到每个服务器? 我无法弄清楚在亚马逊文件。将软件包安装到亚马逊ec2中的每台服务器上

+0

Offtopic。服务器部署/配置不是一个编程问题。 – 2014-10-08 14:39:55

回答

2

亚马逊本身不提供任何工具来执行此类操作。你需要建立你自己的方法来做这样的事情。有这取决于你想要做什么或你的要求是什么,有些什么不同的选项包括:

  • 你可以安装类似pssh这将让你在跨多个服务器并行运行SSH命令。
  • 您可以安装配置管理系统,如ansible,puppet等,并使用它来配置您的所有系统。
  • 在单个实例上安装所需的所有内容,然后在该实例中安装create an AMI,然后使用该AMI旋转所有其他实例。

这些方法中的每一种都具有优势&的缺点。安装pssh非常简单。设置一个像木傀儡&木偶采取了相当数量的初始配置,但随后使系统的管理非常容易&强大。构建AMI并不难,但如果您意识到自己在映像中犯了错误,那么您需要在所有实例上手动修复它,或者构建新的AMI &重新部署所有实例。

+0

哇!令人难忘的指导 – user2372074 2014-10-08 14:51:57

0

@Bruce P正确表明亚马逊不提供任何方法来在所有实例中安装软件包。但是,我想提及亚马逊EMR的存在,如果它可以以某种方式用于您的情况。

亚马逊弹性MapReduce提供的Bootstrap功能,允许用户运行一个自定义代码,如bash脚本,以配置自定义的方式实例。

此功能允许我安装一个自定义库,这对我的MapReduce作业是必不可少的。