Introduzione alla creazione di un servizio di bilanciamento del carico con connessione Internet con IPv6 usando PowerShell per Resource ManagerGet started creating an Internet facing load balancer with IPv6 using PowerShell for Resource Manager

Importante

Azure Load Balancer supporta due tipi diversi: Basic e Standard.Azure Load Balancer supports two different types: Basic and Standard. Questo articolo illustra Load Balancer Basic.This article discusses Basic Load Balancer. Load Balancer Basic è disponibile a livello generale, mentre Load Balancer Standard è attualmente in anteprima pubblica.Basic Load Balancer is generally available, whereas Standard Load Balancer is currently in Public Preview. Per altre informazioni su Load Balancer Standard, vedere Panoramica di Load Balancer Standard.For more information about Standard Load Balancer, see Standard Load Balancer Overview.

Azure Load Balancer è un servizio di bilanciamento del carico di livello 4 (TCP, UDP).An Azure load balancer is a Layer-4 (TCP, UDP) load balancer. Il servizio di bilanciamento del carico offre disponibilità elevata distribuendo il traffico in ingresso tra istanze del servizio integre in servizi cloud o macchine virtuali in un set di bilanciamento del carico .The load balancer provides high availability by distributing incoming traffic among healthy service instances in cloud services or virtual machines in a load balancer set. Azure Load Balancer può anche presentare tali servizi su più porte, più indirizzi IP o entrambi.Azure Load Balancer can also present those services on multiple ports, multiple IP addresses, or both.

Scenario di distribuzione di esempioExample deployment scenario

Il diagramma seguente illustra la soluzione di bilanciamento del carico distribuita in questo articolo.The following diagram illustrates the load balancing solution being deployed in this article.

Scenario del bilanciamento del carico

In questo scenario si creeranno le seguenti risorse di Azure:In this scenario you will create the following Azure resources:

  • un servizio di bilanciamento del carico con connessione Internet con un indirizzo IP pubblico IPv4 e IPv6an Internet-facing Load Balancer with an IPv4 and an IPv6 Public IP address
  • due regole di bilanciamento del carico per eseguire il mapping degli indirizzi VIP pubblici agli endpoint privatitwo load balancing rules to map the public VIPs to the private endpoints
  • un set di disponibilità contenente le due macchine virtualian Availability Set to that contains the two VMs
  • due macchine virtuali (VM)two virtual machines (VMs)
  • un'interfaccia di rete virtuale per ogni VM con l'assegnazione degli indirizzi IPv4 e IPv6a virtual network interface for each VM with both IPv4 and IPv6 addresses assigned

Distribuzione della soluzione tramite Azure PowerShellDeploying the solution using the Azure PowerShell

La procedura seguente illustra come creare un servizio di bilanciamento del carico con connessione Internet usando Azure Resource Manager con PowerShell.The following steps show how to create an Internet facing load balancer using Azure Resource Manager with PowerShell. Con Azure Resource Manager ogni risorsa viene creata e configurata singolarmente e quindi integrata per creare una risorsa.With Azure Resource Manager, each resource is created and configured individually, then put together to create a resource.

Per distribuire un servizio di bilanciamento del carico è necessario creare e configurare gli oggetti seguenti:To deploy a load balancer, you create and configure the following objects:

  • Configurazione di IP front-end: contiene gli indirizzi IP pubblici per il traffico di rete in ingresso.Front-end IP configuration - contains public IP addresses for incoming network traffic.
  • Pool di indirizzi back-end: contiene interfacce di rete (NIC) per le macchine virtuali per la ricezione di traffico di rete dal servizio di bilanciamento del carico.Back-end address pool - contains network interfaces (NICs) for the virtual machines to receive network traffic from the load balancer.
  • Regole di bilanciamento del carico: contengono regole per il mapping di una porta pubblica nel servizio di bilanciamento del carico alle porte nel pool di indirizzi back-end.Load balancing rules - contains rules mapping a public port on the load balancer to port in the back-end address pool.
  • Regole NAT in ingresso: contengono regole per il mapping di una porta pubblica nel servizio di bilanciamento del carico a una porta per una macchina virtuale specifica nel pool di indirizzi back-end.Inbound NAT rules - contains rules mapping a public port on the load balancer to a port for a specific virtual machine in the back-end address pool.
  • Probe: contengono probe di integrità usati per verificare la disponibilità di istanze di macchine virtuali nel pool di indirizzi back-end.Probes - contains health probes used to check availability of virtual machines instances in the back-end address pool.

Per altre informazioni, vedere Supporto di Azure Resource Manager per Load Balancer.For more information, see Azure Resource Manager support for Load Balancer.

Configurazione di PowerShell per l'uso di Resource ManagerSet up PowerShell to use Resource Manager

