이 빠른 시작에서는 웹 애플리케이션에 고가용성을 제공하는 Traffic Manager 프로필을 만드는 방법에 대해 설명합니다.
여기서는 웹 애플리케이션의 두 인스턴스를 만듭니다. 각각 다른 Azure 지역에서 실행됩니다. 엔드포인트 우선 순위에 따라 Traffic Manager 프로필을 만듭니다. 프로필은 웹 애플리케이션을 실행하는 주 사이트로 사용자 트래픽을 보냅니다. Traffic Manager는 웹 애플리케이션을 지속적으로 모니터링합니다. 주 사이트를 사용할 수 없는 경우 백업 사이트에 자동 장애 조치를 제공합니다.
필수 조건
Azure 구독이 없는 경우 무료 계정을 지금 만드세요.
Azure Cloud Shell
Azure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다.
Azure Cloud Shell을 시작하려면 다음을 수행합니다.
| 옵션 | 예제/링크 |
|---|---|
| 코드 또는 명령 블록의 오른쪽 상단에서 시도를 선택합니다. 시도를 선택해도 코드 또는 명령이 Cloud Shell에 자동으로 복사되지 않습니다. |
|
| https://shell.azure.com으로 이동하거나 Cloud Shell 시작 단추를 선택하여 브라우저에서 Cloud Shell을 엽니다. |
|
| Azure Portal의 오른쪽 위에 있는 메뉴 모음에서 Cloud Shell 단추를 선택합니다. |
|
Azure Cloud Shell을 사용하려면:
Cloud Shell을 시작합니다.
코드 블록(또는 명령 블록)에서 복사 단추를 선택하여 코드 또는 명령을 복사합니다.
Windows 및 Linux에서 Ctrl+Shift+V를 선택하거나 macOS에서 Cmd+Shift+V를 선택하여 코드 또는 명령을 Cloud Shell 세션에 붙여넣습니다.
Enter를 선택하여 코드 또는 명령을 실행합니다.
PowerShell을 로컬로 설치하고 사용하도록 선택하는 경우 이 문서에는 Azure PowerShell 모듈 버전 5.4.1 이상이 필요합니다. 설치되어 있는 버전을 확인하려면 Get-Module -ListAvailable Az을 실행합니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요. 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount를 실행하여 Azure와 연결해야 합니다.
리소스 그룹 만들기
New-AzResourceGroup을 사용하여 리소스 그룹을 만듭니다.
# Variables
$Location1="EastUS"
# Create a Resource Group
New-AzResourceGroup -Name MyResourceGroup -Location $Location1
Traffic Manager 프로필 만들기
New-AzTrafficManagerProfile을 사용하여 엔드포인트 우선 순위에 따라 사용자 트래픽을 보내는 Traffic Manager 프로필을 만듭니다.
# Generates a random value
$Random=(New-Guid).ToString().Substring(0,8)
$mytrafficmanagerprofile="mytrafficmanagerprofile$Random"
New-AzTrafficManagerProfile `
-Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup `
-TrafficRoutingMethod Priority `
-MonitorPath '/' `
-MonitorProtocol "HTTP" `
-RelativeDnsName $mytrafficmanagerprofile `
-Ttl 30 `
-MonitorPort 80
웹앱 만들기
이 빠른 시작에는 두 개의 서로 다른 Azure 지역(미국 서부 및 미국 동부)에 배포된 두 개의 웹 애플리케이션 인스턴스가 필요합니다. 각각은 Traffic Manager에 대한 기본 및 장애 조치 엔드포인트의 역할을 합니다.
웹 App Service 계획 만들기
서로 다른 두 Azure 지역에 배포할 두 웹 애플리케이션 인스턴스에 대해 New-AzAppServicePlan을 사용하여 웹앱 서비스 계획을 만듭니다.
# Variables
$Location1="EastUS"
$Location2="WestEurope"
# Create an App service plan
New-AzAppservicePlan -Name "myAppServicePlanEastUS$Random" -ResourceGroupName MyResourceGroup -Location $Location1 -Tier Standard
New-AzAppservicePlan -Name "myAppServicePlanWestEurope$Random" -ResourceGroupName MyResourceGroup -Location $Location2 -Tier Standard
App Service 계획에서 웹앱 만들기
New-AzWebApp을 사용하여 웹 애플리케이션의 두 인스턴스를 미국 동부 및 서유럽 Azure 지역의 App Service 계획에 만듭니다.
$App1ResourceId=(New-AzWebApp -Name myWebAppEastUS -ResourceGroupName MyResourceGroup -Location $Location1 -AppServicePlan "myAppServicePlanEastUS").Id
$App2ResourceId=(New-AzWebApp -Name myWebAppWestEurope -ResourceGroupName MyResourceGroup -Location $Location2 -AppServicePlan "myAppServicePlanWestEurope").Id
Traffic Manager 엔드포인트 추가
다음과 같이 New-AzTrafficManagerEndpoint를 사용하여 두 웹앱을 Traffic Manager 프로필에 Traffic Manager 엔드포인트로 추가합니다.
- 미국 동부 Azure 지역에 있는 웹앱을 모든 사용자 트래픽을 라우팅할 기본 엔드포인트로서 추가합니다.
- 미국 서부 Azure 지역에 있는 웹앱을 장애 조치(failover) 엔드포인트로서 추가합니다. 기본 엔드포인트를 사용할 수 없으면 트래픽이 자동으로 장애 조치 엔드포인트로 라우팅됩니다.
New-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App1ResourceId `
-EndpointStatus "Enabled"
New-AzTrafficManagerEndpoint -Name "myFailoverEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App2ResourceId `
-EndpointStatus "Enabled"
Traffic Manager 프로필 테스트
이 섹션에서는 Traffic Manager 프로필의 도메인 이름을 확인합니다. 또한 기본 엔드포인트를 사용할 수 없도록 구성합니다. 마지막으로 웹앱을 계속 사용할 수 있는지 확인합니다. 이는 Traffic Manager에서 트래픽을 장애 조치 엔드포인트로 보내기 때문입니다.
DNS 이름 확인
Get-AzTrafficManagerProfile을 사용하여 Traffic Manager 프로필의 DNS 이름을 확인합니다.
Get-AzTrafficManagerProfile -Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup
RelativeDnsName 값을 복사합니다. Traffic Manager 프로필의 DNS 이름은 http://<relativednsname>.trafficmanager.net입니다.
실행 중인 Traffic Manager 보기
웹 브라우저에서 Traffic Manager 프로필의 DNS 이름(http://<relativednsname>.trafficmanager.net)을 입력하여 웹앱의 기본 웹 사이트를 표시합니다.
참고 항목
이 빠른 시작 시나리오에서는 모든 요청이 기본 엔드포인트로 라우팅됩니다. 우선 순위 1로 설정됩니다.
작동 중인 Traffic Manager 장애 조치(failover)를 보려면 Disable-AzTrafficManagerEndpoint를 사용하여 기본 사이트를 사용하지 않도록 설정합니다.
Disable-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" ` -Type AzureEndpoints ` -ProfileName $mytrafficmanagerprofile ` -ResourceGroupName MyResourceGroup ` -ForceTraffic Manager 프로필의 DNS 이름http://<relativednsname>.trafficmanager.net)을 복사하여 새 웹 브라우저 세션에서 웹 사이트를 표시합니다.
웹앱을 계속 사용할 수 있는지 확인합니다.
리소스 정리
완료되면 Remove-AzResourceGroup을 사용하여 리소스 그룹, 웹 애플리케이션 및 모든 관련 리소스를 삭제합니다.
Remove-AzResourceGroup -Name MyResourceGroup
다음 단계
이 빠른 시작에서는 웹 애플리케이션에 고가용성을 제공하는 Traffic Manager 프로필을 만들었습니다. 트래픽 라우팅에 대해 자세히 알아보려면 Traffic Manager 자습서로 계속 진행하세요.