Cloud Infra Architecture (AWS)/AWS Build

[Trouble Shoting] AWS Health Check (NLB + ALB + Jenkins)

seongduck 2024. 4. 3. 10:17

가끔 AWS NLB + ALB +Server 연결시 HealthCheck 할 필요가 있다.
하지만 연결이 되지만, UnHealth가 뜨는 경우가 있다. 해결방법은 다음과 같다.
 

1. Jenkins Server 접속

우선 Jenkins Server의 Health Check Path 를 확인한다.

Jenkins Health Check URL

I'm planning to supervise services by periodically checking if they are up and running, Jenkins is our central orchestration tool and must be running with near zero downtime. How can I check health

devops.stackexchange.com

해당경로는 http://localhost:포트/login 으로 나온다.
 

1. Jenkins 서버 접속
2. curl localhost:6001/login -v # 해당은 Jenkins Server의 path 확인

3. 중간에 다음을 확인한다.
"""
< HTTP/1.1 200 OK >
"""

4. HTTP의 Path 성공코드는 200 확인

 
트래픽 흐름은 다음으로 확인한다.

1. curl -kvl URL #우리가 지정한 URL
# k : 인증서 무시
# L : 경로 따라가기
# v : http코드 세션 따라가기

 
위에서 health 경로는 Login이고 성공 코드는 200을 확인했다.
 
ALB -> EC2의 TG에서 상태 검사를 다음처럼 바꾼다.

프로토콜 : HTTPS/HTTP
경로 : /login
성공 코드 : 200

 
당연히 ALB위의 NLB도 다음처럼 적용한다.