Dołączanie frontonu między subskrypcjami do usługi Azure Load Balancer
Z tego artykułu dowiesz się, jak utworzyć moduł równoważenia obciążenia w jednej subskrypcji platformy Azure i dołączyć adres IP frontonu z innej subskrypcji. Utworzysz grupę zasobów dla modułu równoważenia obciążenia, a następnie utworzysz moduł równoważenia obciążenia z adresem IP frontonu. Utworzysz również pulę adresów zaplecza, sondę kondycji i regułę modułu równoważenia obciążenia.
Moduł równoważenia obciążenia między subskrypcjami może odwoływać się do sieci wirtualnej, która znajduje się w innej subskrypcji niż moduły równoważenia obciążenia. Ta funkcja umożliwia wdrożenie modułu równoważenia obciążenia w jednej subskrypcji i odwołanie do sieci wirtualnej w innej subskrypcji.
Wymagania wstępne
- Dwie subskrypcje platformy Azure. Jedna subskrypcja sieci wirtualnej i inna subskrypcja modułu równoważenia obciążenia.
- Konto platformy Azure z aktywnymi subskrypcjami. Bezpłatne tworzenie konta
- Publiczny adres IP wdrożony w jednej z subskrypcji. W tym przykładzie publiczny adres IP znajduje się w subskrypcji platformy Azure A.
- Istniejąca sieć wirtualna. wdrożone w jednej z subskrypcji. W tym przykładzie sieć wirtualna znajduje się w subskrypcji platformy Azure B.
Jeśli postanowisz zainstalować program PowerShell i używać go lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az
, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Ważne
Wszystkie przykłady kodu będą używać przykładowych nazw i symboli zastępczych. Pamiętaj, aby zastąpić je wartościami ze środowiska.
Wartości, które wymagają zastąpienia, zostaną ujęte w nawiasy kątowe, w następujący sposób: <example value>
.
Logowanie się do platformy Azure
Za pomocą programu Azure PowerShell zalogujesz się do platformy Azure przy Connect-AzAccount
użyciu polecenia , a następnie zmienisz kontekst subskrypcji na Set-AzContext
subskrypcję platformy Azure A. Następnie uzyskaj informacje o publicznym adresie IP za pomocą polecenia Get-AzPublicIpAddress
. Potrzebujesz identyfikatora subskrypcji platformy Azure, nazwy grupy zasobów i nazwy sieci wirtualnej ze środowiska.
# 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
Tworzenie grupy zasobów
W tej sekcji utworzysz grupę zasobów w subskrypcji platformy Azure B. Ta grupa zasobów jest dla wszystkich zasobów skojarzonych z modułem równoważenia obciążenia.
Za pomocą programu Azure PowerShell można przełączyć kontekst subskrypcji na element Set-AzContext
i utworzyć grupę zasobów za pomocą polecenia 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
Uwaga
Podczas tworzenia grupy zasobów dla modułu równoważenia obciążenia użyj tego samego regionu platformy Azure co sieć wirtualna w subskrypcji A platformy Azure.
Tworzenie modułu równoważenia obciążenia
W tej sekcji utworzysz moduł równoważenia obciążenia w subskrypcji platformy Azure B. Moduł równoważenia obciążenia jest tworzony przy użyciu adresu IP frontonu.
Utwórz moduł równoważenia obciążenia za pomocą New-AzLoadBalancer
polecenia , dodaj konfigurację adresu IP frontonu za pomocą Add-AzLoadBalancerFrontendIpConfig
polecenia , a następnie utwórz pulę adresów zaplecza za pomocą polecenia 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
Tworzenie sondy kondycji i reguły modułu równoważenia obciążenia
Utwórz sondę kondycji, która określa kondycję wystąpień maszyn wirtualnych zaplecza i regułę modułu równoważenia obciążenia, która definiuje konfigurację adresu IP frontonu dla ruchu przychodzącego, pulę adresów IP zaplecza do odbierania ruchu oraz wymagany port źródłowy i docelowy.
Za pomocą programu Azure PowerShell utwórz sondę kondycji, Add-AzLoadBalancerProbeConfig
która określa kondycję wystąpień maszyn wirtualnych zaplecza. Następnie utwórz regułę modułu równoważenia obciążenia, Add-AzLoadBalancerRuleConfig
która definiuje konfigurację adresu IP frontonu dla ruchu przychodzącego, pulę adresów IP zaplecza do odbierania ruchu oraz wymagany port źródłowy i docelowy.
## 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
Czyszczenie zasobów
Gdy grupa zasobów utworzona wraz z modułem równoważenia obciążenia i pozostałymi zasobami nie będzie już potrzebna, możesz użyć polecenia Remove-AzResourceGroup.
Remove-AzResourceGroup -Name 'myResourceGroupLB'