2017-02-26 238 views
1

我对Elastic Load Balancer运行状况检查和Amazon EC2运行状况检查有点困惑。elb健康检查和ec2健康检查有什么区别?

Adding Health Checks to Your Auto Scaling Group它说:

如果连接一个或多个负载平衡器的自动缩放组和实例失败负载均衡的健康检查,自动缩放默认情况下不替换该实例。

如果启用负载平衡器运行状况检查并且实例检查运行状况失败,则Auto Scaling将认为该实例不健康并将其替换。

所以,如果我不启用ELB健康检查,EC2健康检查将工作,如果某些情况下不能进行健康检查自动缩放将考虑不健康的实例,并替换它,如果我能ELB健康检查,同事情会发生。那么ELB健康检查和EC2健康检查之间有什么区别?

回答

5

EC2 health check监视从管理程序和联网的角度来看可用性。例如,如果出现硬件问题,检查将失败。另外,如果实例配置错误,并且不响应网络请求,则会将其标记为有故障。

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

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