Vytvoření Load Balanceru úrovně Standard s oblastmi front-endu pomocí Azure CLICreate a Standard Load Balancer with zonal frontend using Azure CLI

Tento článek popisuje postup vytvořením veřejné Load balanceru úrovně Standard s oblastmi front-endu pomocí standardní veřejné IP adresy.This article steps through creating a public Standard Load Balancer with a zonal frontend using a Public IP Standard address. V tomto scénáři zadáte určitou zónu pro instance front-endu a back-endu, aby se cesta k datům a prostředky spojily s konkrétní zónou.In this scenario, you specify a particular zone for your front-end and back-end instances, to align your data path and resources with a specific zone.

Další informace o používání zón dostupnosti s Load Balancerem úrovně Standard najdete v tématu o Load Balanceru úrovně Standard a zónách dostupnosti.For more information about using Availability zones with Standard Load Balancer, see Standard Load Balancer and Availability Zones.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

Otevření služby Azure Cloud ShellOpen Azure Cloud Shell

Azure Cloud Shell je interaktivní prostředí prostředí hostovaných v Azure a použít svůj prohlížeč.Azure Cloud Shell is an interactive shell environment hosted in Azure and used through your browse. Azure Cloud Shell můžete použít buď bash nebo PowerShell prostředí pro spouštění různých nástrojů pro práci se službami Azure.Azure Cloud Shell allows you to use either bash or PowerShell shells to run a variety of tools to work with Azure services. Azure Cloud Shell je dodávána s příkazy, aby bylo možné spustit obsah tohoto článku nemusíte nic instalovat na vaše místní prostředí.Azure Cloud Shell comes pre-installed with the commands to allow you to run the content of this article without having to install anything on your local environment.

Pokud chcete spustit libovolný kód obsažený v tomto článku v Azure Cloud Shell, otevřete relaci služby Cloud Shell, použijte kopírování tlačítko na bloku kódu pro kód zkopírujte a vložte ho do relace Cloud Shellu s Ctrl + Shift + V na Windows a Linux, nebo Cmd + Shift + V v systému macOS.To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. Vložený text není spouštěny automaticky, takže stiskněte Enter pro spuštění kódu.Pasted text is not automatically executed, so press Enter to run code.

Můžete spustit Azure Cloud Shell pomocí:You can launch Azure Cloud Shell with:

MožnostOption Příklad nebo propojeníExample/Link
Zvolte Vyzkoušet v pravém horním rohu bloku kódu.Select Try It in the upper-right corner of a code block. To nebude automaticky zkopírování textu do Cloud Shellu.This doesn't automatically copy text to Cloud Shell. Příklad vyzkoušet pro Azure Cloud Shell.
Otevřít Azure Cloud Shell v prohlížeči.Open Azure Cloud Shell in your browser. <a href="https://shell.azure.com" title="Spustit Azure Cloud Shell
Zvolte Cloud Shell v nabídce v pravém horním rohu webu Azure Portal.Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Tlačítko Cloud Shell na webu Azure Portal

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku místně, ujistěte se, že máte nainstalovanou nejnovější verzi rozhraní příkazového řádku Azure a přihlášení k účtu Azure pomocí az login.If you choose to install and use the CLI locally, make sure that you have installed the latest Azure CLI and are logged in to an Azure account with az login.

Poznámka

Podpora pro zóny dostupnosti je k dispozici pro vyberte prostředky Azure a oblasti a velikostní řady virtuálních počítačů.Support for Availability Zones is available for select Azure resources and regions, and VM size families. Další informace o tom, jak začít a které prostředky Azure, oblasti a velikostní řady virtuálních počítačů můžete vyzkoušet zóny dostupnosti s, najdete v části přehledu zón dostupnosti.For more information on how to get started, and which Azure resources, regions, and VM size families you can try availability zones with, see Overview of Availability Zones. Pokud budete potřebovat podporu, můžete kontaktovat StackOverflow nebo otevřít lístek podpory Azure.For support, you can reach out on StackOverflow or open an Azure support ticket.

