elb健康检查和ec2健康检查有什么区别?

时间:2017-02-26 08:03:16

标签: amazon-web-services amazon-ec2 amazon-elb

我对Elastic Load Balancer运行状况检查和Amazon EC2运行状况检查有点困惑。

Adding Health Checks to Your Auto Scaling Group中说:

  

如果您已将一个或多个负载均衡器连接到Auto Scaling组,并且实例未通过负载均衡器运行状况检查,则默认情况下Auto Scaling不会替换该实例。

     

如果启用了负载均衡器运行状况检查,并且实例未通过运行状况检查,则Auto Scaling会认为该实例运行状况不佳并替换它。

因此,如果我不启用ELB运行状况检查,则EC2运行状况检查将起作用,如果某些实例运行状况检查失败,则自动扩展将考虑运行不正常的实例并替换它,如果启用ELB运行状况检查,则会发生同样的事情。那么ELB健康检查和EC2健康检查之间的区别是什么?

1 个答案:

答案 0 :(得分:15)

EC2 health check从虚拟机管理程序和网络角度观察可用性。例如,如果出现硬件问题,检查将失败。此外,如果实例配置错误且无法响应网络请求,则会将其标记为有问题。

ELB health check验证实例上的指定TCP端口是否正在接受连接,或者指定的网页返回2xx代码。因此,ELB运行状况检查更加智能,并验证实际的应用程序是否正常工作,而不是验证只有一个实例可以运行。

据说有第三种检查类型:自定义健康检查。如果您的应用程序无法通过简单的HTTP请求进行检查并需要高级测试逻辑,那么您可以在代码中实现自定义检查并通过API设置实例运行状况: Health Checks for Auto Scaling Instances