Szybki start: tworzenie publicznego modułu równoważenia obciążenia w celu równoważenia obciążenia maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure

Rozpocznij pracę z usługą Azure Load Balancer przy użyciu interfejsu wiersza polecenia platformy Azure, aby utworzyć publiczny moduł równoważenia obciążenia i dwie maszyny wirtualne. Wraz z tymi zasobami wdrażasz usługę Azure Bastion, bramę translatora adresów sieciowych, sieć wirtualną i wymagane podsieci.

Diagram zasobów wdrożonych dla standardowego publicznego modułu równoważenia obciążenia.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

  • Ten przewodnik Szybki start wymaga wersji 2.0.28 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów za pomocą polecenia az group create:

  az group create \
    --name CreatePubLBQS-rg \
    --location eastus

Tworzenie sieci wirtualnej

Przed wdrożeniem maszyn wirtualnych i przetestowaniem modułu równoważenia obciążenia utwórz pomocniczą sieć wirtualną i podsieć.

Utwórz sieć wirtualną przy użyciu polecenia az network vnet create. Sieć wirtualna i podsieć zawierają zasoby wdrożone w dalszej części tego artykułu.

  az network vnet create \
    --resource-group CreatePubLBQS-rg \
    --location eastus \
    --name myVNet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name myBackendSubnet \
    --subnet-prefixes 10.1.0.0/24

Tworzenie publicznego adresu IP

Aby uzyskać dostęp do aplikacji internetowej za pośrednictwem Internetu, potrzebujesz publicznego adresu IP modułu równoważenia obciążenia.

Użyj polecenia az network public-ip create , aby utworzyć publiczny adres IP frontonu modułu równoważenia obciążenia.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --sku Standard \
    --zone 1 2 3

Aby utworzyć strefowy publiczny adres IP w strefie 1, użyj następującego polecenia:

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

Tworzenie modułu równoważenia obciążenia

W tej sekcji opisano szczegółowo procedurę tworzenia i konfigurowania następujących składników modułu równoważenia obciążenia:

  • Pula adresów IP frontonu, która odbiera przychodzący ruch sieciowy w module równoważenia obciążenia

  • Pula adresów IP zaplecza, w której pula frontonu wysyła ruch sieciowy ze zrównoważonym obciążeniem

  • Sonda kondycji określająca kondycję wystąpień maszyn wirtualnych zaplecza

  • Reguła modułu równoważenia obciążenia, która definiuje sposób dystrybucji ruchu do maszyn wirtualnych

Tworzenie zasobu modułu równoważenia obciążenia

Utwórz publiczny moduł równoważenia obciążenia za pomocą polecenia az network lb create:

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

Jeśli utworzony publiczny adres IP jest strefowy, określona strefa musi zostać zdefiniowana podczas tworzenia publicznego modułu równoważenia obciążenia.

  az network lb create \
    --resource-group CreatePubLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --public-ip-address myPublicIP \
    --frontend-ip-name myFrontEnd \
    --public-ip-zone 1 \
    --backend-pool-name myBackEndPool

Tworzenie sondy kondycji

Sonda kondycji sprawdza wszystkie wystąpienia maszyn wirtualnych, aby upewnić się, że mogą wysyłać ruch sieciowy.

Maszyna wirtualna z nieudanym sprawdzaniem sondy jest usuwana z modułu równoważenia obciążenia. Maszyna wirtualna jest dodawana z powrotem do modułu równoważenia obciążenia po rozwiązaniu błędu.

Utwórz sondę kondycji za pomocą polecenia az network lb probe create:

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

Tworzenie reguły modułu równoważenia obciążenia

Reguła modułu równoważenia obciążenia definiuje:

  • Konfiguracja adresu IP frontonu dla ruchu przychodzącego

  • Pula adresów IP zaplecza do odbierania ruchu

  • Wymagany port źródłowy i docelowy

Utwórz regułę modułu równoważenia obciążenia za pomocą polecenia az network lb rule create:

  az network lb rule create \
    --resource-group CreatePubLBQS-rg \
    --lb-name myLoadBalancer \
    --name myHTTPRule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name myFrontEnd \
    --backend-pool-name myBackEndPool \
    --probe-name myHealthProbe \
    --disable-outbound-snat true \
    --idle-timeout 15 \
    --enable-tcp-reset true

