管理或管理aws中自动缩放实例的有效方法

时间:2013-04-25 08:42:25

标签: amazon-web-services amazon-ec2 cloud admin autoscaling

作为一个系统管理员,我正在寻找一种有效的方法或最佳实践,您可以通过自动扩展来管理ec2实例。

如何管理以下场景的自动化:(我们的环境使用自动扩展,Elastic Load Balancing和cloudwatch运行)

  1. 出于安全原因修补服务器的最新版rpm包?喜欢(update更新/升级)
  2. 对Apache服务器进行配置更改,如更改httpd.conf并将其应用于自动扩展组中的所有实例?
  3. 如何将最新代码部署到服务器,同时减少生产中断?
  4. 你如何使用木偶或厨师自动执行你的管理任务?
  5. 如果您有任何关于如何使用aws

    自动执行管理任务的话,我将非常感激

2 个答案:

答案 0 :(得分:0)

查看Amazon OpsWorks,这是适用于Amazon Web Services的新的基于Chef的DevOps工具。

它使您能够在不同层(Load Balancer,App服务器,DB ...)的实例上运行自定义Chef配方,以及管理来自各种源存储库的应用程序部署(Git,颠覆..)。

它支持基于负载的自动缩放(如您已经使用的自动缩放),以及基于时间的自动缩放,使用标准EC2自动缩放实现更复杂。

这是一项相对年轻的服务,并非所有功能都可用,但它可能对您有用。

答案 1 :(得分:0)

  

修补服务器的最新版rpm包   安全原因?喜欢(update更新/升级)

您可以使用puppet或chef创建一个cron作业来处理这个问题(cron会以最基本的形式下载或通过bash脚本安装更新)。您可能希望自动升级,或者只是通过电子邮件通知管理员,以便您可以在应用更新之前进行评估。

  

更改Apache服务器的配置   httpd.conf并将其应用于自动缩放中的所有实例   组?

我通常通过Puppet清单处理所有配置文件。您可以设置每个EC2实例以从Puppet Server提取更新,然后您可以按需推出更改。此过程的一部分应该是更新存储在AutoScale组中的AMI(使用Amazon命令行工具完成)。

  

如何使用较少的内容将最新代码部署到服务器   生产中断?

首先在舞台上测试它!另外一个巧妙的技巧是版本化部署,因此每次进行部署时,它都会获得自己的文件夹(/ var / www / v1 / var / www / v2等),一旦验证部署成功,您只需更新符号链接指向最新版本(/ var / www / current指向/ var / www / v2)。

OpsWorks为您处理所有这些内容,因此如果您不想自己动手,可以查看它。

  

如何使用木偶或厨师自动执行管理任务?

您可以使用Chef或Puppet执行各种操作,并且可以通过您从Chef或Puppet调用的bash / python脚本完成他们不能(或您不知道如何)执行的任何操作。

我通常会做一些事情,比如安装软件包,构建自定义软件包,设置权限,下载内容,启动服务,管理配置文件,设置cron作业等等。

  

如果您有任何关于如何使用aws

自动执行管理任务的话,我将非常感激

了解CloudFormation。这可以帮助您通过配置文件设置所有服务器和相关服务(比如EC2,LBS,CloudWatch),从而帮助您自动化整个堆栈(而不仅仅是EC2的操作系统)。