brunch
매거진 NCP

7.네이버 클라우드 PRO - 로드밸런서

by Master Seo

로드밸런서 사용해보자.



<1> 로드 밸런서 종류와 특징

<2> LB용 타켓 그룹 만든다.

<3> NLB 로드 밸런서 - 사용자 IP확인 가능

<4> ALB 로드 밸런서 - 사용자 IP확인 불가, 로드밸런서 IP찍힘,X-Forwarder-for

<5> ALB 에 리스너 설정 변경 해보자.

<6> X-forward-for로 ALB 사용시 IP 확인 가능하도록 하자





<1> 로드 밸런서 종류와 특징


1

230 lb.png


2

목적

서버를 분산하여 성능 문제 해결

장애시 분산 되어 장애 대응

인증서 적용 사용 - ALB



3

특징

네이버 클라우드 로드 밸런서는 모두 고정 IP를 제공한다.

네이버 클라우드는 로드밸런서 전용 서브넷이 필요하다.




4

순서

타겟그룹(목적 서버)를 만든다.

로드밸런서를 만든다.



5


슬라이드2.JPG
슬라이드3.JPG







<2> LB용 타켓 그룹 만든다.


1

NLB용 - tcp , udp

ALB용 - http , https

IP용 만들어보자




2

NLB용 프로토콜은 TCP , UDP 이다.


200 nlb.png



210 tcp.png


220 health.png






3

# ALB용 타켓 그룹 생성



20 alb-tg.png



30 head.png




4

ALB IP용 만들어보자


서버는 1번 서버만 넣는다.


30 ip-tg.png



5

만들어진 타겟 그룹 3개


40 tg-3개.png






<3> NLB 로드 밸런서 - 사용자 IP확인 가능


1

NLB 만든다.


NLB는 자동으로 성능 조절이 된다.

760 nlb.png




2

80 타게상태확인.png




3

NLB에서 IP 확인

내 IP 211.50.241.160 가 확인 가능하다.

클라이언트 IP 확인 가능


200 nlb-ip.png

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"






<4> ALB 로드 밸런서 - 사용자 IP확인 불가, 로드밸런서 IP찍힘,X-Forwarder-for


1

ALB

사용자 IP 확인 불가 , 로드 밸런서 IP 찍힘

X-Forwarder-for 사용하면 사용자 클라이언트 ip 확인 가능

부하 처리 성능에 따라 Small, Medium , Large , Extra Large 제공

분기 설정이 가능하다.

멀티 AZ 지원함.



770 alb 부하성능.png



2

ALB에서 확인

CLIENT IP가 LB IP 로 나온다.



201 alb.png




3

멀티 AZ 지원함.

780 멀티 az.png





<5> ALB 에 리스너 설정 변경 해보자.



1

리스너 설정 변경

규칙 조회/변경


2

120 ip.png




130 ip2.png




3

alb

로드밸런서 ip가 찍힌다



4

ip 포워딩

PROXY IP 나온다.



210 alb-proxy-ip.png


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 - "-" "-"






<6> X-forward-for로 ALB 사용시 IP 확인 가능하도록 하자


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


keyword
매거진의 이전글6. PRO- 네이버 클라우드 스토리지 NAS