Övning – Skapa en Azure-resurs interaktivt med Azure PowerShell

Slutförd

I det ursprungliga scenariot måste du skapa virtuella datorer (VM) för att testa crm-programvaran (Customer Relationship Management). När en ny version är tillgänglig vill du starta en ny virtuell dator för att testa hela installationsupplevelsen från en ren avbildning. När testningen är klar kan du ta bort den virtuella datorn.

Nu ska vi prova kommandona för att skapa en virtuell dator.

Skapa en virtuell Linux-dator med Azure PowerShell

Eftersom du använder Sandbox-miljön i Azure behöver du inte skapa en resursgrupp. Använd i stället den befintliga sandbox-resursgruppen [resursgruppsnamn för sandbox-miljö]. Tänk på platsbegränsningarna.

Så här skapar du en ny virtuell Azure-dator med Azure PowerShell:

  1. Använd cmdleten New-AzVM för att skapa den virtuella datorn.

    • Ange sandbox-resursgruppen: [resursgruppsnamn för sandbox-miljö].

    • Namnge den virtuella datorn enligt organisationens namngivningsstandarder.

    • Välj en plats nära dig i listan över tillgängliga Azure Sandbox-platser.

      • westus2
      • USA, södra centrala
      • centralus
      • eastus
      • Europa, västra
      • Asien, sydöstra
      • Japan, östra
      • Brasilien, södra
      • Australien, sydöstra
      • centralindia
    • Använd Ubuntu Linux-avbildningen: Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest.

    • Använd cmdleten Get-Credential för att ange autentiseringsuppgifterna för den virtuella datorns administratör.

    • Lägg till parametern OpenPorts med port 22 för SSH-åtkomst.

    • Skapa ett offentligt IP-adressnamn för SSH-inloggning.

    $azVmParams = @{
        ResourceGroupName   = '<rgn>[sandbox resource group name]</rgn>'
        Name                = 'testvm-eus-01'
        Credential          = (Get-Credential)
        Location            = 'eastus'
        Image               = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
        OpenPorts           = 22
        PublicIpAddressName = 'testvm-eus-01'
    }
    New-AzVm @azVmParams
    

    Dricks

    Du kan använda knappen Kopiera till att kopiera kommandon till Urklipp. Om du vill klistra in högerklickar du på en ny rad i Cloud Shell-terminalen och väljer Klistra in eller använder kortkommandot Skift+Insert (⌘+V på macOS).

  2. Ange autentiseringsuppgifter:

    När du uppmanas till det anger du ett användarnamn och lösenord enligt riktlinjerna: lösenord måste vara 12–123 tecken långa och uppfylla tre av följande fyra komplexitetskrav: gemener, versaler, siffror och specialtecken (Regex matchar [\W_]). Mer information finns i Vanliga frågor och svar om virtuella Linux-datorer.

  3. Vänta tills den virtuella datorn har skapats:

    Det tar några minuter att skapa den virtuella datorn.

  4. Fråga den virtuella datorn:

    När du är klar frågar du den virtuella datorn och tilldelar VM-objektet till en variabel ($vm).

    $vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    
  5. Visa information om den virtuella datorn:

    Om du vill visa information om den virtuella datorn visar du innehållet i variabeln.

    $vm
    

    Exempel på utdata>

    ResourceGroupName : <rgn>[sandbox resource group name]</rgn>
    Id                : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rgn>[sandbox resource group name]</rgn>/providers/Microsoft.Compute/virtualMachines/testvm-eus-01
    VmId              : 00000000-0000-0000-0000-000000000000
    Name              : testvm-eus-01
    Type              : Microsoft.Compute/virtualMachines
    Location          : eastus
    Tags              : {}
    HardwareProfile   : {VmSize}
    NetworkProfile    : {NetworkInterfaces}
    OSProfile         : {ComputerName, AdminUsername, LinuxConfiguration, Secrets}
    ProvisioningState : Succeeded
    StorageProfile    : {ImageReference, OsDisk, DataDisks}
    ...
    
  6. Granska egenskaper för virtuella datorer:

    Du kan inspektera komplexa objekt via operatorn för medlemsåtkomst (.). Om du till exempel vill se egenskaperna i objektet VMSize som är associerat med avsnittet HardwareProfile kör du följande kommando:

    $vm.HardwareProfile
    

    Du kan också hämta information om någon av diskarna genom att köra följande kommando:

    $vm.StorageProfile.OsDisk
    
  7. Hämta tillgängliga VM-storlekar:

    Skicka VM-objektet till andra cmdletar för att få tillgängliga storlekar:

    $vm | Get-AzVMSize
    
  8. Hämta den offentliga IP-adressen:

    Hämta den offentliga IP-adressen för att ansluta till den virtuella datorn och lagra den i en variabel.

    $ip = Get-AzPublicIpAddress -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name testvm-eus-01
    
  9. Anslut till den virtuella datorn:

    Anslut till den virtuella datorn med SSH med hjälp av IP-adressen från variabeln. Om användarnamnet till exempel är bobanvänder du följande kommando:

    ssh bob@$($ip.IpAddress)
    

    Logga ut genom att skriva avsluta.

Ta bort en virtuell dator

Om du vill prova fler kommandon tar vi bort den virtuella datorn. Följ de här stegen:

  1. Stäng av den virtuella datorn:

    Kör följande kommando:

    Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  2. Ta bort den virtuella datorn:

    När den virtuella datorn stoppas tar du bort den genom att köra cmdleten Remove-AzVM .

    Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  3. Visa en lista över alla resurser i resursgruppen:

    Använd cmdleten Get-AzResource för att visa en lista över alla resurser i resursgruppen. Resultatet skickas till för att Select-Object returnera specifika egenskaper:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

    Du bör se flera resurser, inklusive diskar, virtuella nätverk osv., som fortfarande finns:

    Name                    ResourceType                            ResourceGroupName
    ----                    ------------                            -----------------
    cloudshell              Microsoft.Storage/storageAccounts       <rgn>[sandbox resource group name]</rgn>
    testvm-eus-01           Microsoft.Network/virtualNetworks       <rgn>[sandbox resource group name]</rgn>
    testvm-eus-01           Microsoft.Network/publicIPAddresses     <rgn>[sandbox resource group name]</rgn>
    testvm-eus-01           Microsoft.Network/networkSecurityGroups <rgn>[sandbox resource group name]</rgn>
    testvm-eus-01           Microsoft.Network/networkInterfaces     <rgn>[sandbox resource group name]</rgn>
    testvm-eus-01_OsDisk_1  Microsoft.Compute/disks                 <rgn>[sandbox resource group name]</rgn>
    

    Kommandot Remove-AzVM tar bara bort den virtuella datorn. Den rensar inte någon av de andra resurserna. Om du vill rensa dem manuellt följer du dessa steg:

  4. Ta bort nätverksgränssnittet:

    Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name |
        Remove-AzNetworkInterface
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  5. Ta bort nätverkssäkerhetsgruppen:

    Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzNetworkSecurityGroup
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  6. Ta bort den offentliga IP-adressen:

    Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzPublicIpAddress
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  7. Ta bort det virtuella nätverket:

    Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzVirtualNetwork
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  8. Ta bort de hanterade OS-diskarna:

    Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name |
        Remove-AzDisk
    

    Ange Y och tryck på Retur när du uppmanas att fortsätta.

  9. Kontrollera att alla resurser har tagits bort:

    Kontrollera resursgruppen för att se till att alla resurser tas bort:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

Medan du har kört dessa kommandon interaktivt är en bättre metod att skriva ett PowerShell-skript. Med skript kan du återanvända logiken för att skapa eller ta bort en virtuell dator i framtiden

Nu ska vi titta på hur du automatiserar dessa uppgifter med hjälp av ett PowerShell-skript.