백 엔드 풀 관리

백 엔드 풀은 부하 분산 장치의 중요한 구성 요소입니다. 백 엔드 풀은 지정된 부하 분산 규칙에 대한 트래픽을 제공하는 리소스 그룹을 정의합니다.

백 엔드 풀을 구성하는 두 가지 방법이 있습니다.

  • NIC(네트워크 인터페이스 카드)

  • IP 주소

나중에 가상 머신 및 가상 머신 확장 집합을 포함할 IP 주소 범위의 백 엔드 풀을 미리 할당하려면 IP 주소 및 가상 네트워크 ID별로 풀을 구성합니다. 이 문서에서는 IP 주소별 백 엔드 풀 구성에 중점을 둡니다.

IP 주소 및 가상 네트워크를 통해 백 엔드 풀 구성

미리 채워진 백 엔드 풀을 사용하는 시나리오에서는 IP 및 가상 네트워크를 사용합니다.

다음 예에서 강조 표시된 대로 백 엔드 풀 개체에서 백 엔드 풀 관리를 구성합니다.

PowerShell

새 백 엔드 풀을 만듭니다.

$be = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
$backendPool = New-AzLoadBalancerBackendAddressPool @be

백 엔드 풀을 기존 가상 네트워크의 새 IP로 업데이트합니다.

$vnet = @{
    Name = 'myVnet'
    ResourceGroupName = 'myResourceGroup'
}
$virtualNetwork = Get-AzVirtualNetwork @vnet

$add1 = @{
    IpAddress = '10.0.0.5'
    Name = 'TestVNetRef'
    VirtualNetworkId = $virtualNetwork.Id
}
$ip1 = New-AzLoadBalancerBackendAddressConfig @add1
 
$backendPool.LoadBalancerBackendAddresses.Add($ip1) 

Set-AzLoadBalancerBackendAddressPool -InputObject $backendPool

부하 분산 장치에 대한 백 엔드 풀 정보를 검색하여 백 엔드 주소가 백 엔드 풀에 추가되었는지 확인합니다.

$pool = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
Get-AzLoadBalancerBackendAddressPool @pool

네트워크 인터페이스를 만들고, 백 엔드 풀에 추가합니다. IP 주소를 백 엔드 주소 중 하나로 설정합니다.

$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus'
    PrivateIpAddress = '10.0.0.5'
    Subnet = $virtualNetwork.Subnets[0]
}
$nic = New-AzNetworkInterface @net

VM을 만들고, 백 엔드 풀의 IP 주소를 사용하여 NIC를 연결합니다.

# Create a username and password for the virtual machine
$cred = Get-Credential

# Create a virtual machine configuration
$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net

$vmc = @{
    VMName = 'myVM1'
    VMSize = 'Standard_DS1_v2'
}

$vmos = @{
    ComputerName = 'myVM1'
    Credential = $cred
}

$vmi = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2019-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vmc | Set-AzVMOperatingSystem -Windows @vmos | Set-AzVMSourceImage @vmi | Add-AzVMNetworkInterface -Id $nic.Id


# Create a virtual machine using the configuration
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Zone = '1'
    Location = 'eastus'
    VM = $vmConfig

}
$vm1 = New-AzVM @vm

CLI

CLI를 사용하면 명령줄 매개 변수 또는 JSON 구성 파일을 통해 백 엔드 풀을 채울 수 있습니다.

명령줄 매개 변수를 통해 백 엔드 풀을 만들고 채웁니다.

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address name=addr1 ip-address=10.0.0.4 \
--backend-address name=addr2 ip-address=10.0.0.5

JSON 구성 파일을 통해 백 엔드 풀을 만들고 채웁니다.

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address-config-file @config_file.json

JSON 구성 파일:

        [
          {
            "name": "address1",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.4"
          },
          {
            "name": "address2",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.5"
          }
        ]

부하 분산 장치에 대한 백 엔드 풀 정보를 검색하여 백 엔드 주소가 백 엔드 풀에 추가되었는지 확인합니다.

az network lb address-pool show \
--resource-group myResourceGroup \
--lb-name MyLb \
--name MyBackendPool

네트워크 인터페이스를 만들고, 백 엔드 풀에 추가합니다. IP 주소를 백 엔드 주소 중 하나로 설정합니다.

az network nic create \
  --resource-group myResourceGroup \
  --name myNic \
  --vnet-name myVnet \
  --subnet mySubnet \
  --network-security-group myNetworkSecurityGroup \
  --lb-name myLB \
  --private-ip-address 10.0.0.4

VM을 만들고, 백 엔드 풀의 IP 주소를 사용하여 NIC를 연결합니다.

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --nics myNic \
  --image Ubuntu2204 \
  --admin-username azureuser \
  --generate-ssh-keys

제한 사항

  • IP 기반 백 엔드는 표준 Load Balancer에만 사용할 수 있습니다.
  • 백 엔드 리소스는 IP 기반 LB용 부하 분산 장치와 동일한 가상 네트워크에 있어야 합니다.
  • IP 기반 백 엔드 풀이 있는 부하 분산 장치는 Private Link 서비스로 작동할 수 없습니다.
  • 프라이빗 엔드포인트 리소스는 IP 기반 백 엔드 풀에 배치할 수 없습니다.
  • ACI 컨테이너는 현재 IP 기반 LB에서 지원되지 않습니다.
  • 부하 분산 장치 또는 Application Gateway와 같은 서비스를 부하 분산 장치의 백 엔드 풀에 배치할 수 없습니다.
  • 인바운드 NAT 규칙은 IP 주소로 지정할 수 없습니다.
  • 동일한 부하 분산 장치에 대해 IP 기반 및 NIC 기반 백 엔드 풀을 구성할 수 있습니다. 동일한 풀 내에서 NIC 및 IP 주소가 대상으로 하는 지원 주소를 혼합하는 단일 백 엔드 풀을 만들 수 없습니다.
  • 내부 부하 분산 장치와 동일한 가상 네트워크에 있는 가상 머신은 ILB 및 해당 백 엔드 VM의 프런트 엔드에 동시에 액세스할 수 없습니다.
  • 인터넷 라우팅 기본 설정 IP는 현재 IP 기반 백 엔드 풀에서 지원되지 않습니다. IP 기반 백 엔드 풀의 모든 인터넷 라우팅 기본 설정 IP는 기본 Microsoft 글로벌 네트워크를 통해 청구 및 라우팅됩니다.
  • 백 엔드 풀이 지속적으로 변경되는 경우(백 엔드 리소스의 지속적인 추가 또는 제거로 인해) 이로 인해 다시 설정 신호가 백 엔드 리소스에서 원본으로 다시 전송될 수 있습니다. 해결 방법으로 재시도를 사용할 수 있습니다.

Important

IP 주소로 구성된 백 엔드 풀은 기본 아웃바운드가 사용되는 기본 부하 분산 장치처럼 동작합니다. 기본적으로 안전한 구성 및 아웃바운드 요구 사항이 까다로운 애플리케이션의 경우 NIC별로 백 엔드 풀을 구성합니다.

다음 단계

이 문서에서는 Azure Load Balancer 백 엔드 풀 관리 및 IP 주소 및 가상 네트워크를 통해 백 엔드 풀을 구성하는 방법에 대해 알아보았습니다.

Azure Load Balancer에 대해 자세히 알아보세요.

IP 기반 백 엔드 풀 관리를 위한 REST API를 검토합니다.