Vytvoření skupiny prostředkůCreate a resource group

Vytvořte skupinu prostředků pomocí příkazu az group create.Create a resource group with az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.An Azure resource group is a logical container into which Azure resources are deployed and managed.

Následující příklad vytvoří skupinu prostředků s názvem myResourceGroupLB v westeurope umístění:The following example creates a resource group named myResourceGroupLB in the westeurope location:

az group create \
--name myResourceGroupLB \
--location westeurope

Vytvoření zónové veřejné IP StandardCreate a zonal public IP Standard

Pokud chcete mít k aplikaci přístup přes internet, potřebujete pro nástroj pro vyrovnávání zatížení veřejnou IP adresu.To access your app on the Internet, you need a public IP address for the load balancer. Veřejná IP adresa, která se vytvoří v konkrétní zóně vždy existuje pouze v této zóně.A Public IP address that is created in a specific zone always exists only in that zone. Není možné změnit zóny veřejnou IP adresu.It is not possible to change the zone of a Public IP address.

Vytvořte veřejnou IP adresu pomocí příkazu az network public-ip create.Create a public IP address with az network public-ip create. Následující příklad vytvoří oblastmi veřejnou IP adresu s názvem myPublicIP v myResourceGroupLoadBalancer skupinu prostředků v zóně 1.The following example creates a zonal public IP address named myPublicIP in the myResourceGroupLoadBalancer resource group in zone 1.

az network public-ip create \
--resource-group myResourceGroupLB \
--name myPublicIP \
--sku Standard \
--zone 1

Vytvořit Azure Load balancer úrovně StandardCreate Azure Standard Load Balancer

Tato část podrobně popisuje vytvoření a konfiguraci následujících komponent nástroje pro vyrovnávání zatížení:This section details how you can create and configure the following components of the load balancer:

  • Front-endový fond IP adres, který přijímá příchozí síťový provoz do nástroje pro vyrovnávání zatížení.a frontend IP pool that receives the incoming network traffic on the load balancer.
  • Back-endový fond IP adres, kam front-endový fond odesílá síťový provoz s vyrovnáváním zatížení.a backend IP pool where the frontend pool sends the load balanced network traffic.
  • Sonda stavu, která určuje stav back-endových instancí virtuálních počítačů.a health probe that determines health of the backend VM instances.
  • Pravidlo nástroje pro vyrovnávání zatížení, které definuje způsob distribuce provozu do virtuálních počítačů.a load balancer rule that defines how traffic is distributed to the VMs.

Vytvoření nástroje pro vyrovnávání zatíženíCreate the load balancer

Vytvoření Load Balanceru úrovně Standard s az network lb vytvořit.Create a Standard Load Balancer with az network lb create. Následující příklad vytvoří nástroj pro vyrovnávání zatížení s názvem myLoadBalancer a přiřadí myPublicIP ke konfiguraci front-end IP adresy.The following example creates a load balancer named myLoadBalancer and assigns the myPublicIP address to the front-end IP configuration.

az network lb create \
--resource-group myResourceGroupLB \
--name myLoadBalancer \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEndPool \
--backend-pool-name myBackEndPool \
--sku Standard

Vytvoření sondy stavu na portu 80Create health probe on port 80

Test stavu kontroluje všechny instance virtuálních počítačů a ověřuje, že mohou posílat síťový provoz.A health probe checks all virtual machine instances to make sure they can send network traffic. Instance virtuálního počítače, u níž se kontroly testu nezdaří, se odebere z nástroje pro vyrovnávání zatížení do té doby, než znovu přejde do režimu online a kontrola testu určí, že je v pořádku.The virtual machine instance with failed probe checks is removed from the load balancer until it goes back online and a probe check determines that it's healthy. Vytvořte sondu stavu pomocí az network lb probe vytvořit pro monitorování stavu virtuálních počítačů.Create a health probe with az network lb probe create to monitor the health of the virtual machines. Sondu stavu protokolu TCP vytvoříte pomocí příkazu az network lb probe create.To create a TCP health probe, you use az network lb probe create. Následující příklad vytvoří sondu stavu myHealthProbe:The following example creates a health probe named myHealthProbe:

