ヘルスチェックはELBからインスタンスに対するHTTP(S)リクエストによって行われます。
なので、ELBからインスタンスのリクエストが正常に行われずエラーになった場合はヘルスチェックに失敗します。
ヘルスチェックのステータスの説明についてはドキュメントを見てください。
Target health status
スクショを見るに、unusedになっているので下記のいずれかに該当するか確認してください、。
ターゲットがターゲットグループに登録されていないか、ターゲットグループがロードバランサーのリスナールールで使用されていないか、ロードバランサーに対して有効ではないアベイラビリティーゾーンにターゲットがあるか、ターゲットが停止または終了状態にあります。
他のスクショを見るに、ELBで使っているAvailability Zoneがap-northeast-1a,ap-northeast1cのみなのにも関わらず、EC2インスタンスがap-norhteast-1dにあるのが原因ではないですかね。
ELB側でEC2が置かれているサブネットを追加してください。
追加できない場合はそもそも別のVPCに作成していないかを確認していずれかを作り直してください。
あと、余談ですがよくあるのはunhealthyになるケースです。
今回はunhealthyではないので該当しませんが、ELBからインスタンスへのリクエストが正常に行われないケースは大まかに以下の場合です。
- ELBからインスタンスへネットワーク的に接続が行えていない
一番多いのは、セキュリティグループの設定不足です。ELBのヘルスチェックで設定しているポートに対するELBからの接続が可能な状態になっているか確認しましょう。
一番簡単なのはELBのセキュリティグループからの通信をEC2インスタンスのセキュリティグループ側で許可する設定にすることです。
2. EC2インスタンス側で、ヘルスチェックで指定したポートとパスへの通信が行える状態になってない
当然のことながら、ヘルスチェックのリクエストを送っても、サーバ側でそのリクエストを受け付けられる状態になっていなければエラーが起きます。
いずれの場合でも、ヘルスチェックに失敗したときに再度そのインスタンスを登録したいときは一旦ターゲットグループからそのインスタンスを外してください。
何分間かdrainingになったあとに外れるので、その後再登録すれば再度ヘルスチェックを経て登録されます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/29 17:30