백 엔드 풀 관리
백 엔드 풀은 부하 분산 장치의 중요한 구성 요소입니다. 백 엔드 풀은 지정된 부하 분산 규칙에 대한 트래픽을 제공하는 리소스 그룹을 정의합니다.
백 엔드 풀을 구성하는 두 가지 방법이 있습니다.
NIC(네트워크 인터페이스 카드)
IP 주소
가상 머신 및 Virtual Machine Scale Sets를 포함할 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 기반 부하 분산 장치 백엔드 인스턴스는 여전히 가상 머신 또는 가상 머신 확장 집합이어야 합니다. IP 기반 부하 분산 장치의 백 엔드 풀에 다른 PaaS 서비스를 연결하는 것은 지원되지 않습니다.
- IP 기반 백 엔드 풀이 있는 부하 분산 장치는 Private Link 서비스로 작동할 수 없습니다.
- 프라이빗 엔드포인트 리소스는 IP 기반 백 엔드 풀에 배치할 수 없습니다.
- IP 기반 부하 분산 장치는 ACI 컨테이너를 지원하지 않음
- 부하 분산 장치 또는 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를 검토합니다.