az network lb probe create \
--resource-group myResourceGroupLB \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80

Vytvořte pravidlo nástroje pro vyrovnávání zatížení pro port 80Create load balancer rule for port 80

Pravidlo nástroje pro vyrovnávání zatížení definuje konfiguraci front-endových IP adres pro příchozí provoz, back-endový fond IP adres pro příjem provozu a také požadovaný zdrojový a cílový port.A load balancer rule defines the front-end IP configuration for the incoming traffic and the back-end IP pool to receive the traffic, along with the required source and destination port. Pomocí příkazu myLoadBalancerRuleWeb vytvořte pravidlo nástroje pro vyrovnávání zatížení myLoadBalancerRuleWeb pro naslouchání na portu 80 ve front-endovém fondu myFrontEndPool a odesílání síťového provozu s vyrovnáváním zatížení do back-endového fondu adres myBackEndPool rovněž na portu 80.Create a load balancer rule myLoadBalancerRuleWeb with az network lb rule create for listening to port 80 in the frontend pool myFrontEndPool and sending load-balanced network traffic to the backend address pool myBackEndPool also using port 80.

az network lb rule create \
--resource-group myResourceGroupLB \
--lb-name myLoadBalancer \
--name myLoadBalancerRuleWeb \
--protocol tcp \
--frontend-port 80 \
--backend-port 80 \
--frontend-ip-name myFrontEndPool \
--backend-pool-name myBackEndPool \
--probe-name myHealthProbe

Konfigurace virtuální sítěConfigure virtual network

Než nasadíte několik virtuálních počítačů a budete moci otestovat svůj nástroj pro vyrovnávání zatížení, vytvořte podpůrné prostředky virtuální sítě.Before you deploy some VMs and can test your load balancer, create the supporting virtual network resources.

Vytvoření virtuální sítěCreate a virtual network

Vytvoření virtuální sítě s názvem myVnet s podsítí mySubnet myResourceGroup pomocí az network vnet vytvořit.Create a virtual network named myVnet with a subnet named mySubnet in the myResourceGroup using az network vnet create.

az network vnet create \
--resource-group myResourceGroupLB \
--location westeurope \
--name myVnet \
--subnet-name mySubnet

Vytvoření skupiny zabezpečení sítěCreate a network security group

Vytvořit skupinu zabezpečení sítě s názvem myNetworkSecurityGroup definovat příchozí připojení k virtuální síti s az network nsg vytvořit.Create network security group named myNetworkSecurityGroup to define inbound connections to your virtual network with az network nsg create.

az network nsg create \
--resource-group myResourceGroupLB \
--name myNetworkSecurityGroup

Vytvořte pravidlo skupiny zabezpečení sítě s názvem myNetworkSecurityGroupRule pro port 80 s az network nsg pravidlo vytvořte.Create a network security group rule named myNetworkSecurityGroupRule for port 80 with az network nsg rule create.

az network nsg rule create \
--resource-group myResourceGroupLB \
--nsg-name myNetworkSecurityGroup \
--name myNetworkSecurityGroupRule \
--protocol tcp \
--direction inbound \
--source-address-prefix '*' \
--source-port-range '*' \
--destination-address-prefix '*' \
--destination-port-range 80 \
--access allow \
--priority 200

Vytvoření síťových rozhraníCreate NICs

Vytvořte tři virtuální síťové karty s az network nic vytvořit a přidružit je k veřejné IP adrese a skupině zabezpečení sítě.Create three virtual NICs with az network nic create and associate them with the Public IP address and the network security group. Následující příklad vytvoří tři virtuální síťové karty.The following example creates three virtual NICs. (Jednu virtuální síťovou kartu pro každý virtuální počítač, který pro svou aplikaci vytvoříte v následujících krocích).(One virtual NIC for each VM you create for your app in the following steps). Kdykoli můžete vytvořit další virtuální síťové karty a virtuální počítače a přidat je do nástroje pro vyrovnávání zatížení:You can create additional virtual NICs and VMs at any time and add them to the load balancer:

