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.

Výchozí úvodní stránka NGINX

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.