Ćwiczenie — interaktywne tworzenie zasobu platformy Azure za pomocą programu Azure PowerShell
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:
New-AzVMUż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-CredentialUżyj polecenia cmdlet , aby ustawić poświadczenia administratora maszyny wirtualnej. - Dodaj parametr OpenPorts z portem
22dostę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 @azVmParamsZastą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).
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.
Poczekaj na utworzenie maszyny wirtualnej:
Proces tworzenia maszyny wirtualnej trwa kilka minut.
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 myResourceGroupNameWyświetl informacje o maszynie wirtualnej:
Aby wyświetlić informacje o maszynie wirtualnej, wyświetl zawartość zmiennej.
$vmPrzykł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} ...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 skojarzonegoVMSizez sekcją HardwareProfile , uruchom następujące polecenie:$vm.HardwareProfileAby uzyskać informacje na jednym z dysków, uruchom następujące polecenie:
$vm.StorageProfile.OsDiskPobierz dostępne rozmiary maszyn wirtualnych:
Przekaż obiekt maszyny wirtualnej do innych poleceń cmdlet, aby uzyskać dostępne rozmiary:
$vm | Get-AzVMSizeUzyskaj 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-01Nawiąż 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:
Zamknij maszynę wirtualną:
Uruchom następujące polecenie:
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameWprowadź Y i naciśnij Enter, aby kontynuować.
Usuwanie maszyny wirtualnej:
Po zatrzymaniu maszyny wirtualnej usuń ją, uruchamiając
Remove-AzVMpolecenie cmdlet .Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupNameWprowadź Y i naciśnij Enter, aby kontynuować.
Wyświetl listę wszystkich zasobów w grupie zasobów:
Get-AzResourceUżyj polecenia cmdlet , aby wyświetlić listę wszystkich zasobów w grupie zasobów. Wyniki są przesyłane potokami w celuSelect-Objectzwrócenia określonych właściwości:Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupNamePowinien 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 myResourceGroupNamePolecenie
Remove-AzVMusuwa tylko maszynę wirtualną. Nie usuwa żadnych innych zasobów. Aby ręcznie je wyczyścić, wykonaj następujące kroki:Usuń interfejs sieciowy:
Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name | Remove-AzNetworkInterfaceWprowadź Y i naciśnij Enter, aby kontynuować.
Usuń sieciowa grupa zabezpieczeń:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroupWprowadź Y i naciśnij Enter, aby kontynuować.
Usuń publiczny adres IP:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddressWprowadź Y i naciśnij Enter, aby kontynuować.
Usuń sieć wirtualną:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetworkWprowadź Y i naciśnij Enter, aby kontynuować.
Usuń dyski zarządzanego systemu operacyjnego:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDiskWprowadź Y i naciśnij Enter, aby kontynuować.
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.