for i in `seq 1 3`; do
    az network nic create \
        --resource-group myResourceGroupLB \
        --name myNic$i \
        --vnet-name myVnet \
        --subnet mySubnet \
        --network-security-group myNetworkSecurityGroup \
        --lb-name myLoadBalancer \
        --lb-address-pools myBackEndPool
done

Vytvoření serverů back-endCreate backend servers

V tomto příkladu vytvoříte tři virtuální počítače v zóně 1 použít jako servery back-endu nástroje pro vyrovnávání zatížení.In this example, you create three virtual machines located in zone 1 to be used as backend servers for the load balancer. Na virtuální počítače k ověření úspěšného vytvoření nástroje pro vyrovnávání zatížení taky nainstalujete server NGINX.You also install NGINX on the virtual machines to verify that the load balancer was successfully created.

Vytvoření konfigurace cloud-initCreate cloud-init config

K instalaci serveru NGINX a spuštění aplikace Hello World v Node.js na virtuálním počítači s Linuxem můžete použít konfigurační soubor cloud-init.You can use a cloud-init configuration file to install NGINX and run a 'Hello World' Node.js app on a Linux virtual machine. V aktuálním prostředí vytvořte soubor cloud-init.txt a zkopírujte následující konfiguraci a vložte ji do prostředí.In your current shell, create a file named cloud-init.txt and copy and paste the following configuration into the shell. Ujistěte se, že správně kopírujete celý soubor cloud-init, zejména první řádek:Make sure that you copy the whole cloud-init file correctly, especially the first line:

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
  - path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
  - path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

Vytvoření zónového virtuálních počítačůCreate the zonal virtual machines

Vytvoření virtuálních počítačů s az vm vytvořit.Create the VMs with az vm create. Následující příklad vytvoří tři virtuální počítače v zóně 1 a vygeneruje klíče SSH, pokud ještě neexistují:The following example creates three VMs in zone 1 and generates SSH keys if they do not already exist:

for i in `seq 1 3`; do
 az vm create \
--resource-group myResourceGroupLB \
--name myVM$i \
--nics myNic$i \
--image UbuntuLTS \
--generate-ssh-keys \
--zone 1 \
--custom-data cloud-init.txt
done

Test nástroje pro vyrovnávání zatíženíTest the load balancer

Získejte veřejnou IP adresu nástroje pro vyrovnávání zatížení pomocí az network public-ip show.Get the public IP address of the load balancer using az network public-ip show.

  az network public-ip show \
    --resource-group myResourceGroupSLB \
    --name myPublicIP \
    --query [ipAddress] \
    --output tsv

Veřejnou IP adresu pak můžete zadat do webového prohlížeče.You can then enter the public IP address in to a web browser. Nezapomeňte, že příprava virtuálních počítačů několik minut trvá, a až pak do nich začne nástroj pro vyrovnávání zatížení distribuovat provoz.Remember - it takes a few minutes for the VMs to be ready before the load balancer starts to distribute traffic to them. Zobrazí se aplikace, včetně názvu hostitele virtuálního počítače, do kterého nástroj pro vyrovnávání zatížení distribuoval provoz, jako v následujícím příkladu:The app is displayed, including the hostname of the VM that the load balancer distributed traffic to as in the following example:

Spuštěná aplikace Node.js

Zobrazíte nástroj pro vyrovnávání zatížení distribuovat provoz do virtuálních počítačů v rámci zóny 1, které běží vaše aplikace je můžete vynutit aktualizaci webového prohlížeče.To see the load balancer distribute traffic to VMs within zone 1 that are running your app, you can force-refresh your web browser.

Další postupNext steps