Ćwiczenie — interaktywne tworzenie zasobu platformy Azure za pomocą programu Azure PowerShell

Ukończone

W oryginalnym scenariuszu należy utworzyć maszyny wirtualne, aby przetestować oprogramowanie do zarządzania relacjami z klientami (CRM). Gdy jest dostępna nowa kompilacja, chcesz uruchomić nową maszynę wirtualną, aby przetestować całe środowisko instalacji na podstawie czystego obrazu. Po zakończeniu testowania możesz usunąć maszynę wirtualną.

Wypróbujmy polecenia, aby utworzyć maszynę wirtualną.

Uwaga / Notatka

To ćwiczenie jest opcjonalne. Jeśli chcesz wykonać to ćwiczenie, przed rozpoczęciem musisz utworzyć subskrypcję platformy Azure. Jeśli nie masz konta platformy Azure lub nie chcesz go tworzyć w tej chwili, możesz zapoznać się z instrukcjami, aby zrozumieć prezentowane informacje.

Uwaga / Notatka

Aby wykonać kroki opisane w tym ćwiczeniu, musisz użyć grupy zasobów. Możesz użyć utworzonej już grupy zasobów lub utworzyć nową grupę zasobów specjalnie na potrzeby tego ćwiczenia. Jeśli zdecydujesz się utworzyć nową grupę zasobów, ułatwi to wyczyszczenie wszelkich zasobów utworzonych podczas wykonywania ćwiczenia. Jeśli nie masz istniejącej grupy zasobów lub chcesz utworzyć nową specjalnie dla tego ćwiczenia, możesz wykonać kroki opisane w temacie Używanie witryny Azure Portal i usługi Azure Resource Manager do zarządzania grupami zasobów w celu utworzenia grupy zasobów przy użyciu witryny Azure Portal lub wykonaj kroki opisane w temacie Zarządzanie grupami zasobów platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure , aby utworzyć grupę zasobów przy użyciu interfejsu wiersza polecenia platformy Azure.

Tworzenie maszyny wirtualnej z systemem Linux przy użyciu programu Azure PowerShell

Oto jak utworzyć nową maszynę wirtualną platformy Azure przy użyciu programu Azure PowerShell:

  1. New-AzVM Użyj polecenia cmdlet , aby utworzyć maszynę wirtualną.

    • Określ grupę zasobów dla maszyny wirtualnej.
    • Nadaj maszynie wirtualnej nazwę zgodnie ze standardami nazewnictwa organizacji.
    • Wybierz lokalizację znajdującą się blisko Ciebie z listy dostępnych regionów świadczenia usługi Azure.
    • Użyj obrazu systemu Ubuntu Linux: Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest.
    • Get-Credential Użyj polecenia cmdlet , aby ustawić poświadczenia administratora maszyny wirtualnej.
    • Dodaj parametr OpenPorts z portem 22 dostępu SSH.
    • Utwórz nazwę publicznego adresu IP dla logowania SSH.
    $azVmParams = @{
        ResourceGroupName   = 'myResourceGroupName'
        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
    

    Zastąp myResourceGroupName w poprzednim przykładzie nazwą istniejącej grupy zasobów lub nazwą grupy zasobów utworzonej dla tego ćwiczenia.

    Napiwek

    Aby skopiować polecenia do schowka, użyj przycisku Kopiuj. Aby wkleić, kliknij prawym przyciskiem myszy nowy wiersz w terminalu usługi Cloud Shell i wybierz polecenie Wklej lub użyj skrótu klawiaturowego Shift+Insert (⌘+V w systemie macOS).

  2. Wprowadź poświadczenia:

    Po wyświetleniu monitu wprowadź nazwę użytkownika i hasło, postępując zgodnie z wytycznymi: hasła muszą mieć długość od 12 do 123 znaków i spełniać trzy z następujących czterech wymagań dotyczących złożoności: małe litery, wielkie litery, cyfry i znaki specjalne (dopasowanie wyrażenia regularnego [\W_]). Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące maszyny wirtualnej z systemem Linux.

  3. Poczekaj na utworzenie maszyny wirtualnej:

    Proces tworzenia maszyny wirtualnej trwa kilka minut.

  4. Wykonaj zapytanie dotyczące maszyny wirtualnej:

    Po zakończeniu wykonaj zapytanie dotyczące maszyny wirtualnej i przypisz obiekt maszyny wirtualnej do zmiennej ($vm).

    $vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName myResourceGroupName
    
  5. Wyświetl informacje o maszynie wirtualnej:

    Aby wyświetlić informacje o maszynie wirtualnej, wyświetl zawartość zmiennej.

    $vm
    

    Przykładowe wyjście:

    ResourceGroupName : myResourceGroupName
    Id                : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/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. Sprawdź właściwości maszyny wirtualnej:

    Obiekty złożone można sprawdzić za pomocą operatora dostępu do składowych (.). Aby na przykład wyświetlić właściwości obiektu skojarzonego VMSize z sekcją HardwareProfile , uruchom następujące polecenie:

    $vm.HardwareProfile
    

    Aby uzyskać informacje na jednym z dysków, uruchom następujące polecenie:

    $vm.StorageProfile.OsDisk
    
  7. Pobierz dostępne rozmiary maszyn wirtualnych:

    Przekaż obiekt maszyny wirtualnej do innych poleceń cmdlet, aby uzyskać dostępne rozmiary:

    $vm | Get-AzVMSize
    
  8. Uzyskaj publiczny adres IP:

    Pobierz publiczny adres IP, aby nawiązać połączenie z maszyną wirtualną i zapisać go w zmiennej.

    $ip = Get-AzPublicIpAddress -ResourceGroupName myResourceGroupName -Name testvm-eus-01
    
  9. Nawiąż połączenie z maszyną wirtualną:

    Nawiąż połączenie z maszyną wirtualną przy użyciu protokołu SSH przy użyciu adresu IP ze zmiennej . Jeśli na przykład nazwa użytkownika to bob, użyj następującego polecenia:

    ssh bob@$($ip.IpAddress)
    

    Wyloguj się, wpisując wyjście.

Usuwanie maszyny wirtualnej

Aby wypróbować więcej poleceń, usuńmy maszynę wirtualną. Wykonaj te kroki:

  1. Zamknij maszynę wirtualną:

    Uruchom następujące polecenie:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  2. Usuwanie maszyny wirtualnej:

    Po zatrzymaniu maszyny wirtualnej usuń ją, uruchamiając Remove-AzVM polecenie cmdlet .

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  3. Wyświetl listę wszystkich zasobów w grupie zasobów:

    Get-AzResource Użyj polecenia cmdlet , aby wyświetlić listę wszystkich zasobów w grupie zasobów. Wyniki są przesyłane potokami w celu Select-Object zwrócenia określonych właściwości:

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

    Powinien zostać wyświetlonych kilka zasobów, w tym dysków, sieci wirtualnych itp., które nadal istnieją:

    Name                    ResourceType                            ResourceGroupName
    ----                    ------------                            -----------------
    cloudshell              Microsoft.Storage/storageAccounts       myResourceGroupName
    testvm-eus-01           Microsoft.Network/virtualNetworks       myResourceGroupName
    testvm-eus-01           Microsoft.Network/publicIPAddresses     myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkSecurityGroups myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkInterfaces     myResourceGroupName
    testvm-eus-01_OsDisk_1  Microsoft.Compute/disks                 myResourceGroupName
    

    Polecenie Remove-AzVM usuwa tylko maszynę wirtualną. Nie usuwa żadnych innych zasobów. Aby ręcznie je wyczyścić, wykonaj następujące kroki:

  4. Usuń interfejs sieciowy:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  5. Usuń sieciowa grupa zabezpieczeń:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  6. Usuń publiczny adres IP:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  7. Usuń sieć wirtualną:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  8. Usuń dyski zarządzanego systemu operacyjnego:

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

    Wprowadź Y i naciśnij Enter, aby kontynuować.

  9. Sprawdź, czy wszystkie zasoby zostały usunięte:

    Sprawdź grupę zasobów, aby upewnić się, że wszystkie zasoby zostały usunięte:

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

Podczas wykonywania tych poleceń interaktywnie lepszym rozwiązaniem jest napisanie skryptu programu PowerShell. Skrypty umożliwiają ponowne użycie logiki do tworzenia lub usuwania maszyny wirtualnej w przyszłości

Następnie przyjrzyjmy się automatyzowaniu tych zadań przy użyciu skryptu programu PowerShell.