我已经完成了我们网站的 AWS ELB 架构,并成功创建了启动配置和目标组,为其在负载均衡器后面创建了实例。
我的配置如下:
目标组
WebInstancesHttps
通过端口 443 进行 HTTPS
健康检查
HTTPS
路径 :/healthy.html
端口 443
健康阈值 :10
不健康阈值 :2
超时 :5
间隔 :30
自动伸缩组
期望:2
最小值:2
最大值:3
目前没有扩展策略。
负载均衡器
侦听 HTTP:80 和 HTTPS:443 的应用程序负载均衡器,它们均转发到提到的目标组。
问题
我还有一个问题,我的实例不断因运行状况检查失败而被终止。尽管查询运行状况检查配置中提到的路径始终有效,并且实例似乎根本没有问题。
有时,一个实例变得不健康,然后一个新的实例被实例化。
我已阅读有关健康检查的所有文档,并了解其背后的理论,但我不明白为什么主机在应用程序几乎没有流量或负载的情况下有时会不断失败健康检查。除了提到的实例不断失败健康检查的事实外,该应用程序运行良好......但我不明白为什么。
我很难调查这个问题,因为所有的配置看起来都足够了。
更新时间 2019-03-13
似乎我的 crontab 中每分钟执行的 aws s3 sync 命令都停了下来......
20343 bitnami 20 0 192392 48884 9696 R 34.3 2.4 1:06.32 /usr/bin/python3 /home/bitnami/.local/bin/aws s3 sync --delete /opt/bitnami/apps/wordpress/htdocs s3://nutriti-code
20351 bitnami 20 0 192108 48608 9680 R 32.7 2.4 0:37.24 /usr/bin/python3 /home/bitnami/.local/bin/aws s3 sync --delete /opt/bitnami/apps/wordpress/htdocs s3://nutriti-code
20375 bitnami 20 0 339360 48748 9728 R 32.7 2.4 0:10.88 /usr/bin/python3 /home/bitnami/.local/bin/aws s3 sync --delete /opt/bitnami/apps/wordpress/htdocs s3://nutriti-code
(这是来自我的写入器节点的,但我怀疑在终止的读取器节点上也会发生同样的情况。)
aws s3 sync 命令运行几分钟,直到服务器健康检查失败。
附件是健康检查失败的所有时间戳: https://photos.app.goo.gl/sdU1yzL4r5q8q5hz5
非常感谢您的见解!
谢谢!
答案1
我遇到了同样的问题,花了很长时间才找到可能导致 Classic Load Balancer“停止服务”错误的错误所在。
转到“健康检查”> 将“Ping 目标”从“Http”编辑为“TCP”
现在处于“正在使用”状态。
我希望这对你们有帮助。