Dela via


Koppla en serverdel mellan prenumerationer till en Azure Load Balancer

I den här artikeln får du lära dig hur du kopplar en serverdel mellan prenumerationer till en Azure Load Balancer genom att skapa en serverdelspool mellan prenumerationer och koppla nätverksgränssnitt mellan prenumerationer till lastbalanserarens serverdelspool.

En lastbalanserare mellan prenumerationer 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. Du skapar en lastbalanserare med en IP-adress för klientdelen.

Med Azure PowerShell gör du följande:

# 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

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 = '<Resoure 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