Closed11

ALBのヘルスチェック結果に伴うルーティング動作を確認する

ピン留めされたアイテム
hirenhiren

本当だった

ターゲットグループに含まれる他のターゲットの状態によって、挙動が変わる。
例えば、登録済みターゲットが4つあり、3つが「unhealthy」、1つが「healthy」の場合は、「healthy」のターゲットのみにリクエストがルーティングされる
また、ターゲットグループに含まれるすべてのターゲットが「unhealthy」の場合、ALBは4つすべての「unhealthy」のターゲットに対してリクエストをルーティングする

hirenhiren

デフォルトのALBでapatchだけ立てたインスタンスを2台紐づけたターゲットグループをデフォルト転送設定で登録


hirenhiren

ラウンドロビンにリクエストが飛ぶ(ブラウザ画像略)

インスタンスA

/var/log/httpd/access_log
10.0.0.99 - - [02/Jul/2025:05:42:16 +0000] "GET / HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
10.0.0.99 - - [02/Jul/2025:05:42:21 +0000] "GET / HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"

インスタンスB

/var/log/httpd/access_log
10.0.0.99 - - [02/Jul/2025:05:42:15 +0000] "GET / HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
10.0.0.99 - - [02/Jul/2025:05:42:20 +0000] "GET / HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
hirenhiren

リクエストすると、「503 Service Temporarily Unavailable」が返ってくる

hirenhiren

一旦TGのヘルスチェック間隔を30s→300sに伸ばしてEC2を両方起動

hirenhiren

起動してすぐに(30秒前後で?直後は未確認)Healthyになり、ヘルスチェックがすぐ送られて停止前と同じようにアクセス出来るようになった


インスタンスA

/var/log/httpd/access_log
10.0.1.31 - - [02/Jul/2025:05:52:22 +0000] "GET / HTTP/1.1" 200 20 "-" "ELB-HealthChecker/2.0"
10.0.0.99 - - [02/Jul/2025:06:19:27 +0000] "GET / HTTP/1.1" 200 20 "-" "ELB-HealthChecker/2.0"
10.0.1.31 - - [02/Jul/2025:06:19:27 +0000] "GET / HTTP/1.1" 200 20 "-" "ELB-HealthChecker/2.0"

インスタンスB

/var/log/httpd/access_log
10.0.1.31 - - [02/Jul/2025:05:52:22 +0000] "GET / HTTP/1.1" 200 17 "-" "ELB-HealthChecker/2.0" "10.0.11.80"
10.0.1.31 - - [02/Jul/2025:06:19:34 +0000] "GET / HTTP/1.1" 200 17 "-" "ELB-HealthChecker/2.0" "10.0.11.80"
10.0.0.99 - - [02/Jul/2025:06:19:34 +0000] "GET / HTTP/1.1" 200 17 "-" "ELB-HealthChecker/2.0" "10.0.11.80"
hirenhiren

ヘルスチェック間隔は戻し、リクエストしても404になるパスに変更

hirenhiren

暫く待って、ステータスがUnhealthyに

インスタンスA

/var/log/httpd/access_log
10.0.0.99 - - [02/Jul/2025:07:25:29 +0000] "GET /helthcheck HTTP/1.1" 404 196 "-" "ELB-HealthChecker/2.0"
10.0.1.31 - - [02/Jul/2025:07:25:29 +0000] "GET /helthcheck HTTP/1.1" 404 196 "-" "ELB-HealthChecker/2.0"

インスタンスB

/var/log/httpd/access_log
10.0.0.99 - - [02/Jul/2025:07:25:06 +0000] "GET /helthcheck HTTP/1.1" 404 196 "-" "ELB-HealthChecker/2.0" "10.0.11.80"
10.0.1.31 - - [02/Jul/2025:07:25:06 +0000] "GET /helthcheck HTTP/1.1" 404 196 "-" "ELB-HealthChecker/2.0" "10.0.11.80"
hirenhiren

TGに登録済みのターゲットのステータスが全てUnhealthyの状態でアクセスすると、ターゲットに対してラウンドロビンにリクエストが飛び、特に問題無くアクセスできた(ブラウザ画像略)

インスタンスA

/var/log/httpd/access_log
10.0.1.31 - - [02/Jul/2025:07:25:44 +0000] "GET / HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
10.0.1.31 - - [02/Jul/2025:07:25:51 +0000] "GET / HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"

インスタンスB

/var/log/httpd/access_log
10.0.1.31 - - [02/Jul/2025:07:25:44 +0000] "GET / HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
10.0.1.31 - - [02/Jul/2025:07:25:50 +0000] "GET / HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
このスクラップは2ヶ月前にクローズされました