Freigeben über


Anfügen eines abonnementübergreifenden Back-Ends an einen Azure Load Balancer

In diesem Artikel erfahren Sie, wie Sie ein abonnementübergreifendes Back-End an einen Azure Load Balancer anfügen, indem Sie einen abonnementübergreifenden Back-End-Pool erstellen und abonnementübergreifende Netzwerkschnittstellen an den Back-End-Pool des Lastenausgleichs anfügen.

Ein abonnementübergreifender Lastenausgleich kann auf ein virtuelles Netzwerk verweisen, das sich in einem anderen Abonnement als die Lastenausgleichsmodule befindet. Mit diesem Feature können Sie einen Lastenausgleich in einem Abonnement bereitstellen und auf ein virtuelles Netzwerk in einem anderen Abonnement verweisen.

Voraussetzungen

  • Zwei Azure-Abonnements.
  • Ein Azure-Konto mit aktiven Abonnements. Kostenlos ein Konto erstellen
  • Ein vorhandenes Virtual Network. in einem der Abonnements bereitgestellt. In diesem Beispiel befindet sich das virtuelle Netzwerk im Azure-Abonnement A.
  • Azure PowerShell (lokale Installation) oder Azure Cloud Shell.

Wenn Sie PowerShell lokal installieren und verwenden möchten, müssen Sie für diesen Artikel mindestens Version 5.4.1 des Azure PowerShell-Moduls verwenden. Führen Sie Get-Module -ListAvailable Az aus, um die installierte Version zu ermitteln. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount ausführen, um eine Verbindung mit Azure herzustellen.

Wichtig

Alle Codebeispiele werden Beispielnamen und Platzhalter verwenden. Achten Sie darauf, diese durch die Werte aus Ihrer Umgebung zu ersetzen. Die Werte, die ersetzt werden müssen, werden wie folgt in spitze Klammern eingeschlossen: <example value>.

Anmelden bei Azure

Mit Azure PowerShell melden Sie sich bei Azure mit Connect-AzAccount an und ändern Ihren Abonnementkontext mit Set-AzContext zum Azure-Abonnement A. Rufen Sie dann mit Get-AzVirtualNetwork die Informationen zum virtuellen Netzwerk ab. Sie benötigen die Azure-Abonnement-ID, den Ressourcengruppennamen und den Namen des virtuellen Netzwerks aus Ihrer Umgebung.


# 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

Erstellen einer Ressourcengruppe

In diesem Abschnitt erstellen Sie eine Ressourcengruppe im Azure-Abonnement B. Diese Ressourcengruppe ist für alle Ihre Ressourcen, die Ihrem Lastenausgleich zugeordnet sind.

Mit Azure PowerShell wechseln Sie mit Set-AzContext zum Abonnementkontext und erstellen eine Ressourcengruppe mit 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

Hinweis

Wenn Sie die Ressourcengruppe für Ihren Lastenausgleich erstellen, verwenden Sie dieselbe Azure-Region wie das virtuelle Netzwerk im Azure-Abonnement A.

Einrichten eines Lastenausgleichs

In diesem Abschnitt erstellen Sie einen Lastenausgleich im Azure-Abonnement B. Sie erstellen einen Lastenausgleichs mit einer Front-End-IP-Adresse.

Mit Azure PowerShell werden Sie Folgendes tun:

# 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

Erstellen eines Integritätstests und einer Lastenausgleichsregel

Erstellen Sie einen Integritätstest, der die Integrität der Back-End-VM-Instanzen bestimmt, und eine Lastenausgleichsregel, welche die Front-End-IP-Konfiguration für den eingehenden Datenverkehr, den Back-End-IP-Adresspool für den Empfang des Datenverkehrs sowie die erforderlichen Quell- und Zielports definiert.

Erstellen Sie mit Azure PowerShell einen Integritätstest mit Add-AzLoadBalancerProbeConfig, der die Integrität der Back-End-VM-Instanzen bestimmt. Erstellen Sie dann eine Lastenausgleichsregel mit Add-AzLoadBalancerRuleConfig, welche die Front-End-IP-Konfiguration für den eingehenden Datenverkehr, den Back-End-IP-Pool für den Empfang des Datenverkehrs und die erforderlichen Quell- und Zielports definiert.

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

Anfügen von Netzwerkschnittstellenkarten an den Lastenausgleich

In diesem Abschnitt fügen Sie die Netzwerkschnittstellenkarte (Network Interface Card, NIC) im Azure-Abonnement A an den Lastenausgleich im Azure-Abonnement B an. Sie erstellen eine Netzwerkschnittstelle mit New-AzNetworkInterface und erstellen dann eine IP-Konfiguration für die Netzwerkschnittstellenkarte mit New-AzNetworkInterfaceIpConfig.

Hinweis

Die Netzwerkschnittstellenkarte (Network Interface Card, NIC) muss sich im gleichen VNet wie der Back-End-Pool des Lastenausgleichs befinden.


# 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

Bereinigen von Ressourcen

Wenn die Objekte nicht mehr benötigen werden, können Sie den Befehl „Remove-AzResourceGroup“ verwenden, um die von Ihnen erstellte Ressourcengruppe zusammen mit dem Lastenausgleich und alle verbleibenden Ressourcen zu löschen.

Remove-AzResourceGroup -Name 'myResourceGroupLB'

Nächste Schritte