Tworzenie sieciowej grupy zabezpieczeń

W przypadku standardowego modułu równoważenia obciążenia maszyny wirtualne w puli zaplecza muszą mieć interfejsy sieciowe należące do sieciowej grupy zabezpieczeń.

Użyj polecenia az network nsg create , aby utworzyć sieciową grupę zabezpieczeń:

  az network nsg create \
    --resource-group CreatePubLBQS-rg \
    --name myNSG

Tworzenie reguły sieciowej grupy zabezpieczeń

Utwórz regułę sieciowej grupy zabezpieczeń przy użyciu polecenia az network nsg rule create:

  az network nsg rule create \
    --resource-group CreatePubLBQS-rg \
    --nsg-name myNSG \
    --name myNSGRuleHTTP \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

Tworzenie hosta bastionu

W tej sekcji utworzysz zasoby dla usługi Azure Bastion. Usługa Azure Bastion służy do bezpiecznego zarządzania maszynami wirtualnymi w puli zaplecza modułu równoważenia obciążenia.

Ważne

Ceny godzinowe zaczynają się od momentu wdrożenia usługi Bastion, niezależnie od użycia danych wychodzących. Aby uzyskać więcej informacji, zobacz Cennik i jednostki SKU. Jeśli wdrażasz usługę Bastion w ramach samouczka lub testu, zalecamy usunięcie tego zasobu po zakończeniu korzystania z niego.

Tworzenie publicznego adresu IP

Użyj polecenia az network public-ip create , aby utworzyć publiczny adres IP hosta bastionu. Publiczny adres IP jest używany przez hosta bastionu do bezpiecznego dostępu do zasobów maszyny wirtualnej.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionIP \
    --sku Standard \
    --zone 1 2 3

Tworzenie podsieci bastionu

Użyj polecenia az network vnet subnet create , aby utworzyć podsieć bastionu. Podsieć bastionu jest używana przez hosta bastionu w celu uzyskania dostępu do sieci wirtualnej.

  az network vnet subnet create \
    --resource-group CreatePubLBQS-rg \
    --name AzureBastionSubnet \
    --vnet-name myVNet \
    --address-prefixes 10.1.1.0/27

Tworzenie hosta bastionu

Użyj polecenia az network bastion create , aby utworzyć hosta bastionu. Host bastionu służy do bezpiecznego łączenia się z zasobami maszyny wirtualnej utworzonymi w dalszej części tego artykułu.

  az network bastion create \
    --resource-group CreatePubLBQS-rg \
    --name myBastionHost \
    --public-ip-address myBastionIP \
    --vnet-name myVNet \
    --location eastus

Wdrożenie hosta usługi Azure Bastion może potrwać kilka minut.

Tworzenie serwerów zaplecza

W tej sekcji utworzysz:

  • Dwa interfejsy sieciowe dla maszyn wirtualnych

  • Dwie maszyny wirtualne do użycia jako serwery zaplecza dla modułu równoważenia obciążenia

Tworzenie interfejsów sieciowych dla maszyn wirtualnych

Utwórz dwa interfejsy sieciowe za pomocą polecenia az network nic create:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group CreatePubLBQS-rg \
        --name $vmnic \
        --vnet-name myVNet \
        --subnet myBackEndSubnet \
        --network-security-group myNSG
  done

Tworzenie maszyn wirtualnych

Utwórz maszyny wirtualne za pomocą polecenia az vm create:

  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM1 \
    --nics myNicVM1 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 1 \
    --no-wait
  az vm create \
    --resource-group CreatePubLBQS-rg \
    --name myVM2 \
    --nics myNicVM2 \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone 2 \
    --no-wait

Wdrożenie maszyn wirtualnych może potrwać kilka minut. Podczas tworzenia maszyn wirtualnych możesz przejść do następnych kroków.

Uwaga

Platforma Azure udostępnia domyślny adres IP dostępu wychodzącego dla maszyn wirtualnych, które nie są przypisane do publicznego adresu IP lub znajdują się w puli zaplecza wewnętrznego podstawowego modułu równoważenia obciążenia platformy Azure. Domyślny mechanizm adresów IP dostępu wychodzącego zapewnia wychodzący adres IP, który nie jest konfigurowalny.

Domyślny adres IP dostępu wychodzącego jest wyłączony, gdy wystąpi jedno z następujących zdarzeń:

  • Publiczny adres IP jest przypisywany do maszyny wirtualnej.
  • Maszyna wirtualna jest umieszczana w puli zaplecza standardowego modułu równoważenia obciążenia z regułami ruchu wychodzącego lub bez tych reguł.
  • Zasób usługi Azure NAT Gateway jest przypisywany do podsieci maszyny wirtualnej.

Maszyny wirtualne tworzone przy użyciu zestawów skalowania maszyn wirtualnych w trybie elastycznej aranżacji nie mają domyślnego dostępu wychodzącego.

Aby uzyskać więcej informacji na temat połączeń wychodzących na platformie Azure, zobacz Domyślny dostęp wychodzący na platformie Azure i Używanie źródłowego tłumaczenia adresów sieciowych (SNAT) dla połączeń wychodzących.

Dodawanie maszyn wirtualnych do puli zaplecza modułu równoważenia obciążenia

Dodaj maszyny wirtualne do puli zaplecza za pomocą polecenia az network nic ip-config address-pool add:

  array=(myNicVM1 myNicVM2)
  for vmnic in "${array[@]}"
  do
    az network nic ip-config address-pool add \
     --address-pool myBackendPool \
     --ip-config-name ipconfig1 \
     --nic-name $vmnic \
     --resource-group CreatePubLBQS-rg \
     --lb-name myLoadBalancer
  done

Tworzenie bramy translatora adresów sieciowych

Aby zapewnić wychodzący dostęp do Internetu dla zasobów w puli zaplecza, utwórz bramę translatora adresów sieciowych.

Tworzenie publicznego adresu IP

Użyj polecenia az network public-ip create , aby utworzyć pojedynczy adres IP dla łączności wychodzącej.

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

Aby utworzyć strefowo nadmiarowy publiczny adres IP w strefie 1, użyj następującego polecenia:

  az network public-ip create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1

Tworzenie zasobu bramy translatora adresów sieciowych

Użyj polecenia az network nat gateway create , aby utworzyć zasób bramy translatora adresów sieciowych. Publiczny adres IP utworzony w poprzednim kroku jest skojarzony z bramą translatora adresów sieciowych.

  az network nat gateway create \
    --resource-group CreatePubLBQS-rg \
    --name myNATgateway \
    --public-ip-addresses myNATgatewayIP \
    --idle-timeout 10

Kojarzenie bramy translatora adresów sieciowych z podsiecią

Skonfiguruj podsieć źródłową w sieci wirtualnej, aby używać określonego zasobu bramy translatora adresów sieciowych za pomocą polecenia az network vnet subnet update.

  az network vnet subnet update \
    --resource-group CreatePubLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

Instalacja usług IIS

Użyj polecenia az vm extension set , aby zainstalować usługi IIS na maszynach wirtualnych i ustawić domyślną witrynę internetową na nazwę komputera.

  array=(myVM1 myVM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group CreatePubLBQS-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

Testowanie modułu równoważenia obciążenia

Aby uzyskać publiczny adres IP modułu równoważenia obciążenia, użyj polecenia az network public-ip show.

Skopiuj publiczny adres IP, a następnie wklej go na pasku adresu przeglądarki.

  az network public-ip show \
    --resource-group CreatePubLBQS-rg \
    --name myPublicIP \
    --query ipAddress \
    --output tsv

Testowanie modułu równoważenia obciążenia

Czyszczenie zasobów

Gdy grupa zasobów, moduł równoważenia obciążenia i wszystkie powiązane zasoby nie będą już potrzebne, użyj polecenia az group delete .

  az group delete \
    --name CreatePubLBQS-rg

Następne kroki

W tym przewodniku Szybki start przyjęto następujące założenia:

  • Utworzono standardowy publiczny moduł równoważenia obciążenia

  • Dołączone dwie maszyny wirtualne

  • Skonfigurowano regułę ruchu modułu równoważenia obciążenia i sondę kondycji

  • Przetestowano moduł równoważenia obciążenia

Aby dowiedzieć się więcej na temat usługi Azure Load Balancer, przejdź do: