Oefening: websites maken
In deze oefening maakt u een paar virtuele machines achter een interne load balancer en installeert u de web-app voor voertuigregistratie. U configureert ook een virtueel netwerk met een privé-eindpunt dat Front Door kan gebruiken om privé verbinding te maken met de virtuele machines. Ten slotte implementeert u de website voor het verlengen van licenties naar een exemplaar van Azure-app Service en maakt u ook een privéverbinding met Front Door.
Virtuele machines maken en implementeren op de site voor voertuigregistratie
Open Azure Cloud Shell in uw browser en meld u aan bij de map met toegang tot het abonnement waarin u resources wilt maken.
Voer de volgende opdracht uit in de Cloud Shell om een variabele te maken voor het opslaan van de naam van de resourcegroep en een resourcegroep voor uw resources. Vervang
<resource group name>
door een naam voor de resourcegroep en<location>
door de Azure-regio waarin u uw resources wilt implementeren.Notitie
Als u de locatienaam moet opzoeken, kunt u de volgende opdracht gebruiken: az account list-locations -o table
RG=<resource group name> az group create --name $RG --location <location>
Voer in het Cloud Shell-venster aan de rechterkant de volgende opdracht in. Voor deze opdracht wordt de Azure-opdrachtregelinterface gebruikt om een virtueel netwerk te maken met de naam
vehicleappvnet
. Dit is een privénetwerk dat adressen biedt in het bereik 10.0.0.0 tot en met 10.0.255.255. Met de opdracht wordt ook een subnet gemaakt met de naamwebServerSubnet
, met het adresbereik 10.0.1.0 tot en met 10.0.1.255. Dit subnet bevat de virtuele machines.az network vnet create \ --resource-group $RG \ --name vehicleAppVnet \ --address-prefixes 10.0.0.0/16 \ --subnet-name webServerSubnet \ --subnet-prefixes 10.0.1.0/24
Voer de volgende opdracht uit om het script te downloaden waarmee de virtuele machines worden gemaakt.
git clone https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway module-files
Maak tijdens het maken een netwerkbeveiligingsgroep (NSG) en NSG-regel die van toepassing is op de webservers.
az network nsg create \ --resource-group $RG \ --name webNSG az network nsg rule create \ --resource-group $RG \ --nsg-name webNSG \ --name myNSGRuleHTTP \ --protocol '*' \ --direction inbound \ --source-address-prefix '*' \ --source-port-range '*' \ --destination-address-prefix '*' \ --destination-port-range 80 \ --access allow \ --priority 200
Voer de volgende opdrachten uit om de virtuele machines te maken en configureren voor de webservers. De virtuele machines heten
webServer1
enwebServer2
. Op elke virtuele machine wordt Ubuntu Server uitgevoerd. Er wordt een gebruikersaccount met beheerdersrechten gemaakt voor elke virtuele machine, met de gebruikersnaamazureuser
. Op beide virtuele machines is de web-app voor voertuigregistratie geïnstalleerd.De eerste opdracht wordt asynchroon uitgevoerd, zodat beide virtuele machines tegelijk kunnen worden gemaakt.
az vm create \ --resource-group $RG \ --name webServer1 \ --image Ubuntu2204 \ --admin-username azureuser \ --generate-ssh-keys \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --public-ip-address "" \ --nsg webNSG \ --custom-data module-files/scripts/vmconfig.sh \ --no-wait az vm create \ --resource-group $RG \ --name webServer2 \ --image Ubuntu2204 \ --admin-username azureuser \ --generate-ssh-keys \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --public-ip-address "" \ --nsg webNSG \ --custom-data module-files/scripts/vmconfig.sh
Voer de volgende opdracht uit om te controleren of beide virtuele machines tegelijk zijn gemaakt.
az vm list \ --resource-group $RG \ --show-details \ --output table
De uitvoer ziet er als volgt uit. Controleer, voordat u doorgaat, of de PowerState voor beide virtuele machines VM uitgevoerd is.
Name ResourceGroup PowerState PublicIps Fqdns Location Zones ------------ ----------------- ------------ ----------- ------- -------------- ------- webServer1 MyResourceGroup VM running southcentralus webServer2 MyResourceGroup VM running southcentralus
Een interne load balancer maken en virtuele machines toevoegen aan de back-endpool
Voer de volgende opdracht uit om een interne load balancer-resource te maken.
az network lb create \ --resource-group $RG \ --name webServerILB \ --sku standard \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --frontend-ip-name webServerIP \ --backend-pool-name webServerBackendPool
Voer de volgende opdracht uit om een statustest te maken om de beschikbaarheid van elk VM-exemplaar te controleren.
az network lb probe create \ --resource-group $RG \ --lb-name webServerILB \ --name webServerHealthProbe \ --protocol tcp \ --port 80
Voer de volgende opdracht uit om een taakverdelingsregel te maken om verkeer naar de webservers te distribueren.
az network lb rule create \ --resource-group $RG \ --lb-name webServerILB \ --name myHTTPRule \ --protocol tcp \ --frontend-port 80 \ --backend-port 80 \ --frontend-ip-name webServerIP \ --backend-pool-name webServerBackendPool \ --probe-name webServerHealthProbe \ --idle-timeout 15 \ --enable-tcp-reset true
Voer de volgende opdrachten uit om beide webservers toe te voegen aan de back-endpool van de interne load balancer.
az network nic ip-config address-pool add \ --address-pool webServerBackendPool \ --lb-name webServerILB \ --ip-config-name ipconfigwebServer1 \ --nic-name webServer1VMNic \ --resource-group $RG az network nic ip-config address-pool add \ --address-pool webServerBackendPool \ --lb-name webServerILB \ --ip-config-name ipconfigwebServer2 \ --nic-name webServer2VMNic \ --resource-group $RG
Een private link-service en een privé-eindpunt maken
De Private Link-service is vereist om privécommunicatie tot stand te brengen tussen Front Door en de bronresources. Een privé-eindpunt is waarmee Front Door een verbinding tot stand brengt om een interne verbinding te bereiken via het Microsoft-netwerk.
Voer de volgende opdrachten uit om een Private Link-service te maken en deze te koppelen aan de interne load balancer. Met de eerste opdracht wordt het netwerkbeleid voor private link op het subnet uitgeschakeld, zodat de private link-service kan worden gemaakt.
az network vnet subnet update \ --name webServerSubnet \ --resource-group $RG \ --vnet-name vehicleAppVnet \ --disable-private-link-service-network-policies true az network private-link-service create \ --resource-group $RG \ --name myPrivateLinkService \ --vnet-name vehicleAppVnet \ --subnet webServerSubnet \ --lb-name webServerILB \ --lb-frontend-ip-configs webServerIP
Voer de volgende opdrachten uit om het privé-eindpunt in een virtueel netwerk te maken. Aanvragen voor het tot stand brengen van connectiviteit met dit privé-eindpunt worden automatisch goedgekeurd.
export resourceid=$(az network private-link-service show \ --name myPrivateLinkService \ --resource-group $RG \ --query id \ --output tsv) az network private-endpoint create \ --connection-name myPEconnectiontoPLS \ --name myPrivateEndpoint \ --private-connection-resource-id $resourceid \ --resource-group $RG \ --subnet webServerSubnet \ --manual-request false \ --vnet-name vehicleAppVnet
U hebt nu de virtuele machines gemaakt waarop de web-app voor voertuigregistratie wordt uitgevoerd. Beide virtuele machines zijn identiek en maken deel uit van hetzelfde virtuele netwerk. U hebt ook een private link-service en een privé-eindpunt ingesteld voor toegang tot de virtuele machines achter een interne load balancer.
Een app-service maken en de site voor het verlengen van licenties implementeren
Als u wilt starten, voert u de volgende opdracht uit om een unieke naam voor de website te genereren.
APPSERVICE="licenserenewal$RANDOM"
Voer vervolgens de volgende opdracht uit om een App Service-plan te maken voor de web-app die moet worden gebruikt.
az appservice plan create \ --resource-group $RG \ --name vehicleAppServicePlan \ --location eastus \ --sku FREE
Als laatste maakt u de web-app en implementeert u de site voor het verlengen van licenties.
az webapp create \ --resource-group $RG \ --name $APPSERVICE \ --plan vehicleAppServicePlan \ --deployment-source-url https://github.com/MicrosoftDocs/mslearn-load-balance-web-traffic-with-application-gateway \ --deployment-source-branch appService
Laten we nu eens kijken naar het configureren van Front Door.