Cvičení – konfigurace síťového přístupu
V tomto cvičení nakonfigurujete přístup k virtuálnímu počítači, který jste vytvořili dříve v tomto modulu.
Důležité
Sandbox Microsoft Learn by měl být pořád spuštěný. Pokud vypršel časový limit sandboxu, budete muset předchozí cvičení znovu provést (cvičení – vytvoření virtuálního počítače Azure).
Pokud chcete ověřit, jestli je virtuální počítač, který jste vytvořili dříve, stále spuštěný, použijte následující příkaz:
az vm list
Pokud obdržíte prázdnou odpověď []
, musíte znovu dokončit první cvičení v tomto modulu. Pokud výsledek zobrazí seznam aktuálního virtuálního počítače a jeho nastavení, můžete pokračovat.
Právě teď není virtuální počítač, na který jste vytvořili a nainstalovali Nginx, přístupný z internetu. Vytvoříte skupinu zabezpečení sítě, která se změní tak, že povolíte příchozí přístup HTTP na portu 80.
Úkol 1: Přístup k webovému serveru
V tomto postupu získáte IP adresu virtuálního počítače a pokusíte se o přístup k domovské stránce webového serveru.
Spuštěním následujícího příkazu
az vm list-ip-addresses
získejte IP adresu virtuálního počítače a výsledek uložte jako proměnnou Bash:IPADDRESS="$(az vm list-ip-addresses \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name my-vm \ --query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \ --output tsv)"
Spuštěním následujícího příkazu
curl
stáhněte domovskou stránku:curl --connect-timeout 5 http://$IPADDRESS
Argument
--connect-timeout
slouží k nastavení až 5sekundového časového limitu, při kterém se může připojení vytvořit. Po pěti sekundách se zobrazí chybová zpráva, která uvádí, že časový limit připojení vypršel:curl: (28) Connection timed out after 5001 milliseconds
Tato zpráva znamená, že virtuální počítač nebyl během časového limitu přístupný.
Volitelně můžete zkusit získat přístup k webovému serveru z prohlížeče:
Spusťte následující příkaz a vytiskněte IP adresu virtuálního počítače na konzolu:
echo $IPADDRESS
Uvidíte IP adresu, například 23.102.42.235.
Zobrazenou IP adresu zkopírujte do schránky.
Otevřete novou kartu prohlížeče a přejděte na webový server. Po několika okamžicích uvidíte, že připojení se neuskutečnilo. Pokud počkáte na vypršení časového limitu prohlížeče, zobrazí se něco takového:
Tuto kartu prohlížeče nechte otevřenou na později.
Úkol 2: Výpis aktuálních pravidel skupiny zabezpečení sítě
Váš webový server nebyl přístupný. Abychom zjistili důvod, podíváme se na aktuální pravidla skupiny zabezpečení sítě.
Spuštěním následujícího příkazu
az network nsg list
zobrazte seznam skupin zabezpečení sítě, které jsou přidružené k vašemu virtuálnímu počítači:az network nsg list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --query '[].name' \ --output tsv
Zobrazí se tento výstup:
my-vmNSG
Každý virtuální počítač v Azure je přidružen nejméně k jedné skupině zabezpečení sítě. V tomto případě služba Azure za vás vytvořila skupinu zabezpečení sítě s názvem my-vmNSG.
Spuštěním následujícího příkazu
az network nsg rule list
zobrazte seznam pravidel přidružených ke skupině zabezpečení sítě s názvem my-vmNSG:az network nsg rule list \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --nsg-name my-vmNSG
Ve výstupu uvidíte velký blok textu ve formátu JSON. V dalším kroku spustíte podobný příkaz, který tento výstup převede do čitelnější podoby.
Spusťte příkaz
az network nsg rule list
znovu. Tentokrát použijte argument--query
, abyste pro každé pravidlo načetli pouze název, prioritu, ovlivněné porty a přístup (Povolit nebo Odepřít). Argument--output
zformátuje výstup jako tabulku, která je čitelnější.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
Zobrazí se tento výstup:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow
Uvidíte výchozí pravidlo, default-allow-ssh. Toto pravidlo povolí příchozí připojení přes port 22 (SSH). SSH (Secure Shell) je protokol, který se používá v Linuxu a umožňuje správcům vzdálený přístup k systému. Priorita tohoto pravidla je 1000. Pravidla se zpracovávají v pořadí podle priority, přičemž nižší čísla se zpracovávají dříve než vyšší čísla.
Ve výchozím nastavení skupina zabezpečení sítě virtuálního počítače s Linuxem povoluje síťový přístup pouze na portu 22. Tento port umožňuje správcům přístup k systému. Musíte také povolit příchozí připojení na portu 80, což povolí přístup přes HTTP.
Úkol 3: Vytvoření pravidla zabezpečení sítě
Tady vytvoříte pravidlo zabezpečení sítě, které povolí příchozí přístup na portu 80 (HTTP).
Spuštěním následujícího příkazu
az network nsg rule create
vytvořte pravidlo s názvem allow-http, které umožní příchozí přístup na portu 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
V našem příkladu nastavíme pro studijní účely prioritu 100. V tomto případě na prioritě nezáleží. Prioritu byste museli vzít v úvahu, pokud byste měli překrývající se rozsahy portů.
Pokud chcete ověřit konfiguraci, spusťte příkaz
az network nsg rule list
a zobrazte aktualizovaný seznam pravidel: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
Zobrazí se jak pravidlo default-allow-ssh , tak nové pravidlo allow-http:
Name Priority Port Access ----------------- ---------- ------ -------- default-allow-ssh 1000 22 Allow allow-http 100 80 Allow
Úkol 4: Znovu přejděte na webový server
Teď, když jste nakonfigurovali síťový přístup k portu 80, se pokusíme znovu získat přístup k webovému serveru.
Poznámka:
Po aktualizaci skupiny zabezpečení sítě může chvíli trvat, než se aktualizovaná pravidla rozšíří. Opakujte další krok s pozastavením mezi pokusy, dokud nedostanete požadované výsledky.
Spusťte stejný příkaz
curl
jako předtím:curl --connect-timeout 5 http://$IPADDRESS
Zobrazí se tato odpověď:
<html><body><h2>Welcome to Azure! My name is my-vm.</h2></body></html>
Volitelně můžete aktualizovat kartu prohlížeče, která odkazuje na váš webový server. Zobrazí se domovská stránka:
Dobrá práce. V praxi můžete vytvořit samostatnou skupinu zabezpečení sítě, která zahrnuje pravidla příchozího a odchozího síťového přístupu, která potřebujete. Pokud máte více virtuálních počítačů, které slouží ke stejnému účelu, můžete danou skupinu zabezpečení sítě přiřadit k jednotlivým virtuálním počítačům při jejich vytvoření. Tento způsob vám umožní řídit síťový přístup k více virtuálním počítačům pomocí jedné centrální sady pravidel.
Vyčištění
Až tento modul dokončíte, sandbox automaticky vyčistí vámi použité prostředky.
Pokud pracujete s vlastním předplatným, je vhodné vždy na konci projektu zkontrolovat, jestli budete vytvořené prostředky ještě potřebovat. Prostředky, které necháte spuštěné, můžou stát peníze. Prostředky můžete odstraňovat jednotlivě nebo můžete odstranit skupinu prostředků, a odstranit tak celou sadu prostředků najednou.