brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jan 25. 2022

NCP 2탄-로드 밸런서 사용하기 7/15

로드밸런서는 서버를  이중화하는  네트워크 장비이다.


Tcp는 레이어4는 네트워크 계층이다.

네트워크 로드밸런서가 처리한다.


Http는 레이어7 애플리케이션 계층이다.

이건 애플리케이션 레이어이므로 애플리케이션 로드밸런서가 처리한다.



<1> Network > Load Balnacer > Target Group 만들기 = 서버 지정

<2> 네트워크 로드밸런서 만들기

<3> 애플리케이션 로드밸런서 만들기

<4> 애플리케이션 로드밸런서 만들기 - 분기 하기

<5> 서버에 접속해 Access log 확인 보자

<10> 프락시 LB 경우 서버에  X-forward-for  설정해  접속 IP 확인하기




<1> Network > Load Balnacer > Target Group 만들기 = 서버 지정


1

3개의  Target Group 만들어  3개 로드 밸런서 만들어보자.

L4 nlb  Target Group 만들기?

L7  alb Target Group 만들기?

L7  alb  ip 분기 Target Group 만들기?



2

Network Load Balnacer Target Group


L4 nlb  Target Group 만들기?

front-nlb-tg

tcp   (nlb는 L4라  TCP 죠.  os 4 계층)

80

30초 기본값

타깃 그룹에 속할 서버 지정

2, 3 서버  추가  > 다음

타겟 그룹 생성



3

L7  alb Target Group 만들기?

front-alb-tg

HTTP   (Alb는 L7라  HTTP 죠.  os 7 계층)

80

HEAD

타깃 그룹에 속할 서버 지정

2, 3 서버  추가  > 다음

타겟 그룹 생성


4

L7  alb  ip 분기 tg 만들기?

front-alb-ip-tg

http

80

타깃 그룹에 속할 서버 지정 - 2 서버  1개만 지정





<2> 네트워크 로드밸런서 만들기


1

로드 밸런서 3개 만들자.

Network > Load Balnacer > 로드 밸런서 생성


L4  네트워크 로드밸런서

L7  애플리케이션  로드밸런서

L7  애플리케이션 로드 밸런서- ip분기 테스트



2

L4  네트워크 로드밸런서

front-nlb

로드밸런서는  외부용과 내부용이 있다.  

외부에 서비스할 거라  Public IP로 한다.(디폴트)

부하처리 성능 Small(디폴트) , Medium , Large


3

로드 밸런서용 서브넷이 필요하다.

서브넷 생성



4

TCP 80 

추가

로드 밸런서 생성


// L4 nlb 로드 밸런서는 고정 IP 제공이 가능하다.




5

LB접속 정보로 웹브라우저로 접속해보기


front-nlb-9907557-ab51cfc556fe.kr.lb.naverncp.com






<3> 애플리케이션 로드밸런서 만들기



front-alb

추가

front-alb-tg

로드 밸런서 생성




<4> 애플리케이션 로드밸런서 만들기 - 분기 하기



1

'애플리케이션 로드밸런서'에서  리스너 설정 변경


2

리스너 선택 > 규칙 조회/변경

규칙추가

10

Path Pattern

추가

/ip/

추가

타켓그룹 변경

front-alb-ip-tg 로 변경

추가



3

리눅스 서버에서


[root@s22222222 logs]# cd /var/www/html/

[root@s22222222 html]# ls

index.html


[root@s22222222 html]# mkdir ip

[root@s22222222 html]# cd ip

[root@s22222222 ip]# vi index.html

<h1> ip !!!!!!!!!!!!!!!


4

접속 확인





<5> 서버에 접속해 Access log 확인 보자


1

서버 로그에  나의 IP  가 남는지 확인하자.

cd /etc/httpd/logs


2

 tail -f access_log

[root@s22222222 logs]# tail -f access_log

NLB는 나의 IP가 나온다.




<10> 프락시 LB 경우 서버에  X-forward-for  설정해  접속 IP 확인하기


1

프락시 LB는  x-forward-for  설정해야 클라이언트 IP 가 보인다.


2

httpd.conf를 수정하자


vi /etc/httpd/conf/httpd.conf


변경전

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    LogFormat "%h %l %u %t \"%r\" %>s %b" common



3

systemctl restart httpd


4

서버 로그에  나의 IP  가 남는지 확인하자.

cd /etc/httpd/logs

tail -f access_log




다음 과정


https://brunch.co.kr/@topasvga/2138




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari