Snabbstart: Skapa en virtuell Linux-dator i Azure med PowerShell
Gäller för: ✔️ Virtuella Linux-datorer
Azure PowerShell-modulen används för att skapa och hantera Azure-resurser från PowerShell-kommandoraden eller i skript. Den här snabbstarten beskriver hur du använder Azure PowerShell-modulen för att distribuera en virtuell Linux-dator (VM) i Azure. I den här snabbstarten används Ubuntu 18.04 LTS Marketplace-avbildningen från Canonical. För att se hur den virtuella datorn fungerar i praktiken använder du sedan SSH för att ansluta till den virtuella datorn och installerar NGINX-webbservern.
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Starta Azure Cloud Shell
Azure Cloud Shell är ett interaktivt gränssnitt som du kan använda för att utföra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.
Om du vill öppna Cloud Shell väljer du bara Prova från det övre högra hörnet i ett kodblock. Kopiera kodblocket genom att välja Kopiera, klistra in det i Cloud Shell och kör det genom att trycka på RETUR.
Skapa SSH-nyckelpar
Använd ssh-keygen för att skapa ett SSH-nyckelpar. Om du redan har ett SSH-nyckelpar kan du hoppa över det här steget.
ssh-keygen -t rsa -b 4096
Du uppmanas att ange ett filnamn för nyckelparet eller så kan du trycka på Retur för att använda standardplatsen för /home/<username>/.ssh/id_rsa . Du kommer också att kunna skapa ett lösenord för nycklarna om du vill.
Mer detaljerad information om hur du skapar SSH-nyckelpar finns i Använda SSH-nycklar med Windows.
Om du skapar ditt SSH-nyckelpar med Cloud Shell lagras det i ett lagringskonto som skapas automatiskt av Cloud Shell. Ta inte bort lagringskontot eller filresursen i det förrän du har hämtat dina nycklar, annars förlorar du åtkomsten till den virtuella datorn.
Skapa en resursgrupp
Skapa en Azure-resursgrupp med New-AzResourceGroup. En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras:
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Skapa virtuella nätverksresurser
Skapa ett virtuellt nätverk, undernät och offentlig IP-adress. Dessa resurser används för att tillhandahålla nätverksanslutning till den virtuella datorn och ansluta den till Internet:
# 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)"
Skapa en Azure-nätverkssäkerhetsgrupp och trafikregel. Nätverkssäkerhetsgruppen skyddar den virtuella datorn med regler för inkommande och utgående trafik. I följande exempel skapas en regel för inkommande trafik för TCP-port 22 som tillåter SSH-anslutningar. För att tillåta inkommande webbtrafik skapas också en regel för inkommande trafik för 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
Skapa ett virtuellt nätverkskort (NIC) med New-AzNetworkInterface. Det virtuella nätverkskortet ansluter den virtuella datorn till ett undernät, en nätverkssäkerhetsgrupp och en offentlig IP-adress.
# 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
Skapa en virtuell dator
Om du vill skapa en virtuell dator i PowerShell skapar du en konfiguration som har inställningar som avbildningen för alternativ för användning, storlek och autentisering. Konfigurationen används sedan till att skapa den virtuella datorn.
Definiera SSH-autentiseringsuppgifterna, informationen om operativsystemet och VM-storleken. I det här exemplet lagras SSH-nyckeln i ~/.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"
Kombinera de tidigare konfigurationsdefinitionerna för att skapa den virtuella datorn med New-AzVM:
New-AzVM `
-ResourceGroupName "myResourceGroup" `
-Location eastus -VM $vmConfig
Det tar några minuter för den virtuella datorn att distribueras. När distributionen är klar kan du gå vidare till nästa avsnitt.
Anteckning
Azure tillhandahåller en standard-IP för utgående åtkomst för Azure Virtual Machines som inte är tilldelade en offentlig IP-adress eller finns i backend-poolen för en intern Basic-Azure Load Balancer. Standardmekanismen för utgående åtkomst-IP ger en utgående IP-adress som inte kan konfigureras.
Mer information om standardutgående åtkomst finns i Standard för utgående åtkomst i Azure
Standard-IP för utgående åtkomst är inaktiverat när en offentlig IP-adress tilldelas till den virtuella datorn, eller om den virtuella datorn placeras i serverpoolen för en Standard Load Balancer med eller utan regler för utgående trafik. Om en Azure Virtual Network NAT gateway-resurs har tilldelats till undernätet för den virtuella datorn inaktiveras standard-IP för utgående åtkomst.
Virtuella datorer som skapats av VM-skalningsuppsättningar i läget Flexibel orkestrering har inte utgående standardåtkomst.
Mer information om utgående anslutningar i Azure finns i Använda källnätverksadressöversättning (SNAT) för utgående anslutningar.
Anslut till VM:en
Skapa en SSH-anslutning med den virtuella datorn med hjälp av en offentlig IP-adress. Du hämtar den virtuella datorns offentliga IP-adress genom att köra cmdleten Get-AzPublicIpAddress:
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select "IpAddress"
Använd samma gränssnitt som du använde för att skapa SSH-nyckelparet och klistra in följande kommando i gränssnittet för att skapa en SSH-session. Ersätt 10.111.12.123 med IP-adressen för den virtuella datorn.
ssh azureuser@10.111.12.123
När du får en uppmaning är azureuser användarnamnet för inloggningen. Om du använder en lösenfras med dina SSH-nycklar måste du ange den när du uppmanas att göra det.
Installera NGINX
Om du vill se hur den virtuella datorn fungerar i praktiken installerar du NGINX-webbservern. Från din SSH-session uppdaterar du dina paketkällor och installera det senaste NGINX-paketet.
sudo apt-get -y update
sudo apt-get -y install nginx
När du är klar avslutar du SSH-sessionen genom att skriva exit.
Se hur webbservern fungerar i praktiken
Använd valfri webbläsare för att visa välkomstsidan för NGINX. Ange den virtuella datorns offentliga IP-adress som webbadress. Den offentliga IP-adressen kan hittas på översiktssidan för den virtuella datorn eller som en del av SSH-anslutningssträngen du använde tidigare.

Rensa resurser
När de inte längre behövs använder du cmdleten Remove-AzResourceGroup för att ta bort resursgruppen, den virtuella datorn och alla relaterade resurser:
Remove-AzResourceGroup -Name "myResourceGroup"
Nästa steg
I den här snabbstarten distribuerade du en enkel virtuell dator, skapade en nätverkssäkerhetsgrupp och en regel och installerade en enkel webbserver. Om du vill veta mer om virtuella Azure-datorer fortsätter du till självstudien för virtuella Linux-datorer.