Szybki start: tworzenie wewnętrznego 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ć wewnętrzny moduł równoważenia obciążenia i dwie maszyny wirtualne. Dodatkowe zasoby obejmują usługę Azure Bastion, bramę translatora adresów sieciowych, sieć wirtualną i wymagane podsieci.

Diagram zasobów wdrożonych dla wewnętrznego 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. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to logiczny kontener, w którym wdrażasz zasoby platformy Azure i zarządzasz nimi.

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

    az group create \
      --name CreateIntLBQS-rg \
      --location westus3

Podczas tworzenia wewnętrznego modułu równoważenia obciążenia sieć wirtualna jest skonfigurowana jako sieć modułu równoważenia obciążenia.

Tworzenie sieci wirtualnej

Przed wdrożeniem maszyn wirtualnych i przetestowaniem modułu równoważenia obciążenia utwórz pomocniczą sieć wirtualną i podsieć. Sieć wirtualna i podsieć zawierają zasoby wdrożone w dalszej części tego artykułu.

Utwórz sieć wirtualną przy użyciu polecenia az network vnet create.

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

Tworzenie hosta usługi Azure Bastion

W tym przykładzie utworzysz hosta usługi Azure Bastion. Host usługi Azure Bastion jest używany w dalszej części tego artykułu do bezpiecznego zarządzania maszynami wirtualnymi i testowania wdrożenia 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 bastionu

Użyj polecenia az network public-ip create , aby utworzyć publiczny adres IP hosta usługi Azure Bastion.

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

Tworzenie podsieci bastionu

Użyj polecenia az network vnet subnet create , aby utworzyć podsieć.

az network vnet subnet create \
    --resource-group CreateIntLBQS-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.

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

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

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 wewnętrzny moduł równoważenia obciążenia za pomocą polecenia az network lb create.

  az network lb create \
    --resource-group CreateIntLBQS-rg \
    --name myLoadBalancer \
    --sku Standard \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --backend-pool-name myBackEndPool \
    --frontend-ip-name myFrontEnd

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 CreateIntLBQS-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 CreateIntLBQS-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 \
    --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ń.

Aby utworzyć sieciową grupę zabezpieczeń, użyj polecenia az network nsg create.

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

Tworzenie reguły sieciowej grupy zabezpieczeń

Aby utworzyć regułę sieciowej grupy zabezpieczeń, użyj polecenia az network nsg rule create.

  az network nsg rule create \
    --resource-group CreateIntLBQS-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 serwerów zaplecza

W tej sekcji utworzysz:

  • Dwa interfejsy sieciowe dla maszyn wirtualnych

  • Dwie maszyny wirtualne do użycia jako serwery 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 CreateIntLBQS-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.

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myVM$n \
    --nics myNicVM$n \
    --image win2019datacenter \
    --admin-username azureuser \
    --zone $n \
    --no-wait
  done

Wdrożenie maszyn wirtualnych może potrwać kilka minut.

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

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

  array=(VM1 VM2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool myBackendPool \
   --ip-config-name ipconfig1 \
   --nic-name myNic$vm \
   --resource-group CreateIntLBQS-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 CreateIntLBQS-rg \
    --name myNATgatewayIP \
    --sku Standard \
    --zone 1 2 3

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 CreateIntLBQS-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 CreateIntLBQS-rg \
    --vnet-name myVNet \
    --name myBackendSubnet \
    --nat-gateway myNATgateway

Tworzenie testowej maszyny wirtualnej

Utwórz interfejs sieciowy za pomocą polecenia az network nic create.

  az network nic create \
    --resource-group CreateIntLBQS-rg \
    --name myNicTestVM \
    --vnet-name myVNet \
    --subnet myBackEndSubnet \
    --network-security-group myNSG

Utwórz maszynę wirtualną za pomocą polecenia az vm create.

  az vm create \
    --resource-group CreateIntLBQS-rg \
    --name myTestVM \
    --nics myNicTestVM \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

Może być konieczne odczekenie kilku minut na wdrożenie maszyny wirtualnej.

Instalacja usług IIS

Użyj polecenia az vm extension set , aby zainstalować usługi IIS na maszynach wirtualnych zaplecza 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 CreateIntLBQS-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

  1. Zaloguj się do witryny Azure Portal.

  2. Na stronie Przegląd znajdź prywatny adres IP modułu równoważenia obciążenia. W menu po lewej stronie wybierz pozycję Wszystkie usługi Wszystkie zasoby>>myLoadBalancer.

  3. W przeglądzie myLoadBalancer skopiuj adres obok pozycji Prywatny adres IP. Jeśli prywatny adres IP nie jest widoczny, wybierz pozycję Zobacz więcej.

  4. W menu po lewej stronie wybierz pozycję Wszystkie usługi>Wszystkie zasoby. Z listy zasobów w grupie zasobów CreateIntLBQS-rg wybierz pozycję myTestVM.

  5. Na stronie Przegląd wybierz pozycję Połączenie> Bastion.

  6. Wprowadź nazwę użytkownika i hasło wprowadzone podczas tworzenia maszyny wirtualnej.

  7. Na maszynie myTestVM otwórz program Internet Explorer.

  8. Wprowadź adres IP z poprzedniego kroku na pasku adresu przeglądarki. Domyślna strona serwera internetowego usług IIS jest wyświetlana w przeglądarce.

    Zrzut ekranu przedstawiający adres IP na pasku adresu przeglądarki.

Czyszczenie zasobów

Gdy zasoby nie są już potrzebne, użyj polecenia az group delete , aby usunąć grupę zasobów, moduł równoważenia obciążenia i wszystkie powiązane zasoby.

  az group delete \
    --name CreateIntLBQS-rg

Następne kroki

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

  • Utworzono wewnętrzny 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: