Dela via


Skapa en intern lastbalanserare mellan prenumerationer

I den här guiden får du lära dig hur du skapar en intern lastbalanserare mellan prenumerationer genom att ansluta ett virtuellt nätverk i en prenumeration till en lastbalanserare i en annan prenumeration.

En intern lastbalanserare för flera prenumerationer (ILB) kan referera till ett virtuellt nätverk som finns i en annan prenumeration än lastbalanserarna. Med den här funktionen kan du distribuera en lastbalanserare i en prenumeration och referera till ett virtuellt nätverk i en annan prenumeration.

Förutsättningar

  • Två Azure-prenumerationer.
  • Ett Azure-konto med aktiva prenumerationer. Skapa ett konto kostnadsfritt
  • Ett befintligt virtuellt nätverk. distribueras i en av prenumerationerna. I det här exemplet finns det virtuella nätverket i Azure Subscription A.
  • Azure PowerShell installerat lokalt eller Azure Cloud Shell.

Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln version 5.4.1 eller senare av Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.

Viktigt!

Alla kodexempel använder exempelnamn och platshållare. Se till att ersätta dessa med värdena från din miljö. Värdena som behöver ersättas omges av vinkelparenteser, så här: <example value>.

Logga in på Azure

Med Azure PowerShell loggar du in på Azure med Connect-AzAccountoch ändrar din prenumerationskontext med Set-AzContext till Azure Subscription A. Hämta sedan information om det virtuella nätverket med Get-AzVirtualNetwork. Du behöver Azure-prenumerations-ID, resursgruppsnamn och virtuellt nätverksnamn från din miljö.


# 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

Skapa en resursgrupp

I det här avsnittet skapar du en resursgrupp i Azure-prenumeration B. Den här resursgruppen är avsedd för alla dina resurser som associeras med lastbalanseraren.

Med Azure PowerShell växlar du prenumerationskontexten med Set-AzContext och skapar en resursgrupp med 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

Kommentar

När du skapar resursgruppen för lastbalanseraren använder du samma Azure-region som det virtuella nätverket i Azure-prenumeration A.

Skapa en lastbalanserare

I det här avsnittet skapar du en lastbalanserare i Azure-prenumeration B som är ansluten till ett virtuellt nätverk i Azure Subscription A. Du skapar en lastbalanserare med en IP-adress för klientdelen.

Med Azure PowerShell gör du följande:

# Create a load balancer

$tags = @{
'IsRemoteFrontend'= 'true'
}

$loadbalancer = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
    Location = 'westus'
    Sku = 'Standard'
    Tags = $tags
}

$LB = New-AzLoadBalancer @loadbalancer
 
$LBinfo = @{
    ResourceGroupName = 'myResourceGroupLB'
    Name = 'myLoadBalancer'
}

## Add load balancer frontend configuration and apply to load balancer.
$fip = @{
 Name = 'myFrontEnd'
SubnetId = $vnet.subnets[0].Id 
}

$LB = $LB | Add-AzLoadBalancerFrontendIpConfig @fip
$LB = $LB | Set-AzLoadBalancer

## Create backend address pool configuration and place in variable. 
 
$be = @{
    ResourceGroupName= "myResourceGroupLB"
    Name= "myBackEndPool"
    LoadBalancerName= "myLoadBalancer"
    VirtualNetwork=$vnet.id
    SyncMode= "Automatic"
}
 
# Create  the backend pool
$backend = New-AzLoadBalancerBackendAddressPool @be
$LB = Get-AzLoadBalancer @LBinfo

Skapa en hälsoavsökning och lastbalanseringsregel

Skapa en hälsoavsökning som avgör hälsotillståndet för serverdels-VM-instanserna och en lastbalanseringsregel som definierar IP-konfigurationen för klientdelen för inkommande trafik, serverdels-IP-poolen för att ta emot trafiken och den nödvändiga käll- och målporten.

Med Azure PowerShell skapar du en hälsoavsökning med Add-AzLoadBalancerProbeConfig som avgör hälsotillståndet för serverdels-VM-instanserna. Skapa sedan en lastbalanseringsregel med Add-AzLoadBalancerRuleConfig som definierar IP-konfigurationen för klientdelen för inkommande trafik, serverdels-IP-poolen för att ta emot trafiken och den nödvändiga käll- och målporten.

## 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

Koppla nätverkskort till lastbalanseraren

I det här avsnittet kopplar du nätverkskortet (NIC) i Azure-prenumeration A till lastbalanseraren i Azure-prenumeration B. Du skapar ett nätverksgränssnitt med New-AzNetworkInterface och skapar sedan en IP-konfiguration för nätverksgränssnittskortet med New-AzNetworkInterfaceIpConfig.

Kommentar

Nätverkskort (NIC) måste finnas i samma virtuella nätverk som lastbalanserarens serverdelspool.


# 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

Rensa resurser

När du inte längre behöver det kan du använda kommandot Remove-AzResourceGroup för att ta bort resursgruppen som du skapade tillsammans med lastbalanseraren och de återstående resurserna.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Nästa steg