Azure Load Balancer에 구독 간 백 엔드 연결
이 문서에서는 구독 간 백 엔드 풀을 만들고 구독 간 네트워크 인터페이스를 부하 분산 장치의 백 엔드 풀에 연결하여 구독 간 백 엔드를 Azure Load Balancer에 연결하는 방법을 알아봅니다.
구독 간 부하 분산 장치 부하 분산 장치가 아닌 다른 구독에 있는 가상 네트워크를 참조할 수 있습니다. 이 기능을 사용하면 한 구독에 부하 분산 장치를 배포하고 다른 구독의 가상 네트워크를 참조할 수 있습니다.
필수 조건
- 두 개의 Azure 구독.
- 활성 구독이 있는 Azure 계정. 무료로 계정 만들기
- 기존 Virtual Network. 구독 중 하나에 배포됩니다. 이 예제에서는 가상 네트워크가 Azure 구독 A에 있습니다.
- 로컬로 설치된 Azure PowerShell 또는 Azure Cloud Shell.
PowerShell을 로컬로 설치하고 사용하도록 선택하는 경우 이 문서에는 Azure PowerShell 모듈 버전 5.4.1 이상이 필요합니다. 설치되어 있는 버전을 확인하려면 Get-Module -ListAvailable Az
을 실행합니다. 업그레이드해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요. 또한 PowerShell을 로컬로 실행하는 경우 Connect-AzAccount
를 실행하여 Azure와 연결해야 합니다.
Important
모든 코드 샘플에서는 예제 이름과 자리 표시자를 사용합니다. 이러한 값을 사용자 환경의 값으로 바꿔야 합니다.
교체가 필요한 값은 다음과 같이 꺾쇠 괄호로 묶습니다. <example value>
.
Azure에 로그인
Azure PowerShell을 사용하면 Connect-AzAccount
을(를) 사용하여 Azure에 로그인하고 Set-AzContext
을(를) 사용하여 구독 컨텍스트를 Azure 구독 A로 변경합니다. 그런 다음 Get-AzVirtualNetwork
을(를) 사용하여 가상 네트워크 정보를 가져옵니다. 사용자 환경의 Azure 구독 ID, 리소스 그룹 이름 및 가상 네트워크 이름이 필요합니다.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'
# Get the Virtual Network information with Get-AzVirtualNetwork
$net = @{
Name = '<vnet name>'
ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net
리소스 그룹 만들기
이 섹션에서는 Azure 구독 B에서 리소스 그룹을 만듭니다. 이 리소스 그룹은 부하 분산 장치와 연결된 모든 리소스를 위한 것입니다.
Azure PowerShell을 사용하면 Set-AzContext
을(를) 사용하여 구독 컨텍스트를 전환하고 New-AzResourceGroup
을(를) 사용하여 리소스 그룹을 만듭니다.
# Set the subscription context to Azure Subscription B
Set-AzContext -Subscription '<Azure Subscription B>'
# Create a resource group
$rg = @{
Name = 'myResourceGroupLB'
Location = 'westus'
}
New-AzResourceGroup @rg
참고 항목
부하 분산 장치용 리소스 그룹을 만들 때 Azure 구독 A의 가상 네트워크와 동일한 Azure 지역을 사용합니다.
부하 분산 장치 만들기
이 섹션에서는 Azure 구독 B에서 부하 분산 장치를 만듭니다. 프런트 엔드 IP 주소를 사용하여 부하 분산 장치를 만듭니다.
Azure PowerShell을 사용하면 다음을 수행할 수 있습니다.
New-AzLoadBalancer
를 사용한 부하 분산 장치New-AzPublicIpAddress
을(를) 사용하여 공용 IP 주소 만들기Add-AzLoadBalancerFrontendIpConfig
을(를) 사용하여 프런트 엔드 IP 구성 추가New-AzLoadBalancerBackendAddressPool
을(를) 사용하여 백 엔드 주소 풀을 만듭니다.
# Create a load balancer
$loadbalancer = @{
ResourceGroupName = 'resource group B'
Name = 'LB Name'
Location = 'eastus'
Sku = 'Standard'
}
$LB = New-AzLoadBalancer @loadbalancer
$LBinfo = @{
ResourceGroupName = 'resource group B'
Name = 'my-lb'
}
# Create a public IP address
$publicip = @{
Name = 'IP Address Name'
ResourceGroupName = 'resource group B'
Location = 'eastus'
Sku = 'Standard'
AllocationMethod = 'static'
Zone = 1,2,3
}
New-AzPublicIpAddress @publicip
# Place public IP created in previous steps into variable
$pip = @{
Name = 'IP Address Name'
ResourceGroupName = 'resource group B'
}
$publicIp = Get-AzPublicIpAddress @pip
## Create load balancer frontend configuration and place in variable
$fip = @{
Name = 'Frontend Name'
PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer
# Create backend address pool configuration and place in variable. ##
$be = @{
ResourceGroupName= "resource group B"
Name= "myBackEndPool"
LoadBalancerName= "LB Name"
VirtualNetwork=$vnet.id
SyncMode= "Automatic"
}
#Create the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo
상태 프로브 및 부하 분산 장치 규칙 만들기
백 엔드 VM 인스턴스의 상태를 결정하는 상태 프로브와 들어오는 트래픽에 대한 프런트 엔드 IP 구성, 트래픽을 수신할 백 엔드 IP 풀, 필요한 원본 및 대상 포트를 정의하는 부하 분산 장치 규칙을 만듭니다.
Azure PowerShell을 사용하여 백 엔드 VM 인스턴스의 상태를 결정하는 Add-AzLoadBalancerProbeConfig
을(를) 사용하여 상태 프로브를 만듭니다. 그런 다음 수신 트래픽에 대한 프런트 엔드 IP 구성, 트래픽을 수신할 백 엔드 IP 풀 그리고 필수 원본 및 대상 포트를 정의하는 Add-AzLoadBalancerRuleConfig
을(를) 사용하여 부하 분산 장치 규칙을 만듭니다.
## Create the health probe and place in variable. ##
$probe = @{
Name = 'myHealthProbe2'
Protocol = 'tcp'
Port = '80'
IntervalInSeconds = '360'
ProbeCount = '5'
}
## Create the load balancer rule and place in variable. ##
$lbrule = @{
Name = 'myHTTPRule2'
Protocol = 'tcp'
FrontendPort = '80'
BackendPort = '80'
IdleTimeoutInMinutes = '15'
FrontendIpConfiguration = $LB.FrontendIpConfigurations[0]
BackendAddressPool = $backend
}
## Set the load balancer resource. ##
$LB | Add-AzLoadBalancerProbeConfig @probe
$LB | Add-AzLoadBalancerRuleConfig @lbrule
$LB | Set-AzLoadBalancer
부하 분산 장치에 네트워크 인터페이스 카드 연결
이 섹션에서는 Azure 구독 A의 NIC(네트워크 인터페이스 카드)를 Azure 구독 B의 부하 분산 장치에 연결합니다. New-AzNetworkInterface
을(를) 사용하여 네트워크 인터페이스를 만든 다음 New-AzNetworkInterfaceIpConfig
을(를) 사용하여 네트워크 인터페이스 카드에 대한 IP 구성을 만듭니다.
참고 항목
NIC(네트워크 인터페이스 카드)는 부하 분산 장치의 백 엔드 풀과 동일한 VNet에 있어야 합니다.
# Set the subscription context to **Azure Subscription A**
Set-AzContext -Subscription 'Sub A'
# Create a network interface card
$IP1 = @{
Name = 'MyIpConfig'
subnetID= $vnet.subnets[0].Id
PrivateIpAddressVersion = 'IPv4'
-LoadBalancerBackendAddressPool $lb-be-info
}
$IP1Config = New-AzNetworkInterfaceIpConfig @IP1 -Primary
$nic = @{
Name = 'MyNic'
ResourceGroupName = '<Resource Group Subscription A>'
Location = 'eastus'
IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic
리소스 정리
더 이상 필요하지 않은 경우 Remove-AzResourceGroup 명령을 사용하여 부하 분산 장치와 함께 만든 리소스 그룹 및 나머지 리소스를 제거할 수 있습니다.
Remove-AzResourceGroup -Name 'myResourceGroupLB'