Udostępnij za pośrednictwem


Dołączanie zaplecza między subskrypcjami do usługi Azure Load Balancer

Z tego artykułu dowiesz się, jak dołączyć zaplecze między subskrypcjami do usługi Azure Load Balancer, tworząc pulę zaplecza między subskrypcjami i dołączając interfejsy sieciowe między subskrypcjami do puli zaplecza 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.
  • Konto platformy Azure z aktywnymi subskrypcjami. Bezpłatne tworzenie konta
  • Istniejąca sieć wirtualna. wdrożone w jednej z subskrypcji. W tym przykładzie sieć wirtualna znajduje się w subskrypcji platformy Azure A.
  • Program Azure PowerShell został zainstalowany lokalnie lub w usłudze Azure Cloud Shell.

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-AzAccountużyciu polecenia , a następnie zmienisz kontekst subskrypcji na Set-AzContext subskrypcję platformy Azure A. Następnie uzyskaj informacje o sieci wirtualnej za pomocą polecenia Get-AzVirtualNetwork. 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 Virtual Network information with Get-AzVirtualNetwork
$net = @{
    Name = '<vnet name>'
    ResourceGroupName = '<Resource Group Subscription A>'
}
$vnet = Get-AzVirtualNetwork @net

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.

Za pomocą programu Azure PowerShell wykonasz następujące elementy:

# 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

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

Dołączanie kart interfejsu sieciowego do modułu równoważenia obciążenia

W tej sekcji dołączysz kartę interfejsu sieciowego (NIC) w subskrypcji platformy Azure A do modułu równoważenia obciążenia w subskrypcji platformy Azure B. Utworzysz interfejs sieciowy za pomocą New-AzNetworkInterface polecenia , a następnie utworzysz konfigurację adresu IP dla karty interfejsu sieciowego za pomocą polecenia New-AzNetworkInterfaceIpConfig.

Uwaga

Karta interfejsu sieciowego musi znajdować się w tej samej sieci wirtualnej co pula zaplecza modułu równoważenia obciążenia.


# 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 = '<Resoure Group Subscription A>'
    Location = 'eastus'
    IpConfiguration = $IP1Config
}
New-AzNetworkInterface @nic

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'

Następne kroki