AWS自動スケーリンググループの非常に奇妙な問題に気づいています。
インスタンスは(誤って)不健康であると報告されています。その後、インスタンスは終了し、不必要に置き換えられます。これは、負荷に対処するのに十分な容量がASGに残っていないため、問題を引き起こしています。
問題を特定するために、ASGの「終了」プロセスを一時的に停止しました。
現時点では、ASGによって不健康であると報告されたグループ内の単一のインスタンスがあります。インスタンスにログインしてヘルスチェックをテストすると、実際に正常であることが直接証明されます。
さらに、ASGに関連付けられているロードバランサーは、すべてのインスタンスを正常であると報告します。
私の質問はです。グループのヘルスチェックタイプが「ELB」に設定されていて、ロードバランサーがインスタンスを正常であると報告した場合、ASGはどのようにしてインスタンスを「UNHEALTHY」と見なすことができますか?
ASGがインスタンスに「異常」のフラグを付けた時期と理由を確認する方法はありますか?
このASGは現在、2つのクラシックELBと2つのALBターゲットグループに関連付けられています。現在、ELBからALBへの移行を進めています。
ただし、前述のように、両方のELBと両方のターゲットグループは、すべてのインスタンスを正常であると報告します。
問題は、複数のELB/ALBTGのインスタンス部分があることに起因すると思います。これらのELB/ALBのいずれかが、何らかの理由で異常であると判断した場合、インスタンスの終了をトリガーできると思います。
移行が完了するまで、ヘルスチェックタイプをEC2に変更します。
ベストプラクティスは、ASGを単一のロードバランサーのみにバインドすることです。 。
お役に立てば幸いです:)