로드밸런싱 서비스 종류


1. Application Gateway (≒Reverse Proxy Server)
: Web Server만 서비스하는 로드밸런서

2. Front Door (≒CDN)
: Contents를 여러 Server에 복사시킴(예를 들어, IOS 업데이트 등. 전세계가 한 곳에 집중되지 않도록 여러 곳에 Contents를 복사시켜놓고 사람들이 가까운 곳에 접속할 수 있도록 함)

: CDN을 사용하면 그냥 Storage Account를 통해 다운받는 것보다 서비스가 훨~씬 빠르다!


3. Load Balancer

Load Balancer

Azure Load Balancer는 OSI(Open Systems Interconnect) 모델의 계층 4에서 작동한다.

로드 밸런서의 Frontend에 들어오는 인바운드 트래픽을 VM(가상 머신) 등의 백 엔드 리소스 또는 서비스 그룹에 분산한다.

Public Load Balancer
공용 로드 밸런서는 가상 네트워크 내부의 VM(가상 시스템)에 아웃바운드 연결을 제공할 수 있다. 이러한 연결은 private IP 주소를 public IP 주소로 변환하여 수행된다. 공용 로드 밸런서는 VM에 대한 인터넷 트래픽 로드 밸런싱을 위해 사용된다.


Internal Load Balancer

프런트 엔드에서만 전용 IP가 필요한 경우 내부(또는 전용) 로드 밸런서가 사용된다. 내부 로드 밸런서는 가상 네트워크 내에서 트래픽을 로드 밸런싱하는 데 사용된다. 로드 밸런서 프런트 엔드는 하이브리드 시나리오에서 온프레미스 네트워크에서 액세스할 수 있다.

 

- Backend Pool 
트래픽을 분산하기 위해 백엔드 주소 풀에는 로드 밸런서에 연결된 가상 NIC 또는 인스턴스 IP 주소가 있다.


- Load Balancer Rules

백 엔드 풀 내의 모든 인스턴스에 들어오는 트래픽이 배포되는 방법을 정의하는 데 사용된다.
Frontend IP 및 port 집합을 Backend pool 및 port 집합에 매핑한다.

 

- Healthprove
Backend pool의 인스턴스 상태를 확인하는데 사용된다.

 

4. Traffic Manager (≒GSLB)
: DNS 서버가 해당 지역과 가까운 곳과 연결시켜줌
(지역에 따라 홈페이지의 IP주소가 다름)

 


실습) Traffic Management 구현

이번 Lab에서는 트래픽을 허브를 통해 흐르게 하여 스포크간 연결(Hub & Spoke)을 구현하고 Azure 로드 밸런서(계층 4) 및 Azure 애플리케이션 게이트웨이(계층 7)를 사용하여 가상 머신 간에 트래픽을 분산하도록 한다.

 

절차는 아래와 같다.

  1. 랩 환경 구성
  2. 허브 및 스포크 네트워크 토폴로지 구성
  3. 가상 네트워크 피어링의 전환성 테스트
  4. 허브 및 스포크 토폴로지에서 라우팅 구성
  5. Azure 로드 밸런서 구현
  6. Azure 애플리케이션 게이트웨이 구현

Task1 : Lab 환경 구성

 

Azure PowerShell에서 아래 명령어를 입력하여 환경을 구성한다.

IEX (iwr 'https://raw.githubusercontent.com/godeploy/AZ104/master/Module06/getdeployment.ps1')

Task2 : 허브 및 스포크 네트워크 토폴로지 구성

기본적인 네트워크 구성

이제 vnet01이 Hub역할을 하게 된다.


Task 3 : 가상 네트워크 피어링의 전환성 테스트

Connection 확인

vm0에서 vm2까지의 연결에 문제가 없는지 Check 해본다.

** vm0에서 vm3까지도 Reachable이다. 

 

vm2 - vm3 connection 확인

vm2에서 vm3은 Unreachable이다. (예상함)


Task 4 : 허브 및 스포크 토폴로지에서 라우팅 구성

네트워크 인터페이스0 에 들어가서 IP Forwarding을 Disable에서 Enable로 바꿔준다

 

이 설정은 두 가상 네트워크 간에 트래픽을 라우팅하는 라우터 역할을 하는 az104-06-vm0을 위해 필요하다.

이제 라우팅 역할을 하도록 az104-06-vm0 가상 시스템의 운영 체제를 구성해야 한다.

 

vm0에서 Openrations - Run command - RunPowerShellScript 순서로 들어와 아래 명령어를 차례대로 입력한다.

Install-WindowsFeature RemoteAccess -IncludeManagementTools
Install-WindowsFeature -Name Routing -IncludeManagementTools -IncludeAllSubFeature
Install-WindowsFeature -Name "RSAT-RemoteAccess-Powershell"
Install-RemoteAccess -VpnType RoutingOnly
Get-NetAdapter | Set-NetIPInterface -Forwarding Enabled

라우팅 테이블 생성(이름은 az104-06-rt23)
vnet2에서 vnet3으로의 라우팅

vnet3에서 vnet2로의 라우팅도 위 과정과 똑같이 해준다. (라우팅 테이블 생성 후, route create & subnet associate)

 

vm2와 vm3이 이제는 연결이 된다!


Task 5 : Azure 로드 밸런서 구현

 

아래 표를 참고하여 로드밸런서를 구현한다.

Load Balancer 추가, Backend pool 추가
 Healthprobe 와 Load balancing rules 추가
로드 밸런싱 결과 

그 결과, vm0과 vm1로 트래픽이 분산된 것을 확인할 수 있다.


Task 6 : Azure 애플리케이션 게이트웨이 구현

 

az104-06-vnet01 에서 Subnet 추가
Application Gateway 추가, Frontend 정보 추가
Backendpool과 routing rule Listner추가
backend target의 routing rule, HTTP setting 추가

 

Application Gateway 정보 확인
애플리케이션 게이트웨이 구현 결과

그 결과, vm2와 vm3로 트래픽이 분산된 것을 확인할 수 있다.

 


+) 모든 리소스 삭제하기 (Azure Cloud PowerShell)

Get-AzResourceGroup -Name 'az104-06*'
Get-AzResourceGroup -Name 'az104-06*' | Remove-AzResourceGroup -Force -AsJob

 

'Study > Cloud' 카테고리의 다른 글

AZ104 (Virtual Machine Management)  (0) 2022.08.12
AZ104 (Azure Storage)  (0) 2022.08.10
AZ104 (NSG, ASG)  (0) 2022.08.09
AZ104 (관리자 도구)  (0) 2022.08.08
AZ104 (환경세팅)  (0) 2022.08.08

+ Recent posts