Rychlý start: Vytvoření virtuálního počítače s Linuxem v Azure pomocí PowerShellu
Platí pro: ✔️ Virtuální počítače s Linuxem
Modul Azure PowerShell slouží k vytváření a správě prostředků Azure z příkazového řádku PowerShellu nebo ve skriptech. V tomto rychlém startu se dozvíte, jak pomocí modulu Azure PowerShell nasadit do Azure virtuální počítač s Linuxem. V tomto rychlém startu se používá image z Marketplace Ubuntu 18.04 LTS od společnosti Canonical. Také se k virtuálnímu počítači připojíte přes SSH a nainstalujete na něj webový server NGINX, abyste virtuální počítač viděli v akci.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Spuštění služby Azure Cloud Shell
Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.
Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Zkopírujte bloky kódu výběrem možnosti Kopírovat, vložte je do služby Cloud Shell a potom je spusťte stisknutím klávesy Enter.
Vytvoření páru klíčů SSH
K vytvoření páru klíčů SSH použijte ssh-keygen. Pokud už máte pár klíčů SSH, můžete tento krok přeskočit.
ssh-keygen -t rsa -b 4096
Zobrazí se výzva k zadání názvu souboru pro pár klíčů nebo můžete stisknutím klávesy Enter použít výchozí umístění /home/<username>/.ssh/id_rsa . Pokud chcete, budete také moct pro klíče vytvořit heslo.
Podrobnější informace o vytváření párů klíčů SSH najdete v tématu Použití klíčů SSHs Windows .
Pokud pár klíčů SSH vytvoříte pomocí Cloud Shell, uloží se do účtu úložiště, který automaticky vytvoří Cloud Shell . Účet úložiště ani v ní sdílené složky odstraňte, dokud nenačítáte klíče, jinak ztratíte přístup k virtuálnímu počítači.
Vytvoření skupiny prostředků
Vytvořte skupinu prostředků Azure pomocí příkazu New-AzResourceGroup. Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure:
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Vytvoření prostředků virtuální sítě
Vytvořte virtuální síť, podsíť a veřejnou IP adresu. Tyto prostředky zajišťují síťového připojení k virtuálnímu počítači a jeho připojení k internetu:
# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name "mySubnet" `
-AddressPrefix 192.168.1.0/24
# Create a virtual network
$vnet = New-AzVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-Name "myVNET" `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
# Create a public IP address and specify a DNS name
$pip = New-AzPublicIpAddress `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4 `
-Name "mypublicdns$(Get-Random)"
Vytvořte pravidlo skupiny zabezpečení sítě Azure a provozu. Skupina zabezpečení sítě zabezpečuje virtuální počítač pomocí příchozích a odchozích pravidel. V následujícím příkladu se vytvoří příchozí pravidlo pro port TCP 22, který umožňuje připojení SSH. Za účelem povolení příchozí webových přenosů se také vytvoří příchozí pravidlo pro TCP port 80.
# Create an inbound network security group rule for port 22
$nsgRuleSSH = New-AzNetworkSecurityRuleConfig `
-Name "myNetworkSecurityGroupRuleSSH" `
-Protocol "Tcp" `
-Direction "Inbound" `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 22 `
-Access "Allow"
# Create an inbound network security group rule for port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig `
-Name "myNetworkSecurityGroupRuleWWW" `
-Protocol "Tcp" `
-Direction "Inbound" `
-Priority 1001 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access "Allow"
# Create a network security group
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-Name "myNetworkSecurityGroup" `
-SecurityRules $nsgRuleSSH,$nsgRuleWeb
Vytvořte virtuální síťovou kartu (NIC) pomocí příkazu New-AzNetworkInterface. Virtuální síťová karta připojí virtuální počítač k podsíti, skupině zabezpečení sítě a veřejné IP adrese.
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzNetworkInterface `
-Name "myNic" `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
Vytvoření virtuálního počítače
Pokud chcete vytvořit virtuální počítač v PowerShellu, vytvoříte konfiguraci obsahující nastavení, jako jsou image, která se má použít, velikost a možnosti ověřování. Tato konfigurace se pak použije k vytvoření virtuálního počítače.
Definujte přihlašovací údaje SSH, informace o operačním systému a velikost virtuálního počítače. V tomto příkladu je klíč SSH uložený v souboru ~/.ssh/id_rsa.pub.
# Define a credential object
$securePassword = ConvertTo-SecureString ' ' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("azureuser", $securePassword)
# Create a virtual machine configuration
$vmConfig = New-AzVMConfig `
-VMName "myVM" `
-VMSize "Standard_D1_v2" | `
Set-AzVMOperatingSystem `
-Linux `
-ComputerName "myVM" `
-Credential $cred `
-DisablePasswordAuthentication | `
Set-AzVMSourceImage `
-PublisherName "Canonical" `
-Offer "UbuntuServer" `
-Skus "18.04-LTS" `
-Version "latest" | `
Add-AzVMNetworkInterface `
-Id $nic.Id
# Configure the SSH key
$sshPublicKey = cat ~/.ssh/id_rsa.pub
Add-AzVMSshPublicKey `
-VM $vmconfig `
-KeyData $sshPublicKey `
-Path "/home/azureuser/.ssh/authorized_keys"
Teď zkombinujte předchozí definice konfigurace a vytvořte je pomocí příkazu New-AzVM:
New-AzVM `
-ResourceGroupName "myResourceGroup" `
-Location eastus -VM $vmConfig
Nasazení virtuálního počítače bude několik minut trvat. Po dokončení nasazení se přesuňte k další části.
Poznámka
Azure poskytuje výchozí IP adresu odchozího přístupu pro Azure Virtual Machines, které nemají přiřazenou veřejnou IP adresu nebo jsou v back-endového fondu interního virtuálního počítače Azure Load Balancer. Výchozí mechanismus IP adresy odchozího přístupu poskytuje odchozí IP adresu, která není konfigurovatelná.
Další informace o výchozím odchozím přístupu najdete v tématu Výchozí odchozí přístup v Azure.
Výchozí IP adresa odchozího přístupu je zakázaná, když je virtuálnímu počítači přiřazena veřejná IP adresa nebo je virtuální počítač umístěn do back-endového fondu služby Standard Load Balancer s odchozími pravidly nebo bez nich. Pokud je Překlad adres služby Azure Virtual Network virtuální počítač přiřazený k podsíti virtuálního počítače, výchozí IP adresa odchozího přístupu je zakázaná.
Virtuální počítače vytvořené škálovacími sadami virtuálních počítačů v režimu flexibilní orchestrace nemají výchozí odchozí přístup.
Další informace o odchozích připojeních v Azure najdete v tématu Použití překladu zdrojových adres (SNAT) pro odchozí připojení.
Připojení k virtuálnímu počítači
Vytvořte k virtuálnímu počítači připojení SSH s použitím jeho veřejné IP adresy. Pokud chcete zobrazit veřejnou IP adresu virtuálního počítače, použijte rutinu Get-AzPublicIpAddress:
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select "IpAddress"
Pomocí stejného prostředí, které jste použili k vytvoření páru klíčů SSH, vložte do prostředí následující příkaz, který vytvoří relaci SSH. Nahraďte 10.111.12.123 IP adresou vašeho virtuálního počítače.
ssh azureuser@10.111.12.123
Po zobrazení výzvy zadejte uživatelské jméno azureuser. Pokud u klíčů SSH používáte heslo, musíte ho zadat po zobrazení výzvy.
Instalace serveru NGINX
Pokud se chcete podívat na virtuální počítač v akci, nainstalujte webový server NGINX. V relaci SSH aktualizujte zdroje balíčku a pak nainstalujte nejnovější balíček NGINX.
sudo apt-get -y update
sudo apt-get -y install nginx
Až budete hotovi, zadáním příkazu exit ukončete relaci SSH.
Zobrazení webového serveru v akci
V libovolném webovém prohlížeči zobrazte výchozí úvodní stránku serveru NGINX. Jako webovou adresu zadejte veřejnou IP adresu virtuálního počítače. Veřejnou IP adresu najdete na stránce přehledu virtuálního počítače nebo v připojovacím řetězci SSH, který jste použili dříve.

Vyčištění prostředků
Pokud už je nepotřebujete, můžete k odebrání skupiny prostředků, virtuálního počítače a všech souvisejících prostředků použít rutinu Remove-AzResourceGroup:
Remove-AzResourceGroup -Name "myResourceGroup"
Další kroky
V tomto rychlém startu jste nasadili jednoduchý virtuální počítač, vytvořili jste skupinu zabezpečení sítě a pravidlo a nainstalovali jste základní webový server. Další informace o virtuálních počítačích Azure najdete v kurzu pro virtuální počítače s Linuxem.