Assicurarsi di avere la versione di produzione più recente del modulo Azure Resource Manager per PowerShell.Make sure you have the latest production version of the Azure Resource Manager module for PowerShell.

  1. Accesso ad AzureSign into Azure

    Login-AzureRmAccount
    

    Immettere le credenziali quando richiesto.Enter your credentials when prompted.

  2. Controllare le sottoscrizioni per l'accountCheck the subscriptions for the account

    Get-AzureRmSubscription
    
  3. Scegliere le sottoscrizioni ad Azure da usare.Choose which of your Azure subscriptions to use.

    Select-AzureRmSubscription -SubscriptionId 'GUID of subscription'
    
  4. Creare un nuovo gruppo di risorse. Ignorare questo passaggio se si usa un gruppo di risorse esistente.Create a resource group (skip this step if using an existing resource group)

    New-AzureRmResourceGroup -Name NRP-RG -location "West US"
    

Creare una rete virtuale e un indirizzo IP pubblico per il pool di indirizzi IP front-endCreate a virtual network and a public IP address for the front-end IP pool

  1. Creare una rete virtuale con una subnet.Create a virtual network with a subnet.

    $backendSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24
    $vnet = New-AzureRmvirtualNetwork -Name VNet -ResourceGroupName NRP-RG -Location 'West US' -AddressPrefix 10.0.0.0/16 -Subnet $backendSubnet
    
  2. Creare risorse di indirizzi IP pubblici (PIP) di Azure per il pool di indirizzi IP front-end.Create Azure Public IP address (PIP) resources for the front-end IP address pool.

    $publicIPv4 = New-AzureRmPublicIpAddress -Name 'pub-ipv4' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Static -IpAddressVersion IPv4 -DomainNameLabel lbnrpipv4
    $publicIPv6 = New-AzureRmPublicIpAddress -Name 'pub-ipv6' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Dynamic -IpAddressVersion IPv6 -DomainNameLabel lbnrpipv6
    

    Importante

    Il servizio di bilanciamento del carico usa l'etichetta di dominio dell'indirizzo IP pubblico come prefisso per il nome di dominio completo.The load balancer uses the domain label of the public IP as prefix for its FQDN. In questo esempio, i nomi di dominio completo sono lbnrpipv4.westus.cloudapp.azure.com e lbnrpipv6.westus.cloudapp.azure.com.In this example, the FQDNs are lbnrpipv4.westus.cloudapp.azure.com and lbnrpipv6.westus.cloudapp.azure.com.

Creare una configurazione di indirizzi IP front-end e un pool di indirizzi back-endCreate a Front-End IP configurations and a Back-End Address Pool

  1. Creare una configurazione di indirizzi front-end che userà gli indirizzi IP pubblici creati.Create front-end address configuration that uses the Public IP addresses you created.

    $FEIPConfigv4 = New-AzureRmLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzureRmLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. Creare i pool di indirizzi back-end.Create back-end address pools.

    $backendpoolipv4 = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv4"
    $backendpoolipv6 = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv6"
    

Creare regole di bilanciamento del carico, regole NAT, un probe e un servizio di bilanciamento del caricoCreate LB rules, NAT rules, a probe, and a load balancer

Questo esempio crea gli elementi seguenti:This example creates the following items:

  • Una regola NAT per la conversione di tutto il traffico in ingresso nella porta 443 alla porta 4443a NAT rule to translate all incoming traffic on port 443 to port 4443
  • Regola del servizio di bilanciamento del carico per il bilanciamento di tutto il traffico in ingresso sulla porta 80 verso la porta 80 negli indirizzi nel pool back-end.a load balancer rule to balance all incoming traffic on port 80 to port 80 on the addresses in the back-end pool.
  • Regola del servizio di bilanciamento del carico per consentire la connessione RDP alle macchine virtuali sulla porta 3389.a load balancer rule to allow RDP connection to the VMs on port 3389.
  • Una regola probe per il controllo dello stato di integrità in una pagina denominata HealthProbe.aspx o un servizio sulla porta 8080a probe rule to check the health status on a page named HealthProbe.aspx or a service on port 8080
  • Un servizio di bilanciamento del carico che usa tutti questi oggettia load balancer that uses all these objects
  1. Creare le regole NAT.Create the NAT rules.

    $inboundNATRule1v4 = New-AzureRmLoadBalancerInboundNatRuleConfig -Name "NicNatRulev4" -FrontendIpConfiguration $FEIPConfigv4 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    $inboundNATRule1v6 = New-AzureRmLoadBalancerInboundNatRuleConfig -Name "NicNatRulev6" -FrontendIpConfiguration $FEIPConfigv6 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    
  2. Creare un probe di integrità.Create a health probe. Esistono due modi per configurare un probe:There are two ways to configure a probe:

    Probe HTTPHTTP probe

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -RequestPath 'HealthProbe.aspx' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    

    o probe TCPor TCP probe

    $healthProbe = New-AzureRmLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -Protocol Tcp -Port 8080 -IntervalInSeconds 15 -ProbeCount 2
    $RDPprobe = New-AzureRmLoadBalancerProbeConfig -Name 'RDPprobe' -Protocol Tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
    

    Per questo esempio verranno usati probe TCP.For this example, we are going to use the TCP probes.

  3. Creare una regola del servizio di bilanciamento del carico.Create a load balancer rule.

    $lbrule1v4 = New-AzureRmLoadBalancerRuleConfig -Name "HTTPv4" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $lbrule1v6 = New-AzureRmLoadBalancerRuleConfig -Name "HTTPv6" -FrontendIpConfiguration $FEIPConfigv6 -BackendAddressPool $backendpoolipv6 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $RDPrule = New-AzureRmLoadBalancerRuleConfig -Name "RDPrule" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $RDPprobe -Protocol Tcp -FrontendPort 3389 -BackendPort 3389
    
  4. Creare il servizio di bilanciamento del carico usando gli oggetti creati in precedenza.Create the load balancer using the previously created objects.

    $NRPLB = New-AzureRmLoadBalancer -ResourceGroupName NRP-RG -Name 'myNrpIPv6LB' -Location 'West US' -FrontendIpConfiguration $FEIPConfigv4,$FEIPConfigv6 -InboundNatRule $inboundNATRule1v6,$inboundNATRule1v4 -BackendAddressPool $backendpoolipv4,$backendpoolipv6 -Probe $healthProbe,$RDPprobe -LoadBalancingRule $lbrule1v4,$lbrule1v6,$RDPrule
    

