brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 13. 2021

63. 5주 차 - Azure 부하분산 장치

Load Balancer

Azure 부하분산 장치인  Load Balancer를 알아보자.


<0> 사전 작업

<1>  Load Balancer 종류 4가지

<2>  부하 분산 장치 Load Balancer 알아보기

<3>  가상 머신 웹서버 2대 만들기

<4>  가상 머신 웹서버  보안 그룹에서 80 허용하기

<5>  부하 분산 장치 Load Balancer  만들기

<6> 확인하기



<0> 사전 작업


1 .리소스 그룹 만들고 > 네트워크 만들고 > 서브네팅 은 먼저 해야 한다.

2 .가상머신 2대를 만들자

3. 부하 분산 장치를 만들어 연결해보자.

서비스 범위는 지역이다.



<1>  Load Balancer 종류 4가지


1. Application gateway - L7

2. Frontdoor - Global L7

3.  Load Balancer - L4 부하분산 장치 

4. Traffice manager - DNS 기반  GSLB





<2>  부하 분산 장치 Load Balancer 알아보기


1

특징

L4 부하 분산 장비는 웹서버 로그를 보면  클라이언트 PC의  IP가 나온다.

TCP, UDP , SNMP등 모두 부하 분산이 된다.


2

기타

L7인 어플리케이션 로드 밸런서는  웹서버에  X-Forward 를 설정해야 클라이언트 PC의 IP를 확인할수 있다.


3

부하 분산 장치는 공개와 내부 2가지가 있다.

웹서버용은 공개이다.

DB서버로 분산하는 장치는 내부이다.



<3>  가상 머신 웹서버 2대 만들기


1

주의!!

표준 SKU 공용 IP 구성이 있거나 공용 IP 구성이 없는 koreacentral에서만 가상 머신을 연결할 수 있습니다. 모든 IP 구성은 동일한 가상 네트워크에 있어야 합니다.

서버를 사설IP만 가진 서버를 만들거나  가용성 영역을 만들어 사용하라.

가용성 영역은 서울 리전은 지원하지 않으니, 일본이나 미국으로 테스트 해야 한다.



2

가상 머신 2대 만들자

web04 

web06


3

새키 생성  

web04


4

공용 인바운드 허용

80

443

22


5

네트워크는 미리 만들어 준다.

네트워크가 없으면 디폴트로 10.x.x.x 대로 새로 생성해준다.

특이하다.

임시 공인IP 도 자동으로 할당 해준다.



6

Windows pc에서 putty로 접속하려면

putty gen으로   pem키로  ppk를  만들어준다.

로그인 계정은  

azureuser


login as: azureuser



7

웹서버를 설치한다.


yum install httpd -y

/usr/sbin/httpd


[root@web04 ~]# cd /var/www/html/

[root@web04 html]# vi index.html

[root@web04 html]# more index.html

44444444444444


8

1대 더 생성 

기존의 key로 접속하도록 설정한다.


[root@web06 ~]# cd /var/www/html/

[root@web06 html]# vi index.html

[root@web06 html]# more index.html

666666666666666




<4>  가상 머신 웹서버  보안 그룹에서 80 허용하기


앞에서 80 허용을 안했다면 80을 허용해주자.








<5>  부하 분산 장치 Load Balancer  만들기


1

다음 순서로 만들어 진다.


부하 분산 장치 만들기 

프런트엔드 IP

백엔드 풀

상태 프르브

부하 분산 규칙 추가

인바운드 NAT 규칙 추가




2

부하 분산 장치 만들기 


SKU는 표준으로 한다.

디폴트가 표준이다.






다음 : 테크 >   클릭 




2

프런트 앤드 IP 구성



3

밴 엔드 풀   > 추가 


대상 서버를 넣는다.



이름

web-backend



주의!!

Virtual Machine Scale Sets는 Load Balancer와 동일한 위치에 있어야 합니다. 

SKU(Basic/Standard)가 Load Balancer와 동일한 IP 구성만 선택할 수 있습니다. 

모든 IP 구성이 동일한 Virtual Network에 있어야 합니다.









4

상태 프로브

추가

web-probe




5


부하 분산 규칙  >  추가

web-lb-rule

사용자가 80 포트로 접속하면 서버 80 포트로 응답한다.

백 엔드 풀로 지정한다.





6

인바운드 NAT 규칙   >  추가 


web-nat-rule


또는

SSH를 2222 로 들어오면 , 22로 사용되도록 할수도 있다.

대상 가상머신도 지정한다.


각 가상머신마다 인바운드 NAT 규칙을 다르게 갈수 있다.

추가가 가능하다.







7

인사이트 메뉴에서 구성도를 볼 수 있다.





<6> 확인하기



1

LB를 통해 접속은 잘 된다.

스토리지에 스크립트를 넣고 , Windows 서버에서 해당 스크립트를 실행시켜 배포 할수 있다.

보통 시작 스크립트를 사용하는데, Azure에서  스토리지를 이용해 배포도 할수 있다.


3

질문?

그림으로 나오긴 하는데  각 서버마다 80이 제대로 떠 있는지는 콘솔에서 확인이 안 된다.

따로 모니터링 enable 해야 하는 게 있나?


All services > Load Balancers > gameweb-lb > Metrics 

>  Health Probe Status >  Count로  health check  상태 확인


4

기본 Load Balancer는 메트릭을 지원하지 않습니다. 지금 가이드를 따라 이 프로덕션 및 다른 프로덕션 수준 기능의 표준으로 전환하세요.

Azure Public Load Balancer 업그레이드

https://docs.microsoft.com/ko-kr/azure/load-balancer/upgrade-basic-standard?WT.mc_id=Portal-fx


5

표준 LB  문서

https://docs.microsoft.com/ko-kr/azure/load-balancer/load-balancer-overview


6

Azure load balancer 구축하기   https://brunch.co.kr/@topasvga/814



7

참고 유튜브  Azure Load Balancing: Best-suited for your workload - YouTube


감사합니다.


매거진의 이전글 62. 5주 차 - Azure 가용성 영역
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari