주요 콘텐츠로 건너뛰기 이 브라우저는 더 이상 지원되지 않습니다. Show 최신 기능, 보안 업데이트, 기술 지원을 이용하려면 Microsoft Edge로 업그레이드하세요. Azure PowerShell을 사용하여 URL을 기반으로 웹 트래픽 라우팅
이 문서의 내용Azure PowerShell을 사용하여 애플리케이션 액세스에 사용되는 URL을 기반으로 확장 가능한 특정 서버 풀로 웹 트래픽 라우팅을 구성할 수 있습니다. 이 문서에서는 가상 머신 확장 집합을 사용하여 백 엔드 풀이 3개 있는 Azure Application Gateway를 만듭니다. 각 백 엔드 풀은 공통 데이터, 이미지 및 비디오와 같은 특정 목적을 갖습니다. 트래픽을 별도의 풀에 라우팅하면 고객이 필요할 때 필요한 정보를 얻을 수 있습니다. 트래픽을 라우팅하려면 웹 트래픽이 풀의 올바른 서버에 도착하도록 특정 포트에서 수신 대기하는 수신기에 할당되는 라우팅 규칙을 만듭니다. 이 문서에서는 다음 방법을 설명합니다.
원하는 경우 Azure CLI 또는 Azure Portal을 사용하여 이 절차를 완료할 수 있습니다. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다. Azure Cloud ShellAzure는 브라우저를 통해 사용할 수 있는 대화형 셸 환경인 Azure Cloud Shell을 호스트합니다. Cloud Shell에서 Bash 또는 PowerShell을 사용하여 Azure 서비스 작업을 수행할 수 있습니다. 로컬 환경에 아무 것도 설치할 필요 없이 Azure Cloud Shell의 미리 설치된 명령을 사용하여 이 문서의 코드를 실행할 수 있습니다. Azure Cloud Shell을 시작하려면 다음을 수행합니다.
Azure Cloud Shell 사용하려면 다음을 수행합니다.
PowerShell을 로컬로 설치하고 사용하도록
선택하는 경우, 이 문서에는 Azure PowerShell 모듈 버전 1.0.0 이상이 필요합니다. 버전을 확인하려면 리소스를 만드는 데 필요한 시간 때문에 이 절차를 완료하는 데 최대 90분이 걸릴 수 있습니다. 리소스 그룹 만들기애플리케이션의 모든 리소스를 포함하는 리소스 그룹을 만듭니다. New-AzResourceGroup을 사용하여 Azure 리소스 그룹을 만듭니다.
네트워크 리소스 만들기기존 가상 네트워크를 사용하거나 새로운 가상 네트워크를 만들지에 관계 없이 애플리케이션 게이트웨이에만 사용되는 서브넷이 포함되어 있는지 확인해야 합니다. 이 문서에서는 애플리케이션 게이트웨이의 서브넷 및 확장 집합의 서브넷을 만듭니다. 애플리케이션 게이트웨이의 리소스에 액세스할 수 있도록 공용 IP 주소를 만들어야 합니다. New-AzVirtualNetworkSubnetConfig를 사용하여 myAGSubnet 및 myBackendSubnet이라는 서브넷 구성을 만듭니다. 서브넷 구성으로 New-AzVirtualNetwork를 사용하여 myVNet이라는 가상 네트워크를 만듭니다. 마지막으로 New-AzPublicIpAddress를 사용하여 myAGPublicIPAddress라는 공용 IP 주소를 만듭니다. 이러한 리소스는 애플리케이션 게이트웨이 및 연결된 리소스에 대한 네트워크 연결을 제공하는 데 사용됩니다.
애플리케이션 게이트웨이 만들기이 섹션에서는 애플리케이션 게이트웨이를 지원하는 리소스를 만든 다음, 최종적으로 애플리케이션 게이트웨이를 만듭니다. 다음과 같은 리소스를 만듭니다.
IP 구성 및 프론트 엔드 포트 만들기New-AzApplicationGatewayIPConfiguration을 사용하여 이전에 애플리케이션 게이트웨이에 만든 myAGSubnet을 연결합니다. New-AzApplicationGatewayFrontendIPConfig를 사용하여 myAGPublicIPAddress를 애플리케이션 게이트웨이에 할당합니다.
기본 풀 및 설정 만들기New-AzApplicationGatewayBackendAddressPool을 사용하여 애플리케이션 게이트웨이에 대해 appGatewayBackendPool이라는 기본 백 엔드 풀을 만듭니다. New-AzApplicationGatewayBackendHttpSetting을 사용하여 백 엔드 풀에 대한 설정을 구성합니다.
기본 수신기 및 규칙 만들기애플리케이션 게이트웨이에서 트래픽을 백 엔드 풀로 적절히 라우팅할 수 있는 수신기가 필요합니다. 이 문서에서는 2개의 수신기를 만듭니다. 사용자가 만드는 첫 번째 기본 수신기는 루트 URL에서 트래픽을 수신 대기합니다. 사용자가 만드는 두 번째 수신기는 특정 URL에서 트래픽을 수신 대기합니다. 이전에 만든 프런트 엔드 구성 및 프런트 엔드 포트에서 New-AzApplicationGatewayHttpListener를 사용하여 myDefaultListener라는 기본 수신기를 만듭니다. 수신기에서 들어오는 트래픽에 사용할 백 엔드 풀을 인식할 수 있는 규칙이 필요합니다. New-AzApplicationGatewayRequestRoutingRule을 사용하여 rule1이라는 기본 규칙을 만듭니다.
Application Gateway 만들기필요한 지원 리소스를 만들었으므로 New-AzApplicationGatewaySku를 사용하여 myAppGateway라는 애플리케이션 게이트웨이에 대한 매개 변수를 지정한 다음, New-AzApplicationGateway를 사용하여 만듭니다.
애플리케이션 게이트웨이를 만들 때까지 최대 30분이 걸릴 수 있습니다. 배포가 성공적으로 완료될 때까지 기다렸다가 다음 섹션으로 이동합니다. 이 경우에 애플리케이션 게이트웨이가 포트 80에서 트래픽을 수신하도록 대기시키고 서버의 기본 풀에 해당 트래픽을 전송합니다. 이미지와 비디오 백 엔드 풀 및 포트 추가Add-AzApplicationGatewayBackendAddressPool을 사용하여 application Gateway에 imagesBackendPool 및 videoBackendPool이라는 백 엔드 풀을 추가합니다. Add-AzApplicationGatewayFrontendPort를 사용하여 풀에 대한 프런트 엔드 포트를 추가합니다. Set-AzApplicationGateway를 사용하여 애플리케이션 게이트웨이에 변경 내용을 제출합니다.
애플리케이션 게이트웨이를 업데이트하면 완료하는 데 20분이 걸릴 수도 있습니다. 백 엔드 수신기 추가Add-AzApplicationGatewayHttpListener를 사용하여 트래픽을 라우팅하는 데 필요한 backendListener라는 백 엔드 수신기를 추가합니다.
URL 경로 맵 추가URL 경로 맵은 애플리케이션에 전송한 URL을 특정 백 엔드 풀로 라우팅하도록 합니다. New-AzApplicationGatewayPathRuleConfig 및 Add-AzApplicationGatewayUrlPathMapConfig를 사용하여 imagePathRule 및 videoPathRule이라는 URL 경로 맵을 만듭니다.
라우팅 규칙 추가라우팅 규칙은 URL 맵을 사용자가 만든 수신기에 연결합니다. Add-AzApplicationGatewayRequestRoutingRule을 사용하여 rule2라는 규칙을 추가합니다.
가상 머신 확장 집합 만들기이 예제에서는 사용자가 만든 세 개의 백 엔드 풀을 지원하는 세 개의 가상 머신 확장 집합을 만듭니다. 사용자가 만든 확장 집합의 이름은 myvmss1, myvmss2 및 myvmss3입니다. IP 설정을 구성할 때 확장 집합을 백 엔드 풀에 할당합니다.
IIS 설치각 확장 집합에는 IIS를 설치하는 두 개의 가상 머신 인스턴스가 포함됩니다. 애플리케이션 게이트웨이가 작동하는지 테스트하기 위해 샘플 페이지가 생성됩니다.
애플리케이션 게이트웨이 테스트Get-AzPublicIPAddress를 사용하여 애플리케이션 게이트웨이의 공용 IP 주소를 가져옵니다. 공용 IP 주소를 복사하여
브라우저의 주소 표시줄에 붙여넣습니다. 예:
URL을 http://<ip-address>:8080/images/test.htm으로 변경하고 <ip-address>를 사용자의 IP 주소로 대체하면 다음 예제와 같은 내용이 표시됩니다. URL을 http://<ip-address>:8080/video/test.htm으로 변경하고 <ip-address>를 사용자의 IP 주소로 대체하면 다음 예제와 같은 내용이 표시됩니다. 리소스 정리더 이상 필요하지 않은 경우 Remove-AzResourceGroup 명령을 사용하여 리소스 그룹, 애플리케이션 게이트웨이 및 모든 관련 리소스를 제거합니다.
다음 단계URL을 기반으로 하는 웹 트래픽 리디렉션 |