Cloud Infra Architecture (AWS)/AWS Build

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

seongduck 2024. 4. 3. 14:42

apache에서 ELB의 잦은 로그로 구축할때 방해가 되는 경우가 있다.
"ELB-HealthChecker/2.0" 간격이 너무 길경우 줄이는 방법에 대해 알아보겠다.
 

1. Apache Server 접속

우선 로그 쌓이는 경로에 이동한다. 
로그 확인 (서버 내 성공 Code 확인)

1. WEB서버 접속
2. cd log/apache/access-log #log 쌓여있는 경로 도착
3. tail -f "로그명.log" 를 통해 로그 확인
4. tail -f "로그명.log" | grep "찾고자하는이름" #예시 tail -f "access.log" | grep "ELB"

"""
302 "ELB-HealthChecker/2.0" ~~~
"""

로그가 짧게 시간에 많이 쌓이고 있다.
위의 코드에서는 code 302로 신호를 보내고 있다.
 
AWS Console상에서 설정한 ELB의 리스너 포트가 잘 들어오고 있는지 확인한다.
포트 확인 / 특정 로그만 포기

cd /etc/systemd/system #해당 경로 이동
netstat -antp | grep "PORT" #해당포트 확인
netstat -antp | grep "ELB" #ELB 시작 포트 확인

 
로그 형식 확인

cd /web/apache/conf #conf파일을 찾는다.
vi httpd.conf 

"""
로그 형태를 찾는다.
"""

 

2. AWS ELB Health, Unhealth 여부 확인

위에서 서버내 성공코드는 302를 쓰고 있다. 
따라서 AWS Console내에서도 맞춰줘야 health로 변경된다.
AWS ELB에서 "상태 검사"를 확인한다.

1. 성공코드 : "302" 혹은 "200-399"로 변경

 
 
Health를 확인했으면 로그에 뜨는 시간을 조정해보자.

1. 해당 타겟그룹 선택
2. "상태 검사"
3. "제한 시간" 조정