Rövid útmutató: Nyilvános terheléselosztó létrehozása virtuális gépek terheléselosztásához az Azure CLI használatával
Az Azure Load Balancer használatának első lépései az Azure CLI használatával egy nyilvános terheléselosztó és két virtuális gép létrehozása. Ezen erőforrások mellett üzembe helyezheti az Azure Bastiont, a NAT Gatewayt, a virtuális hálózatot és a szükséges alhálózatokat.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ehhez a rövid útmutatóhoz az Azure CLI 2.0.28-s vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Erőforráscsoport létrehozása
Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.
Hozzon létre egy erőforráscsoportot az az group create használatával:
az group create \
--name CreatePubLBQS-rg \
--location eastus
Virtuális hálózat létrehozása
A virtuális gépek üzembe helyezése és a terheléselosztó tesztelése előtt hozza létre a támogató virtuális hálózatot és alhálózatot.
Hozzon létre egy virtuális hálózatot az az network vnet create használatával. A virtuális hálózat és az alhálózat tartalmazza a cikk későbbi részében üzembe helyezett erőforrásokat.
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
Hozzon létre egy nyilvános IP-címet
A webalkalmazás internetes eléréséhez a terheléselosztónak nyilvános IP-címmel kell rendelkeznie.
Az az network public-ip create használatával hozza létre a terheléselosztó előtérének nyilvános IP-címét.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1 2 3
Ha ehelyett zonális nyilvános IP-címet szeretne létrehozni az 1. zónában, használja a következő parancsot:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--sku Standard \
--zone 1
Terheléselosztó létrehozása
Ez a szakasz részletesen ismerteti a terheléselosztó következő összetevőinek létrehozását és konfigurálását:
Egy előtérbeli IP-készlet, amely fogadja a bejövő hálózati forgalmat a terheléselosztón
Egy háttérBELI IP-készlet, amelyben az előtérkészlet elküldi a terheléselosztásos hálózati forgalmat
A háttérbeli virtuálisgép-példányok állapotát meghatározó állapotadat-mintavétel
Terheléselosztó-szabály, amely meghatározza, hogyan oszlik el a forgalom a virtuális gépek között
A terheléselosztó erőforrásának létrehozása
Nyilvános terheléselosztó létrehozása az network lb create használatával:
az network lb create \
--resource-group CreatePubLBQS-rg \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool
Ha a létrehozott nyilvános IP-cím zónaalapú, a megadott zónát meg kell határozni a nyilvános terheléselosztó létrehozásakor.
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
Az állapotminta létrehozása
Az állapotadat-mintavétel ellenőrzi az összes virtuálisgép-példányt, hogy biztosan tud-e hálózati forgalmat küldeni.
A sikertelen mintavétel-ellenőrzéssel rendelkező virtuális gépek törlődnek a terheléselosztóból. A virtuális gép a hiba megoldásakor visszakerül a terheléselosztóba.
Állapotadat-mintavétel létrehozása az network lb probe create használatával:
az network lb probe create \
--resource-group CreatePubLBQS-rg \
--lb-name myLoadBalancer \
--name myHealthProbe \
--protocol tcp \
--port 80
A terheléselosztási szabály létrehozása
A terheléselosztó-szabály a következőket határozza meg:
Előtérbeli IP-konfiguráció a bejövő forgalomhoz
A háttérBELI IP-készlet a forgalom fogadásához
A szükséges forrás- és célport
Hozzon létre egy terheléselosztó-szabályt az az network lb rule create használatával:
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
Hálózati biztonsági csoport létrehozása
Standard terheléselosztó esetén a háttérkészlet virtuális gépeinek hálózati adapterekkel kell rendelkezniük, amelyek egy hálózati biztonsági csoporthoz tartoznak.
Az az network nsg create használatával hozza létre a hálózati biztonsági csoportot:
az network nsg create \
--resource-group CreatePubLBQS-rg \
--name myNSG
Biztonságicsoport-szabály létrehozása
Hozzon létre egy hálózati biztonságicsoport-szabályt az az network nsg rule create használatával:
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
Bastion-gazdagép létrehozása
Ebben a szakaszban az Azure Bastion erőforrásait hozza létre. Az Azure Bastion a terheléselosztó háttérkészletében lévő virtuális gépek biztonságos kezelésére szolgál.
Fontos
Az óránkénti díjszabás a Bastion üzembe helyezésének pillanatától kezdődik, a kimenő adathasználattól függetlenül. További információ: Díjszabás és termékváltozatok. Ha a Bastiont egy oktatóanyag vagy teszt részeként helyezi üzembe, javasoljuk, hogy a használat befejezése után törölje ezt az erőforrást.
Hozzon létre egy nyilvános IP-címet
Az az network public-ip create használatával hozzon létre nyilvános IP-címet a megerősített gazdagép számára. A nyilvános IP-címet a megerősített gazdagép használja a virtuális gép erőforrásaihoz való biztonságos hozzáféréshez.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
Megerősített alhálózat létrehozása
Az az network vnet subnet create használatával hozzon létre egy megerősített alhálózatot. A megerősített alhálózatot a megerősített gazdagép használja a virtuális hálózat eléréséhez.
az network vnet subnet create \
--resource-group CreatePubLBQS-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
Megerősített gazdagép létrehozása
Az az network bastion create használatával hozzon létre egy megerősített gazdagépet. A megerősített gazdagép biztonságosan csatlakozik a jelen cikk későbbi részében létrehozott virtuálisgép-erőforrásokhoz.
az network bastion create \
--resource-group CreatePubLBQS-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
Az Azure Bastion-gazdagép üzembe helyezése eltarthat néhány percig.
Háttérkiszolgálók létrehozása
Ebben a szakaszban a következőt hozza létre:
Két hálózati adapter a virtuális gépekhez
A terheléselosztó háttérkiszolgálójaként használandó két virtuális gép
Hálózati adapterek létrehozása a virtuális gépekhez
Hozzon létre két hálózati adaptert az az network nic create használatával:
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
Virtuális gépek létrehozása
Hozza létre a virtuális gépeket az az vm create használatával:
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
A virtuális gépek üzembe helyezése eltarthat néhány percig. A virtuális gépek létrehozása közben folytathatja a következő lépéseket.
Feljegyzés
Az Azure alapértelmezett kimenő hozzáférési IP-címet biztosít azokhoz a virtuális gépekhez, amelyek vagy nincsenek hozzárendelve nyilvános IP-címhez, vagy egy belső alapszintű Azure-terheléselosztó háttérkészletében találhatók. Az alapértelmezett kimenő hozzáférési IP-mechanizmus olyan kimenő IP-címet biztosít, amely nem konfigurálható.
Az alapértelmezett kimenő hozzáférési IP-cím le van tiltva az alábbi események egyike esetén:
- A virtuális géphez nyilvános IP-cím van hozzárendelve.
- A virtuális gép egy standard terheléselosztó háttérkészletébe kerül kimenő szabályokkal vagy anélkül.
- Egy Azure NAT Gateway-erőforrás van hozzárendelve a virtuális gép alhálózatához.
A virtuálisgép-méretezési csoportok rugalmas vezénylési módban történő használatával létrehozott virtuális gépek nem rendelkeznek alapértelmezett kimenő hozzáféréssel.
Az Azure-beli kimenő kapcsolatokról további információt az Alapértelmezett kimenő hozzáférés az Azure-ban és a Kimenő kapcsolatok forráshálózati címfordításának (SNAT) használata című témakörben talál.
Virtuális gépek hozzáadása a terheléselosztó háttérkészletéhez
Adja hozzá a virtuális gépeket a háttérkészlethez az 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
NAT-átjáró létrehozása
Ha kimenő internet-hozzáférést szeretne biztosítani a háttérkészlet erőforrásaihoz, hozzon létre egy NAT-átjárót.
Nyilvános IP-cím létrehozása
Az az network public-ip create használatával hozzon létre egyetlen IP-címet a kimenő kapcsolathoz.
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1 2 3
Ha ehelyett zónaredundáns nyilvános IP-címet szeretne létrehozni az 1. zónában, használja a következő parancsot:
az network public-ip create \
--resource-group CreatePubLBQS-rg \
--name myNATgatewayIP \
--sku Standard \
--zone 1
NAT-átjáró-erőforrás létrehozása
Az az network nat gateway create használatával hozza létre a NAT-átjáró erőforrását. Az előző lépésben létrehozott nyilvános IP-cím a NAT-átjáróhoz van társítva.
az network nat gateway create \
--resource-group CreatePubLBQS-rg \
--name myNATgateway \
--public-ip-addresses myNATgatewayIP \
--idle-timeout 10
NAT-átjáró társítása alhálózattal
Konfigurálja a virtuális hálózat forrásalhálózatát úgy, hogy egy adott NAT-átjáróerőforrást használjon az az network vnet alhálózati frissítéssel.
az network vnet subnet update \
--resource-group CreatePubLBQS-rg \
--vnet-name myVNet \
--name myBackendSubnet \
--nat-gateway myNATgateway
Az IIS telepítése
Az az vm extension set használatával telepítse az IIS-t a virtuális gépekre, és állítsa be az alapértelmezett webhelyet a számítógép nevére.
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
A terheléselosztó tesztelése
A terheléselosztó nyilvános IP-címének lekéréséhez használja az az network public-ip show parancsot.
Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába.
az network public-ip show \
--resource-group CreatePubLBQS-rg \
--name myPublicIP \
--query ipAddress \
--output tsv
Az erőforrások eltávolítása
Ha már nincs rá szükség, az az group delete paranccsal távolítsa el az erőforráscsoportot, a terheléselosztót és az összes kapcsolódó erőforrást.
az group delete \
--name CreatePubLBQS-rg
Következő lépések
Ebben a rövid útmutatóban:
Létrehozott egy szabványos nyilvános terheléselosztót
Csatolt két virtuális gép
A terheléselosztó forgalmi szabályának és állapotmintájának konfigurálása
A terheléselosztó tesztelése
Az Azure Load Balancerről a következő témakörben olvashat bővebben: