Azure Load Balancer에 구독 간 프런트 엔드 연결
이 문서에서는 하나의 Azure 구독에서 부하 분산 장치를 만들고 다른 구독의 프런트 엔드 IP 주소를 연결하는 방법을 알아봅니다. 부하 분산 장치에 대한 리소스 그룹을 만든 다음 프런트 엔드 IP 주소를 사용하여 부하 분산 장치를 만듭니다. 또한 백 엔드 주소 풀, 상태 프로브 및 부하 분산 장치 규칙을 만듭니다.
구독 간 부하 분산 장치는 부하 분산 장치와 다른 구독에 있는 가상 네트워크를 참조할 수 있습니다. 이 기능을 사용하면 한 구독에 부하 분산 장치를 배포하고 다른 구독의 가상 네트워크를 참조할 수 있습니다.
필수 조건
- 두 개의 Azure 구독. 가상 네트워크에 대한 하나의 구독과 부하 분산 장치에 대한 다른 구독.
- 활성 구독이 있는 Azure 계정. 무료로 계정 만들기
- 구독 중 하나에 배포된 공용 IP 주소. 이 예에서 공용 IP 주소는 Azure 구독 A에 있습니다.
- 기존 가상 네트워크. 구독 중 하나에 배포됩니다. 이 예에서 가상 네트워크는 Azure 구독 B에 있습니다.
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-AzPublicIpAddress
를 사용하여 공용 IP 주소 정보를 가져옵니다. 사용자 환경의 Azure 구독 ID, 리소스 그룹 이름 및 가상 네트워크 이름이 필요합니다.
# Sign in to Azure
Connect-AzAccount
# Set the subscription context to Azure Subscription A
Set-AzContext -Subscription '<Azure Subscription A>'
# Get the Public IP address information with Get-AzPublicIpAddress
$publicIp = Get-AzPublicIpAddress @pip
리소스 그룹 만들기
이 섹션에서는 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 주소를 사용하여 부하 분산 장치를 만듭니다.
New-AzLoadBalancer
를 사용하여 부하 분산 장치를 만들고, Add-AzLoadBalancerFrontendIpConfig
를 사용하여 프런트 엔드 IP 구성을 추가한 다음, New-AzLoadBalancerBackendAddressPool
을 사용하여 백 엔드 주소 풀을 만듭니다.
# Create a load balancer
$tags = @{
'IsRemoteFrontend'= 'true'
}
$loadbalancer = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
Location = 'westus'
Sku = 'Standard'
Tag = $tags
}
$LB = New-AzLoadBalancer @loadbalancer
$LBinfo = @{
ResourceGroupName = 'myResourceGroupLB'
Name = 'myLoadBalancer'
}
$fip = @{
Name = 'Frontend Name'
PublicIpAddress = $publicip
}
$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer
## Create backend address pool configuration and place in variable.
$net = @{
Name = 'vnet name'
ResourceGroupName = 'myResourceGroupLB'
}
$vnet = Get-AzVirtualNetwork @net
$be = @{
ResourceGroupName= "myResourceGroupLB"
Name= "myBackEndPool"
LoadBalancerName= "myLoadBalancer"
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
리소스 정리
더 이상 필요하지 않은 경우 Remove-AzResourceGroup 명령을 사용하여 부하 분산 장치와 함께 만든 리소스 그룹 및 나머지 리소스를 제거할 수 있습니다.
Remove-AzResourceGroup -Name 'myResourceGroupLB'