Shell - 将一个脚本安装到服务器组中

时间:2018-01-12 09:27:04

标签: shell amazon-web-services ubuntu amazon-ec2

我有一个需要安装在100个Ubuntu实例/服务器上的shell脚本。在所有实例上安装相同脚本而不登录每个实例的最佳方法。

2 个答案:

答案 0 :(得分:0)

根据AWS文档:

,您可以使用AWS System Manager
  

您可以将命令发送到数十,数百或数千个实例   使用目标参数(通过指定选择目标选择目标   Amazon EC2控制台中的标记选项)。目标参数接受   基于您指定的Amazon EC2标记的Key,Value组合   为您的实例。执行命令时,系统将找到该命令   并尝试在匹配的所有实例上运行该命令   指定的标签

您可以按标记定位实例:

aws ssm send-command --document-name name --targets Key=tag:tag_name,Values=tag_value [...]

定位实例ID:

aws ssm send-command --document-name name --targets Key=instanceids,Values=ID1,ID2,ID3 [...]

阅读AWS Documentation了解详情。

谢谢

答案 1 :(得分:0)

尝试完成此任务时,您有几种不同的选择。

与提到的Kush一样,AWS System Manager非常棒,但却是一种紧密耦合的AWS服务。

Packer - 您可以使用Packer创建服务器的AMI,并在其上安装脚本,或者只执行脚本正在执行的操作。

配置管理。

Ansible / Puppet / Chef。 - 这些工具允许您只使用几个命令来管理数千台服务器。我倾向于Ansible,它重量轻,语法只有yaml,通过ssh连接,并且如果需要,仍允许使用放置shell脚本。