Cvičení – konfigurace veřejného nástroje pro vyrovnávání zatížení
Azure Load Balancer můžete nakonfigurovat přes Azure Portal, PowerShell nebo rozhraní příkazového řádku Azure CLI.
Ve vaší zdravotnické organizaci chcete vyrovnávat zatížení provozu klientů, aby poskytoval konzistentní odpověď na základě stavu webových serverů s portálem pacientů. Máte dva virtuální počítače ve skupině dostupnosti, které budou fungovat jako webová aplikace portálu pro zdravotnictví.
Tady vytvoříte prostředek nástroje pro vyrovnávání zatížení a použijete ho k distribuci zatížení mezi virtuální počítače.
Nasazení webové aplikace představující pacientský portál
Nejprve nasaďte aplikaci pro pacientský portál na dva virtuální počítače v jedné skupině dostupnosti. Abychom ušetřili čas, začněme tím, že spustíme skript pro vytvoření této aplikace. Tento skript:
- Vytvoří virtuální síť a síťovou infrastrukturu pro virtuální počítače.
- Vytvoří dva virtuální počítače v této virtuální síti.
Postup nasazení webové aplikace představující pacientský portál:
V Azure Cloud Shellu spusťte následující příkaz
git clone
. Příkaz naklonuje úložiště, které obsahuje zdroj pro aplikaci a spouští instalační skript z GitHubu. Potom se změní do adresáře klonovaného úložiště.git clone https://github.com/MicrosoftDocs/mslearn-improve-app-scalability-resiliency-with-load-balancer.git cd mslearn-improve-app-scalability-resiliency-with-load-balancer
Jak název napovídá, skript vygeneruje dva virtuální počítače v jedné skupině dostupnosti. Spuštění trvá asi dvě minuty.
bash create-high-availability-vm-with-sets.sh <rgn>[sandbox resource group name]</rgn>
Až se dokončí, vyberte v nabídce webu Azure Portal nebo na domovské stránce položku Skupiny prostředků a pak skupinu prostředků
[název sandboxové skupiny prostředků] . Zkontrolujte prostředky vytvořené skriptem.
Vytvoření nástroje pro vyrovnávání zatížení
Teď vytvořme nástroj pro vyrovnávání zatížení.
V nabídce webu Azure Portal nebo na domovské stránce v části Služby Azure vyberte Vytvořit prostředek. Zobrazí se podokno Vytvořit prostředek .
Do vyhledávacího pole Search a marketplace zadejte Load Balancer a stiskněte Enter.
V seznamu výčtu vyberte Load Balancer – Microsoft a pak vyberte Vytvořit.
Na kartě Základy zadejte pro každé nastavení následující hodnoty:
Nastavení Hodnota Podrobnosti projektu Předplatné Vaše předplatné Skupina prostředků Vyberte [název skupiny prostředků sandboxu] .Podrobnosti o instanci Název Zadejte jedinečný název. Například Pub-LB-PatientsPortal. Oblast Vyberte umístění, kde byly virtuální počítače vytvořeny. Skladová jednotka (SKU) Standard Typ Public Úroveň Regionální
Přidání konfigurace front-endové IP adresy
Vyberte Další: Konfigurace front-endové IP adresy.
Vyberte + Přidat konfiguraci front-endové IP adresy. Zobrazí se podokno konfigurace přidání front-endové IP adresy.
Pro každé nastavení zadejte následující hodnoty.
Nastavení Hodnota Název Zadejte jedinečný název konfigurace front-endové IP adresy. Například myFrontendIP Verze protokolu IP Vyberte protokol IPv4. Typ IP adresy Výběr IP adresy Veřejná IP adresa Vyberte Vytvořit nový, zadejte IP adresu a vyberte Uložit. Gateway Load Balancer Vybrat žádné Dialogové okno zavřete tak, že vyberete Uložit. Zobrazí se podokno Vytvořit nástroj pro vyrovnávání zatížení.
Přidání back-endového fondu
Vyberte Další: Back-endové fondy.
Vyberte + Přidat back-endový fond. Zobrazí se podokno Přidat back-endový fond .
Pro každé nastavení zadejte následující hodnoty.
Nastavení Hodnota Název Zadejte jedinečný název back-endového fondu, například bepool-http. Virtuální síť Potvrďte , že je vybraná síť bePortalVnet . V části Konfigurace IP vyberte Přidat. Zobrazí se podokno Přidat konfigurace IP adres do back-endového fondu .
V části Virtuální počítač vyberte virtuální počítače webVM1 a webVM2 a vyberte Přidat.
Znovu se zobrazí obrazovka Přidat back-endový fond . V části Konfigurace IP vyberte virtuální počítače webVM1 a webVM2 a vyberte Uložit. Znovu se zobrazí obrazovka Vytvořit nástroj pro vyrovnávání zatížení.
Přidání pravidla vyrovnávání zatížení
Nakonec vytvoříme pravidlo pro nástroj pro vyrovnávání zatížení.
Vyberte Další: Příchozí pravidla.
V části Pravidla vyrovnávání zatížení vyberte + Přidat pravidlo vyrovnávání zatížení. Zobrazí se podokno Přidat pravidlo vyrovnávání zatížení.
Pro každé nastavení zadejte následující hodnoty.
Nastavení Hodnota Název Název pravidla vyrovnávání zatížení, Například lbrule-http. Verze protokolu IP IPv4 Front-endová IP adresa Vyberte IP adresu front-endu, kterou jste pojmenovali dříve. Back-endový fond Vyberte back-endový fond, který jste pojmenovali dříve. například bepool-http. Protokol TCP Port Zadejte 80 (výchozí). Back-endový port Zadejte 80 (výchozí). Sonda stavu Vyberte odkaz Vytvořit nový. Zobrazí se dialogové okno Přidat sondu stavu. Pro každé nastavení zadejte následující hodnoty.
Nastavení Hodnota Název Název sondy stavu Například healthprobe-http. Protokol TCP Port Zadejte 80 (výchozí). Interval Zadejte 5 (výchozí). Tato hodnota představuje dobu mezi sondami. Výběrem možnosti Uložit zavřete dialogové okno. Znovu se zobrazí podokno Přidat pravidlo vyrovnávání zatížení.
Pokračujte zadáním následujících hodnot pro každé nastavení.
Nastavení Hodnota Trvalost relace* Žádný (výchozí) Časový limit nečinnosti (minuty) Vyberte 4 (výchozí). Tato hodnota je čas zachovat otevřené připojení TCP (Transmission Control Protocol) nebo HTTP, aniž by se museli spoléhat na klienty, aby odesílali zprávy o zachování. Plovoucí IP adresa Zakázáno (výchozí). Výběrem možnosti Uložit dokončete konfiguraci pravidla vyrovnávání zatížení.
Znovu se zobrazí obrazovka Vytvořit nástroj pro vyrovnávání zatížení. Vyberte Zkontrolovat a vytvořit.
Po úspěšném ověření vyberte Vytvořit. Po dokončení nasazení vyberte Přejít k prostředku.
Na stránce Přehled zkopírujte a uložte veřejnou IP adresu. Možná budete muset vybrat Zobrazit další... a zobrazit veřejnou IP adresu.
Vytvoření IP adres
Nejdříve pro nástroj pro vyrovnávání zatížení potřebujeme veřejnou IP adresu.
V Cloud Shellu spusťte PowerShell spuštěním tohoto příkazu:
pwsh
V PowerShellu vytvořte novou veřejnou IP adresu:
$Location = $(Get-AzureRmResourceGroup -ResourceGroupName <rgn>[sandbox resource group name]</rgn>).Location $publicIP = New-AzPublicIpAddress ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Location $Location ` -AllocationMethod "Static" ` -Name "myPublicIP"
Vytvořte front-endovou IP adresu pomocí rutiny New-AzLoadBalancerFrontendIpConfig. Následující kód vytvoří konfiguraci front-endové IP adresy s názvem myFrontEnd a připojí adresu myPublicIP:
$frontendIP = New-AzLoadBalancerFrontendIpConfig ` -Name "myFrontEnd" ` -PublicIpAddress $publicIP
Vytvoření nástroje pro vyrovnávání zatížení
Pokud ke konfiguraci nástroje pro vyrovnávání zatížení použijete PowerShell, musíte před samotným vytvořením tohoto nástroje vytvořit back-endový fond adres, sondu stavu a pravidlo.
Spuštěním rutiny New-AzLoadBalancerBackendAddressPoolConfig vytvořte back-endový fond adres. Virtuální počítače připojíte k tomuto back-endovém fondu v posledních krocích. Následující příklad vytvoří back-endový fond adres s názvem myBackEndPool:
$backendPool = New-AzLoadBalancerBackendAddressPoolConfig -Name "myBackEndPool"
Vytvořte sondu stavu, která nástroji pro vyrovnávání zatížení umožní monitorovat stav zdravotnického portálu. Sonda stavu dynamicky přidává virtuální počítače do oběhu nástroje pro vyrovnávání zatížení nebo je z něj odebírá na základě jejich reakce na kontroly stavu.
$probe = New-AzLoadBalancerProbeConfig ` -Name "myHealthProbe" ` -Protocol http ` -Port 80 ` -IntervalInSeconds 5 ` -ProbeCount 2 ` -RequestPath "/"
Teď potřebujete pravidlo nástroje pro vyrovnávání zatížení, které definuje způsob distribuce provozu do virtuálních počítačů. Nadefinujte 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. Abyste zajistili, že provoz budou přijímat jenom virtuální počítače, které jsou v pořádku, nadefinujte také sondu stavu, která se má použít.
$lbrule = New-AzLoadBalancerRuleConfig ` -Name "myLoadBalancerRule" ` -FrontendIpConfiguration $frontendIP ` -BackendAddressPool $backendPool ` -Protocol Tcp ` -FrontendPort 80 ` -BackendPort 80 ` -Probe $probe
Teď můžete vytvořit nástroj pro vyrovnávání zatížení úrovně Basic spuštěním rutiny New-AzLoadBalancer :
$lb = New-AzLoadBalancer ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Name 'MyLoadBalancer' ` -Location $Location ` -FrontendIpConfiguration $frontendIP ` -BackendAddressPool $backendPool ` -Probe $probe ` -LoadBalancingRule $lbrule
Připojte virtuální počítače k back-endovému fondu tím, že síťová rozhraní vytvořená skriptem aktualizujete tak, aby používala informace o back-endovém fondu.
$nic1 = Get-AzNetworkInterface -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name "webNic1" $nic2 = Get-AzNetworkInterface -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name "webNic2" $nic1.IpConfigurations[0].LoadBalancerBackendAddressPools = $backendPool $nic2.IpConfigurations[0].LoadBalancerBackendAddressPools = $backendPool Set-AzNetworkInterface -NetworkInterface $nic1 -AsJob Set-AzNetworkInterface -NetworkInterface $nic2 -AsJob
Spuštěním následujícího příkazu získejte veřejnou IP adresu nástroje pro vyrovnávání zatížení a adresu URL vašeho webu:
Write-Host http://$($(Get-AzPublicIPAddress ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Name "myPublicIP").IpAddress)
Vytvoření nástroje pro vyrovnávání zatížení
Pomocí rozhraní příkazového řádku Azure CLI vytvořme nástroj pro vyrovnávání zatížení a jeho přidružené prostředky.
Vytvořte novou veřejnou IP adresu.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --allocation-method Static \ --name myPublicIP
Vytvořte nástroj pro vyrovnávání zatížení.
az network lb create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name myLoadBalancer \ --public-ip-address myPublicIP \ --frontend-ip-name myFrontEndPool \ --backend-pool-name myBackEndPool
Vytvořte sondu stavu, která nástroji pro vyrovnávání zatížení umožňuje monitorovat stav zdravotnického portálu. Sonda stavu dynamicky přidává nebo odebírá virtuální počítače z rotace nástroje pro vyrovnávání zatížení na základě jejich odpovědí na kontroly stavu.
az network lb probe create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --lb-name myLoadBalancer \ --name myHealthProbe \ --protocol tcp \ --port 80
Teď potřebujete pravidlo nástroje pro vyrovnávání zatížení, které definuje způsob distribuce provozu do virtuálních počítačů. Nadefinujte 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. Abyste zajistili, že provoz budou přijímat jenom virtuální počítače, které jsou v pořádku, nadefinujte také sondu stavu, která se má použít.
az network lb rule create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --lb-name myLoadBalancer \ --name myHTTPRule \ --protocol tcp \ --frontend-port 80 \ --backend-port 80 \ --frontend-ip-name myFrontEndPool \ --backend-pool-name myBackEndPool \ --probe-name myHealthProbe
Připojte virtuální počítače k back-endovému fondu tím, že síťová rozhraní vytvořená skriptem aktualizujete tak, aby používala informace o back-endovém fondu.
az network nic ip-config update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --nic-name webNic1 \ --name ipconfig1 \ --lb-name myLoadBalancer \ --lb-address-pools myBackEndPool az network nic ip-config update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --nic-name webNic2 \ --name ipconfig1 \ --lb-name myLoadBalancer \ --lb-address-pools myBackEndPool
Spuštěním následujícího příkazu získejte veřejnou IP adresu nástroje pro vyrovnávání zatížení a adresu URL vašeho webu:
echo http://$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name myPublicIP \ --query ipAddress \ --output tsv)
Otestování konfigurace nástroje pro vyrovnávání zatížení
Pojďme otestovat nastavení nástroje pro vyrovnávání zatížení tím, že ukazuje, jak dokáže dynamicky zpracovávat problémy s dostupností a stavem.
Na nové kartě prohlížeče přejděte na veřejnou IP adresu, kterou jste si poznamenali. V prohlížeči se zobrazí odpověď z jednoho z virtuálních počítačů.
Zkuste "vynutit aktualizaci" stisknutím kombinace kláves Ctrl+F5 několikrát, abyste viděli, že se odpověď vrací náhodně z obou virtuálních počítačů.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Všechny prostředky. Pak vyberte webVM1 a vyberte Zastavit.
Vraťte se na kartu, která zobrazuje web, a vynuťte aktualizaci webové stránky. Všechny žádosti se budou vracet z virtuálního počítače webVM2.