在负载平衡的服务器上保持一致的configuration

首先 – 我不是一个系统pipe理员,所以我甚至不知道我在做什么是对的。

基本上我有两个基本上彼此克隆的亚马逊EC2networking服务器。 我已经创build了一个Elastic Load Balancer,并且已经添加了两个实例。 我将生产代码同时推送到两台服务器,以保持内容的一致性。

现在这个工作正常,但是我很难在configuration上缠绕头脑。 如果我最终扩展并启动更多的实例并将其添加到负载平衡器,那么我怎样才能保持Apacheconfiguration在所有方面都一致? 我不希望手动SSH到每个实例只是为了更新我的httpd.conf文件。

有没有这样的策略,和/或我的负载平衡器设置在这里是正确的?

舌头在脸颊答案,find一个合格的系统pipe理员来帮助你。 🙂

更有帮助的是,你是在正确的道路上。 通过使用Amazon的ELB,您基本上拥有一个“正常工作”的黑盒负载平衡器,可以通过Amazon的工具轻松pipe理。 您在部署方面的主要责任是保持webapp服务器的一致性和最新性。 有3个经典策略:

  1. “通过你的裤子”,大多是手动login到每个应用程序服务器,并手动执行安装和/或用一些脚本来协助其中的一部分。

  2. 使用configurationpipe理的声明工具,如厨师 , 木偶等(有很多)脚本的一切。

  3. 使用Amazon AWS内置的内容。 工作stream程通常如下所示:a)部署生产版本。 b)在单独的虚拟机中构build登台服务器。 c)开发代码,并安装在单独的登台服务器上。 d)准备发布时,产生登台服务器AMI的x个副本。 e)将ELB摆动到使用新的(曾经是分级的)虚拟机进行生产。 f)将旧的生产虚拟机保留几天,以便在需要时进行回滚。

以上的好select一般是2)和3)。

您可以阅读John Allspaw和Jesse Robbins的“ Web Operations:保持数据准时 ”。 这是相当高的水平,即给予“粘贴在这里脚本”的build议相反, 它更侧重于“为什么”和“文化”等更高层次的概念。 这是一本好书。