Amazon web services 对ec2自动缩放实例的初始化错误作出反应

Amazon web services 对ec2自动缩放实例的初始化错误作出反应,amazon-web-services,amazon-ec2,autoscaling,Amazon Web Services,Amazon Ec2,Autoscaling,我有一个运行在ELB后面的EC2上的Web服务器,它使用AWS自动缩放进行缩放。当一个新实例启动时,它会从git存储库中获取最新的应用程序代码 在初始化过程中,对任何错误做出反应的最佳方式是什么 git服务器可能无法启动/访问 磁盘可能已损坏,git pull存在错误(是的,这发生在我身上) 我就是这么做的: 启动时创建一个文件实例\u启动 初始化完成后,请成功删除此文件 ELB健康检查访问一个特殊url,如果实例\u开始文件存在,该url返回错误500 一个cloudwatch警报,报告我

我有一个运行在ELB后面的EC2上的Web服务器,它使用AWS自动缩放进行缩放。当一个新实例启动时,它会从git存储库中获取最新的应用程序代码

在初始化过程中,对任何错误做出反应的最佳方式是什么

  • git服务器可能无法启动/访问
  • 磁盘可能已损坏,git pull存在错误(是的,这发生在我身上)
    • 我就是这么做的:

      • 启动时创建一个文件
        实例\u启动
      • 初始化完成后,请成功删除此文件
      • ELB健康检查访问一个特殊url,如果
        实例\u开始文件存在,该url返回错误500
      • 一个cloudwatch警报,报告我不健康的实例

      将您的生产版本压缩到S3上,然后将其从S3上拉出来。如果出于某种原因,这不起作用怎么办?嗯,可能会创建一个cron作业来检查您的应用程序是否已部署,如果未部署,则重新下载。同时会出现停机情况吗?这对防止磁盘损坏没有帮助。我不知道在自动化任何东西时是否有一个完美的解决方案。错误可能会发生。您看过Elastic beanstalk吗?如果它有错误,它至少会启动另一个实例。