任何人都可以请告诉我如何运行一个shell脚本的所有ec2实例是一个自动缩放组的一部分。
该场景是,我有一个脚本,我想运行在自动缩放组的一部分自动打开的许多ec2实例。 原生方法是ssh到每个实例并运行脚本。 我正在寻找一种方式,它可以自动运行在所有的实例上,当我运行在一个EC2实例或任何更好的方式做到这一点?
提前致谢。
我会说有两种方法:
使用AWS API确定所有组成员的IP,然后执行SSH。 – 这本身可能在不同的层面上,从使用aws-cli( describe-auto-scaling-instances和describe-instances )的shell脚本到更复杂的设置,例如Python boto和Fabric 。
让所有实例在一些编排或集群pipe理工具(例如serf或MCollective)中注册自己,然后使用该通道向所有组成员发送命令。
可能的第三种方法:根本不显式运行shell脚本,但所有实例都从Puppet或Chef服务器获取它们的设置。