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.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- 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
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: