Dns 기반 트래픽 분산 장치
LB방법
-단순 우선순위 라우팅
- 가중라우팅
- 성능라우팅 ( latency time 작은데로 = 응답속도가 가장 빠른 데로 (가까운데로 ))
- 지리적라우팅 (성능이랑 비슷하지 않을까? + 법적규제 때문에 해당 나라 리전만 이용해야 할때 )
- 다중값라우팅
- 서브넷라우팅
가중라우팅
성능라우팅
인터넷대기시간 테이블 이용
지리적라우팅
중국 , 미국 , 독일 지역규정준수 서비스에 해당
다중값라우팅
서브넷라우팅
특정 ISP의 사용자 차단 , 특정 IP대역 ( 회사 나가는 IP)
우선라우팅
실습
트래픽매니저 생성
az network traffic-manager profile create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name TM-MusicStream-Priority \
--routing-method Priority \
--unique-dns-name TM-MusicStream-Priority-$RANDOM
tm-musicstream-priority-12447.trafficmanager.net
테스트웹앱 배포
SKU S1 부터 TM사용가능
동아시아에 APP 배포
EASTAPP="MusicStore-EastAsia-$RANDOM"
az appservice plan create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name MusicStore-EastAsia-Plan \
--location eastasia \
--sku S1
az webapp create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $EASTAPP \
--plan MusicStore-EastAsia-Plan \
--runtime "node|10.6" \
--deployment-source-url https://github.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager
미국서부에 APP배포
WESTAPP="MusicStore-WestUS-$RANDOM"
az appservice plan create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name MusicStore-WestUS-Plan \
--location westus2 \
--sku S1
az webapp create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $WESTAPP \
--plan MusicStore-WestUS-Plan \
--runtime "node|10.6" \
--deployment-source-url https://github.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager
TM 에 엔드포인트 추가
WestId=$(az webapp show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $WESTAPP \
--query id \
--out tsv)
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Priority \
--name "Primary-WestUS" \
--type azureEndpoints \
-- priority 1 \
--target-resource-id $ WestId
EastId=$(az webapp show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $EASTAPP \
--query id \
--out tsv)
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Priority \
--name "Failover-EastAsia" \
--type azureEndpoints \
-- priority 2 \
--target-resource-id $ EastId
앤드포인트 확인
az network traffic-manager endpoint list \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Priority \
--output table
Shell 에서 바로 nslookup 확인가능
서부먼저
공인아이피 확인
트래픽매니저 프로필 가져와서 한번에 확인
현재 트래픽매니저 프로필은 위의 미국서부와 일치해야됨
Echo http 호출하면 URL 나옴
서부가 열리는 것 확인
서부프로필 diable 처리
az network traffic-manager endpoint update \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name "Primary- WestUS " \
--profile-name TM-MusicStream-Priority \
--type azureEndpoints \
--endpoint-status Disabled
웹페이지 새로고침하면 East Asia로 변경됨
추가 실습
성능라우팅 실습
추가 APP 2개 더 생성 ( 미국중부 , 북유럽 )
CENTRALAPP="MusicStore-CentralUS-$RANDOM"
az appservice plan create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name MusicStore- CentralUS -Plan \
--location centralus \
--sku S1
az webapp create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $CENTRALAPP \
--plan MusicStore-CentralUS-Plan \
--runtime "node|10.6" \
--deployment-source-url https://github.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager
EUROPEAPP="MusicStore-Europe-$RANDOM"
az appservice plan create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name MusicStore-Europe-Plan \
--location northeurope \
--sku S1
az webapp create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $EUROPEAPP \
--plan MusicStore-Europe-Plan \
--runtime "node|10.6" \
--deployment-source-url https://github.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager
성능라우팅 TM 프로필 생성
az network traffic-manager profile create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name TM-MusicStream-Performance \
--routing-method Performanc e \
--unique-dns-name TM-MusicStream-Performance-$RANDOM \
--output table
엔드포인트 4개 생성
-- 미국중부 엔드포인트
CentralId =$(az webapp show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $CENTRALAPP \
--query id \
--out tsv)
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Performance \
--name "Central-US" \
--type azureEndpoints \
--target-resource-id $CentralId
-- 유럽 엔드포인트
EuropeId=$(az webapp show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name $EUROPEAPP \
--query id \
--out tsv)
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Performance \
--name "Europe" \
--type azureEndpoints \
--target-resource-id $ EuropeId
기존에 만들었던 west, east를 성능형 엔드포인트 타입으로도 생성
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Performance \
--name "West-US" \
--type azureEndpoints \
--target-resource-id $ WestId
az network traffic-manager endpoint create \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--profile-name TM-MusicStream-Performance \
--name "East-Asia" \
--type azureEndpoints \
--target-resource-id $ EastId
echo http://$(az network traffic-manager profile show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name TM-MusicStream-Performance \
--query dnsConfig.fqdn \
--output tsv)
한국에서는 동아시아가 인터넷대기시간이 제일 짧음
-> 내 PC에서 East Asia가 열림
핸드폰에서 네덜란드로 VPN연결 후
가장 가까운 (응답대기시간이 가장 짧은 ) 북유럽 webapp으로 연결됨
TM 의 프로필 도메인 주소를 확인
nslookup $(az network traffic-manager profile show \
--resource-group b0b6dd09-f9c8-483a-984a-4881149a5dd1 \
--name TM-MusicStream-Performance \
--query dnsConfig.fqdn \
--output tsv)