빠른 시작: Azure CLI를 사용하여 VM의 부하를 분산하는 내부 부하 분산 장치 만들기

Azure CLI를 사용하여 내부 부하 분산 장치와 두 개의 가상 머신을 만들어 Azure Load Balancer를 시작합니다. 추가 리소스에는 Azure Bastion, NAT Gateway, 가상 네트워크 및 필요한 서브넷이 포함됩니다.

내부 부하 분산 장치에 대해 배포된 리소스의 다이어그램

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

사전 요구 사항

  • 이 빠른 시작에는 Azure CLI 버전 2.0.28 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

리소스 그룹 만들기

Azure 리소스 그룹은 Azure 리소스를 배포하고 관리하는 논리 컨테이너입니다.

az group create를 사용하여 리소스 그룹을 만듭니다.

    az group create \
      --name CreateIntLBQS-rg \
      --location westus3

내부 부하 분산 장치를 만들 때 가상 네트워크는 부하 분산 장치의 네트워크로 구성됩니다.

가상 네트워크 만들기

VM을 배포하고 부하 분산 장치를 테스트하려면 지원되는 가상 네트워크 및 서브넷부터 만들어야 합니다. 가상 네트워크 및 서브넷에는 이 문서의 뒷부분에서 배포된 리소스가 포함됩니다.

az network vnet create를 사용하여 가상 네트워크를 만듭니다.

  az network vnet create \
    --resource-group CreateIntLBQS-rg \
    --location westus3 \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Azure Bastion 호스트 만들기

이 예제에서는 Azure Bastion 호스트를 만듭니다. Azure Bastion 호스트는 이 문서 뒷부분에서 가상 머신을 안전하게 관리하고 부하 분산 장치 배포를 테스트하는 데 사용됩니다.

Important

시간당 가격 책정은 아웃바운드 데이터 사용량에 관계없이 Bastion이 배포되는 순간부터 시작됩니다. 자세한 내용은 가격 책정SKU를 참조하세요. 자습서 또는 테스트의 일부로 Bastion을 배포하는 경우 이 리소스 사용을 마친 후 삭제하는 것이 좋습니다.

Bastion 공용 IP 주소 만들기

az network public-ip create를 사용하여 Azure Bastion 호스트에 대한 공용 IP 주소를 만듭니다.

az network public-ip create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

베스천 서브넷 만들기

az network vnet subnet create를 사용하여 서브넷을 만듭니다.

az network vnet subnet create \
    --resource-group CreateIntLBQS-rg  \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

베스천 호스트 만들기

az network bastion create를 사용하여 호스트를 만듭니다.

az network bastion create \
    --resource-group CreateIntLBQS-rg  \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location westus3

Azure Bastion 호스트를 배포하는 데 몇 분 정도 걸릴 수 있습니다.

부하 분산 장치 만들기

이 섹션에서는 다음과 같은 부하 분산 장치 구성 요소를 만들고 구성하는 방법에 대해 자세히 설명합니다.

  • 부하 분산 장치에서 들어오는 네트워크 트래픽을 수신하는 프런트 엔드 IP 풀

  • 프런트 엔드 풀에서 부하 분산된 네트워크 트래픽을 보내는 백 엔드 IP 풀

  • 백 엔드 VM 인스턴스의 상태를 확인하는 상태 프로브

  • 트래픽이 VM에 분산되는 방법을 정의하는 부하 분산 장치 규칙

부하 분산 장치 리소스 만들기

az network lb create를 사용하여 내부 부하 분산 장치를 만듭니다.

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackEndPool \
    --frontend-ip-name myFrontEnd

상태 프로브 만들기

상태 프로브는 네트워크 트래픽을 보낼 수 있도록 모든 가상 머신 인스턴스를 검사합니다.

프로브 확인에 실패한 가상 머신은 부하 분산 장치에서 제거됩니다. 오류가 해결되면 가상 머신이 부하 분산 장치에 다시 추가됩니다.

az network lb probe create를 사용하여 상태 프로브를 만듭니다.

  az network lb probe create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHealthProbe \
    --protocol tcp \
    --port 80

부하 분산 장치 규칙 만들기

다음과 같은 부하 분산 장치 규칙을 정의합니다.

  • 들어오는 트래픽에 대한 프런트 엔드 IP 구성

  • 트래픽을 수신할 백 엔드 IP 풀

  • 필요한 원본 및 대상 포트

az network lb rule create를 사용하여 부하 분산 장치 규칙을 만듭니다.

  az network lb rule create \
    --resource-group CreateIntLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --idle-timeout 15 \
    --enable-tcp-reset true

네트워크 보안 그룹 만들기

표준 부하 분산 장치의 경우 네트워크 보안 그룹에 속한 네트워크 인터페이스가 백 엔드 풀의 VM에 있어야 합니다.

네트워크 보안 그룹을 만들려면 az network nsg create를 사용합니다.

  az network nsg create \
    --resource-group CreateIntLBQS-rg \
    --name myNSG

네트워크 보안 그룹 규칙 만들기

네트워크 보안 그룹 규칙을 만들려면 az network nsg rule create를 사용합니다.

  az network nsg rule create \
    --resource-group CreateIntLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

백 엔드 서버 만들기

