Ć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ą.
Tworzenie maszyny wirtualnej z systemem Linux przy użyciu programu Azure PowerShell
Ponieważ używasz piaskownicy platformy Azure, nie musisz tworzyć grupy zasobów. Zamiast tego użyj istniejącej grupy zasobów piaskownicy [nazwa grupy zasobów piaskownicy]
Oto jak utworzyć nową maszynę wirtualną platformy Azure przy użyciu programu Azure PowerShell:
New-AzVM
Użyj polecenia cmdlet , aby utworzyć maszynę wirtualną.Określ grupę zasobów piaskownicy: [nazwa grupy zasobów piaskownicy]
. Nadaj maszynie wirtualnej nazwę zgodnie ze standardami nazewnictwa organizacji.
Wybierz lokalizację znajdującą się blisko Ciebie z listy dostępnych lokalizacji piaskownicy platformy Azure.
- westus2
- southcentralus
- centralus
- eastus
- westeurope
- southeastasia
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
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 = '<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
Napiwek
Do kopiowania poleceń do schowka możesz używać 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 <rgn>[sandbox resource group name]</rgn>
Wyświetl informacje o maszynie wirtualnej:
Aby wyświetlić informacje o maszynie wirtualnej, wyświetl zawartość zmiennej.
$vm
Przykładowe wyjście:
ResourceGroupName : <rgn>[sandbox resource group name]</rgn> Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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} ...
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 skojarzonegoVMSize
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
Pobierz dostępne rozmiary maszyn wirtualnych:
Przekaż obiekt maszyny wirtualnej do innych poleceń cmdlet, aby uzyskać dostępne rozmiary:
$vm | Get-AzVMSize
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 <rgn>[sandbox resource group name]</rgn> -Name testvm-eus-01
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:
Zamknij maszynę wirtualną:
Uruchom następujące polecenie:
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
Usuwanie maszyny wirtualnej:
Po zatrzymaniu maszyny wirtualnej usuń ją, uruchamiając
Remove-AzVM
polecenie cmdlet .Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
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 celuSelect-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 <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>
Polecenie
Remove-AzVM
usuwa 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-AzNetworkInterface
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
Usuń sieciowa grupa zabezpieczeń:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroup
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
Usuń publiczny adres IP:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddress
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
Usuń sieć wirtualną:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetwork
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
Usuń dyski zarządzanego systemu operacyjnego:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDisk
Wprowadź wartość Y i naciśnij Enter po wyświetleniu monitu o kontynuowanie.
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.