Övning – Konfigurera nätverksåtkomst
I den här övningen konfigurerar du åtkomsten till den virtuella datorn (VM) som du skapade tidigare i den här modulen.
Viktigt!
Sandbox-miljön för Microsoft Learn bör fortfarande köras. Om tidsgränsen för sandbox-miljön överskrids måste du göra om föregående övning (Övning – Skapa en virtuell Azure-dator).
Om du vill kontrollera att den virtuella dator som du skapade tidigare fortfarande körs använder du följande kommando:
az vm list
Om du får ett tomt svar []
måste du slutföra den första övningen i den här modulen igen. Om resultatet visar din aktuella virtuella dator och dess inställningar kan du fortsätta.
Just nu är den virtuella dator som du skapade och installerade Nginx på inte tillgänglig från Internet. Du skapar en nätverkssäkerhetsgrupp som ändrar det genom att tillåta inkommande HTTP-åtkomst på port 80.
Uppgift 1: Få åtkomst till webbservern
I den här proceduren hämtar du IP-adressen till din virtuella dator och försöker öppna webbserverns startsida.
Kör följande
az vm list-ip-addresses
-kommando för att hämta den virtuella datorns IP-adress och lagra resultatet som en Bash-variabel:IPADDRESS="$(az vm list-ip-addresses \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name my-vm \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)"
Kör följande
curl
-kommando för att ladda ned startsidan:curl --connect-timeout 5 http://$IPADDRESS
Argumentet
--connect-timeout
tillåter att det kan ta upp till fem sekunder innan anslutningen sker. Efter fem sekunder visas ett felmeddelande om att tidsgränsen för anslutningen uppnåddes:curl: (28) Connection timed out after 5001 milliseconds
Det här meddelandet innebär att den virtuella datorn inte var tillgänglig inom tidsgränsen.
Som ett valfritt steg kan du försöka öppna webbservern från en webbläsare:
Kör följande för att skriva den virtuella datorns IP-adress till konsolen:
echo $IPADDRESS
En IP-adress visas, till exempel 23.102.42.235.
Kopiera IP-adressen som du ser till Urklipp.
Öppna en ny webbläsarflik och gå till webbservern. Efter en liten stund ser du att anslutningen inte utförs. Om du väntar tills webbläsaren överskrider tidsgränsen ser du något som liknar detta:
Låt den här webbläsarfliken vara öppen för senare användning.
Uppgift 2: Lista de aktuella reglerna för nätverkssäkerhetsgruppen
Webbservern gick inte att nå. För att ta reda på varför, ska vi undersöka dina aktuella NSG-regler.
Kör följande
az network nsg list
-kommando för att visa en lista med de nätverkssäkerhetsgrupper som är associerade med den virtuella datorn:az network nsg list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --query '[].name' \ --output tsv
Du ser följande utdata:
my-vmNSG
Alla virtuella datorer i Azure är associerade med minst en nätverkssäkerhetsgrupp. I det här fallet skapade Azure en NSG åt dig med namnet my-vmNSG.
Kör följande
az network nsg rule list
-kommando för att visa en lista med de regler som är associerade med NSG:n som heter my-vmNSG:az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG
Du ser ett stort block med text i JSON-format i utdatan. I nästa steg ska du köra ett liknande kommando som gör utdatan enklare att läsa.
Kör
az network nsg rule list
-kommandot en gång till. Den här gången använder du argumentet--query
för att endast hämta namn, prioritet, berörda portar och åtkomst (Tillåt eller Neka) för varje regel. Argumentet--output
formaterar utdatan som en tabell för att den ska vara lätt att läsa.az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \ --output table
Du ser följande utdata:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow
Standardregeln standard-allow-ssh visas. Den här regeln tillåter inkommande anslutningar via port 22 (SSH). SSH (Secure Shell) är ett protokoll som används i Linux för att administratörer ska kunna fjärransluta till systemet. Regelns prioritet är 1000. Reglerna bearbetas i prioritetsordning, där lägre tal bearbetas före högre tal.
Som standard tillåter en virtuell Linux-dators nätverkssäkerhetsgrupp endast nätverksåtkomst på port 22. Den här porten gör det möjligt för administratörer att komma åt systemet. Du måste också tillåta inkommande anslutningar på port 80, som tillåter åtkomst via HTTP.
Uppgift 3: Skapa nätverkssäkerhetsregeln
Här skapar du en nätverkssäkerhetsregel som tillåter inkommande åtkomst på port 80 (HTTP).
Kör följande
az network nsg rule create
-kommando för att skapa en regel med namnet allow-http som tillåter inkommande åtkomst på port 80:az network nsg rule create \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --name allow-http \ --protocol tcp \ --priority 100 \ --destination-port-range 80 \ --access Allow
I utbildningssyfte ska du ange prioriteten till 100. I det här fallet spelar prioriteten ingen roll. Du skulle behöva ta hänsyn till prioriteten om du hade överlappande portintervall.
Kontrollera konfigurationen genom att köra
az network nsg rule list
för att se den uppdaterade listan med regler:az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG \ --query '[].{Name:name, Priority:priority, Port:destinationPortRange, Access:access}' \ --output table
Du ser både regeln default-allow-ssh och den nya regeln allow-http:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow allow-http 100 80 Allow
Uppgift 4: Få åtkomst till webbservern igen
Nu när du har konfigurerat nätverksåtkomst till port 80 ska vi försöka komma åt webbservern en andra gång.
Kommentar
När du har uppdaterat NSG kan det ta en stund innan de uppdaterade reglerna sprids. Försök igen i nästa steg, med pauser mellan försöken, tills du får önskat resultat.
Kör samma
curl
-kommando som du körde tidigare:curl --connect-timeout 5 http://$IPADDRESS
Du ser det här svaret:
<html><body><h2>Welcome to Azure! My name is my-vm.</h2></body></html>
Som ett valfritt steg kan du uppdatera webbläsarens flik som pekar på din webbserver. Startsidan visas:
Bra jobbat. I praktiken kan du skapa en fristående nätverkssäkerhetsgrupp som innehåller de regler för inkommande och utgående nätverksåtkomst som du behöver. Om du har flera virtuella datorer med samma syfte, kan du tilldela nätverkssäkerhetsgruppen till varje virtuell dator när du skapar den. Med den här metoden kan du styra nätverksåtkomsten till flera virtuella datorer i en enda central uppsättning med regler.
Rensa
Sandbox-miljön rensar automatiskt resurserna när du är klar med den här modulen.
När du arbetar i din egen prenumeration kan det dock vara klokt att i slutet av ett projekt kontrollera om du fortfarande behöver de resurser som du skapade. Resurser som du lämnar igång kan kosta pengar. Du kan ta bort enstaka resurser eller hela resursgruppen om du vill ta bort alla resurser.