Creare le schede di interfaccia di rete per le macchine virtuali back-endCreate NICs for the back-end VMs

  1. Ottenere la rete virtuale e la subnet per la rete virtuale in cui devono essere create le schede NIC.Get the Virtual Network and Virtual Network Subnet, where the NICs need to be created.

    $vnet = Get-AzureRmVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzureRmVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. Creare le configurazioni IP e schede di interfaccia di rete per le macchine virtuali.Create IP configurations and NICs for the VMs.

    $nic1IPv4 = New-AzureRmNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4 -LoadBalancerInboundNatRule $inboundNATRule1v4
    $nic1IPv6 = New-AzureRmNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6 -LoadBalancerInboundNatRule $inboundNATRule1v6
    $nic1 = New-AzureRmNetworkInterface -Name 'myNrpIPv6Nic0' -IpConfiguration $nic1IPv4,$nic1IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    
    $nic2IPv4 = New-AzureRmNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4
    $nic2IPv6 = New-AzureRmNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6
    $nic2 = New-AzureRmNetworkInterface -Name 'myNrpIPv6Nic1' -IpConfiguration $nic2IPv4,$nic2IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    

Creare le macchine virtuali e assegnare le schede di interfaccia di rete appena createCreate virtual machines and assign the newly created NICs

Per altre informazioni, vedere Creare e preconfigurare una macchina virtuale Windows con Resource Manager e Azure PowerShellFor more information about creating a VM, see Create and preconfigure a Windows Virtual Machine with Resource Manager and Azure PowerShell

  1. Creare un set di disponibilità e l'account di archiviazioneCreate an Availability Set and Storage account

    New-AzureRmAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG -location 'West US'
    $availabilitySet = Get-AzureRmAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG
    New-AzureRmStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct' -Location 'West US' -SkuName "Standard_LRS"
    $CreatedStorageAccount = Get-AzureRmStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct'
    
  2. Creare ogni macchina virtuale e assegnare le schede di interfaccia di rete create in precedenzaCreate each VM and assign the previous created NICs

    $mySecureCredentials= Get-Credential -Message "Type the username and password of the local administrator account."
    
    $vm1 = New-AzureRmVMConfig -VMName 'myNrpIPv6VM0' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm1 = Set-AzureRmVMOperatingSystem -VM $vm1 -Windows -ComputerName 'myNrpIPv6VM0' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm1 = Set-AzureRmVMSourceImage -VM $vm1 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm1 = Add-AzureRmVMNetworkInterface -VM $vm1 -Id $nic1.Id -Primary
    $osDisk1Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM0osdisk.vhd"
    $vm1 = Set-AzureRmVMOSDisk -VM $vm1 -Name 'myNrpIPv6VM0osdisk' -VhdUri $osDisk1Uri -CreateOption FromImage
    New-AzureRmVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm1
    
    $vm2 = New-AzureRmVMConfig -VMName 'myNrpIPv6VM1' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm2 = Set-AzureRmVMOperatingSystem -VM $vm2 -Windows -ComputerName 'myNrpIPv6VM1' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm2 = Set-AzureRmVMSourceImage -VM $vm2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm2 = Add-AzureRmVMNetworkInterface -VM $vm2 -Id $nic2.Id -Primary
    $osDisk2Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM1osdisk.vhd"
    $vm2 = Set-AzureRmVMOSDisk -VM $vm2 -Name 'myNrpIPv6VM1osdisk' -VhdUri $osDisk2Uri -CreateOption FromImage
    New-AzureRmVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm2
    

Passaggi successiviNext steps

Introduzione alla configurazione del bilanciamento del carico internoGet started configuring an internal load balancer

Configurare una modalità di distribuzione del servizio di bilanciamento del caricoConfigure a load balancer distribution mode

Configurare le impostazioni del timeout di inattività TCP per il bilanciamento del caricoConfigure idle TCP timeout settings for your load balancer