로드밸런서 사용해보자.
1
2
목적
서버를 분산하여 성능 문제 해결
장애시 분산 되어 장애 대응
인증서 적용 사용 - ALB
3
특징
네이버 클라우드 로드 밸런서는 모두 고정 IP를 제공한다.
네이버 클라우드는 로드밸런서 전용 서브넷이 필요하다.
4
순서
타겟그룹(목적 서버)를 만든다.
로드밸런서를 만든다.
5
1
NLB용 - tcp , udp
ALB용 - http , https
IP용 만들어보자
2
NLB용 프로토콜은 TCP , UDP 이다.
3
# ALB용 타켓 그룹 생성
4
ALB IP용 만들어보자
서버는 1번 서버만 넣는다.
5
만들어진 타겟 그룹 3개
NLB는 자동으로 성능 조절이 된다.
2
3
NLB에서 IP 확인
내 IP 211.50.241.160 가 확인 가능하다.
클라이언트 IP 확인 가능
4
# 서버에서 로그 확인
[root@linux-svr1 ~]# cd /var/log/httpd/
[root@linux-svr1 httpd]# ls -al
total 136
drwx------ 2 root root 41 May 20 15:20 .
drwxr-xr-x. 13 root root 4096 May 22 03:45 ..
-rw-r--r-- 1 root root 67859 May 22 11:51 access_log
-rw-r--r-- 1 root root 2978 May 22 10:27 error_log
[root@linux-svr1 httpd]# more access_log
211.50.241.160 - - [22/May/2025:11:52:04 +0900] "GET / HTTP/1.1" 200 299 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:11:52:06 +0900] "GET / HTTP/1.1" 200 299 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
1
ALB
사용자 IP 확인 불가 , 로드 밸런서 IP 찍힘
X-Forwarder-for 사용하면 사용자 클라이언트 ip 확인 가능
부하 처리 성능에 따라 Small, Medium , Large , Extra Large 제공
분기 설정이 가능하다.
멀티 AZ 지원함.
2
ALB에서 확인
CLIENT IP가 LB IP 로 나온다.
3
멀티 AZ 지원함.
1
리스너 설정 변경
규칙 조회/변경
2
3
alb
로드밸런서 ip가 찍힌다
4
ip 포워딩
PROXY IP 나온다.
5
로그 확인
LB IP가 찍힘
/var/log/httpd
[root@linux-svr1 httpd]# tail -f access_log
10.0.6.8 - - [22/May/2025:13:14:36 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.9 - - [22/May/2025:13:15:05 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
10.0.6.8 - - [22/May/2025:13:15:05 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.9 - - [22/May/2025:13:15:05 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.9 - - [22/May/2025:13:15:05 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.8 - - [22/May/2025:13:15:05 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.9 - - [22/May/2025:13:15:06 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.9 - - [22/May/2025:13:15:06 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
10.0.6.8 - - [22/May/2025:13:15:06 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
ALB의 경우 클라이언트 IP가 LB IP가 나온다. ALB는 다 거치므로..
클라이언트 IP를 확인하기 위해 X-Forwarder-for설정을 해야 한다.
/etc/httpd/conf/httpd.conf 수정
vi /etc/httpd/conf/httpd.conf
LogFormat
변경전
%h
변경후
%{X-Forwarder-For}i
# 맨끝에 아이 i 임
systemctl restart httpd
7
/var/log/httpd
[root@linux-svr1 httpd]# tail -f access_log
- - - [22/May/2025:13:21:06 +0900] "HEAD / HTTP/1.1" 200 - "-" "-"
211.50.241.160 - - [22/May/2025:13:21:28 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:13:21:34 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:13:21:34 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:13:21:34 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:13:21:34 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
211.50.241.160 - - [22/May/2025:13:21:35 +0900] "GET / HTTP/1.1" 200 1068 "-" "Mozilla/5.0
다음
https://brunch.co.kr/@topasvga/4550