이 섹션에서는 다음을 만듭니다.

  • 가상 머신에 대한 두 개의 네트워크 인터페이스

  • 부하 분산 장치의 서버로 사용할 가상 머신 두 개.

가상 머신에 대한 네트워크 인터페이스 만들기

az network nic create를 사용하여 두 개의 네트워크 인터페이스를 만듭니다.

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreateIntLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

가상 머신 만들기

az vm create를 사용하여 가상 머신을 만듭니다.

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone $n \
    --no-wait
  done

VM을 배포하는 데 몇 분 정도 걸릴 수 있습니다.

참고 항목

Azure는 공용 IP 주소가 할당되지 않았거나 내부 기본 Azure Load Balancer의 백 엔드 풀에 있는 VM에 대한 기본 아웃바운드 액세스 IP를 제공합니다. 기본 아웃바운드 액세스 IP 메커니즘은 구성할 수 없는 아웃바운드 IP 주소를 제공합니다.

다음 이벤트 중 하나가 발생하면 기본 아웃바운드 액세스 IP가 사용하지 않도록 설정됩니다.

  • 공용 IP 주소가 VM에 할당됩니다.
  • VM은 아웃바운드 규칙 유무에 관계없이 표준 Load Balancer의 백 엔드 풀에 배치됩니다.
  • Azure NAT Gateway 리소스는 VM의 서브넷에 할당됩니다.

유연한 오케스트레이션 모드에서 가상 머신 확장 집합을 사용하여 만드는 VM에는 기본 아웃바운드 액세스 권한이 없습니다.

Azure의 아웃바운드 연결에 대한 자세한 내용은 Azure의 기본 아웃바운드 액세스아웃바운드 연결에 SNAT(원본 네트워크 주소 변환) 사용을 참조하세요.

백 엔드 풀에 가상 머신 추가

az network nic ip-config address-pool add를 사용하여 백 엔드 풀에 가상 머신을 추가합니다.

  array=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-rg \
   --lb-name myLoadBalancer
  done

NAT 게이트웨이 만들기

백 엔드 풀의 리소스에 대한 아웃바운드 인터넷 액세스를 제공하려면 NAT 게이트웨이를 만듭니다.

공용 IP 만들기

az network public-ip create를 사용하여 아웃바운드 연결에 대한 단일 IP를 만듭니다.

  az network public-ip create \
    --resource-group CreateIntLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

NAT 게이트웨이 리소스 만들기

az network nat gateway create를 사용하여 NAT 게이트웨이 리소스를 만듭니다. 이전 단계에서 만든 공용 IP는 NAT 게이트웨이와 연결됩니다.

  az network nat gateway create \
    --resource-group CreateIntLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --idle-timeout 10

NAT 게이트웨이를 서브넷에 연결

az network vnet subnet update와 함께 특정 NAT Gateway 리소스를 사용하도록 가상 네트워크의 원본 서브넷을 구성합니다.

  az network vnet subnet update \
    --resource-group CreateIntLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

테스트 가상 머신 만들기

az network nic create를 사용하여 네트워크 인터페이스를 만듭니다.

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

az vm create를 사용하여 가상 머신을 만듭니다.

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

가상 머신이 배포될 때까지 몇 분 정도 기다려야 할 수 있습니다.

IIS 설치

az vm extension set을 사용하여 백 엔드 가상 머신에 IIS를 설치하고 기본 웹 사이트를 컴퓨터 이름으로 설정합니다.

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreateIntLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

부하 분산 장치 테스트

  1. Azure Portal에 로그인합니다.

  2. 개요 화면에서 부하 분산 장치의 개인 IP 주소를 찾습니다. 왼쪽 메뉴에서 모든 서비스>모든 리소스>myLoadBalancer를 선택합니다.

  3. myLoadBalancer의 개요에서 개인 IP 주소 옆에 있는 주소를 복사합니다. 개인 IP 주소가 표시되지 않으면 더보기를 선택합니다.

  4. 왼쪽 메뉴에서 모든 서비스>모든 리소스를 선택합니다. 리소스 목록의 CreateIntLBQS-rg 리소스 그룹에서 myTestVM을 선택합니다.

  5. 개요 페이지에서 연결>Bastion을 선택합니다.

  6. VM을 만들 때 입력한 사용자 이름 및 암호를 입력합니다.

  7. myTestVM에서 Internet Explorer를 엽니다.

  8. 이전 단계의 IP 주소를 브라우저의 주소 표시줄에 입력합니다. IIS 웹 서버의 기본 페이지가 브라우저에 표시됩니다.

    브라우저의 주소 표시줄에 있는 IP 주소의 스크린샷.

리소스 정리

리소스가 더 이상 필요하지 않은 경우 az group delete 명령을 사용하여 리소스 그룹, 부하 분산 장치 및 모든 관련 리소스를 제거합니다.

  az group delete \
    --name CreateIntLBQS-rg

다음 단계

이 빠른 시작에서 관련 정보는 다음과 같습니다.

  • 내부 부하 분산 장치를 만들었습니다.

  • 두 개의 가상 머신을 연결했습니다.

  • 부하 분산 장치 트래픽 규칙 및 상태 프로브를 구성했습니다.

  • 부하 분산 장치 테스트

Azure Load Balancer에 대해 자세히 알아보려면 계속 진행하세요.