Cvičení – vytvoření prostředků Azure pomocí skriptů v Azure PowerShellu

Dokončeno

Vzpomeňte si na náš původní scénář: vytváření virtuálních počítačů pro testování našeho softwaru CRM. Když je k dispozici nové sestavení, chceme aktivovat nový virtuální počítač, abychom mohli otestovat kompletní postup instalace z čisté image. Po dokončení chceme virtuální počítač odstranit.

Pojďme vyzkoušet příkazy k vytvoření virtuálního počítače.

Vytvoření virtuálního počítače s Linuxem pomocí Azure PoweShellu

Vzhledem k tomu, že používáme sandbox Azure, nemusíte vytvářet skupinu prostředků. Místo toho použijte skupinu prostředků [název skupiny prostředků sandboxu]. Kromě toho pamatujte na omezení umístění.

Pojďme vytvořit nový virtuální počítač Azure pomocí PowerShellu.

  1. Pomocí rutiny New-AzVm vytvořte virtuální počítač.

    • Použijte skupinu prostředků [název skupiny prostředků sandboxu].

    • Virtuální počítač pojmenujte. Obvykle chcete použít něco smysluplného, co identifikuje účel virtuálního počítače, umístění a (pokud existuje více než jedno) číslo instance. "testvm-eus-01" používáme pro testovací virtuální počítač v oblasti USA – východ, instance 1. Představte si vlastní název podle toho, kam virtuální počítač umístíte.

    • V následujícím seznamu vyberte umístění blízko vás, které je dostupné v sandboxu Azure. Pokud používáte kopírování a vkládání, nezapomeňte změnit hodnotu v následujícím ukázkovém příkazu.

      • westus2
      • Střed USA – jih
      • centralus
      • eastus
      • westeurope
      • Jihovýchodní Asie
      • japaneast
      • brazilsouth
      • australiasoutheast
      • centralindia
    • Pro image použijte Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest. Tato image je Ubuntu Linux.

    • Použijte rutinu Get-Credential a zaveďte výsledky do parametru Credential.

      Důležité

      Informace o omezeních uživatelského jména a hesla najdete v nejčastějších dotazech k virtuálním počítačům s Linuxem. Hesla musí mít délku 12 až 123 znaků a musí splňovat tři z následujících čtyř požadavků na složitost:

      • Mají malá písmena.
      • Mají velká písmena.
      • Musí obsahovat číslici.
      • Musí obsahovat speciální znak (odpovídající regulárnímu výrazu [\W_]).
    • -OpenPorts Přidejte parametr a jako port předejte "22". Tento port nám umožňuje připojovat se k počítači přes SSH.

    • Vytvořte název veřejné IP adresy. Tento název použijete k vytvoření a vyhledání statické IP adresy pro přihlášení k počítači.

    New-AzVm -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name "testvm-eus-01" -Credential (Get-Credential) -Location "eastus" -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest -OpenPorts 22 -PublicIpAddressName "testvm-eus-01"
    

    Tip

    Můžete použít tlačítko Kopírovat pro kopírování příkazů do schránky. Pokud chcete vložit, klikněte pravým tlačítkem myši na nový řádek v terminálu Cloud Shellu a vyberte Vložit nebo použijte klávesovou zkratku Shift+Insert (⌘+V v macOS).

  2. Vytvořte uživatelské jméno a heslo a stiskněte Enter. PowerShell začne vytvářet virtuální počítač.

  3. Vytvoření virtuálního počítače trvá několik minut. Po dokončení se na něj můžete dotazovat a přiřadit objekt virtuálního počítače k proměnné ($vm).

    $vm = (Get-AzVM -Name "testvm-eus-01" -ResourceGroupName <rgn>[sandbox resource group name]</rgn>)
    
  4. Zadejte dotaz na hodnotu, aby se vypsaly informace o virtuálním počítači.

    $vm
    

    Mělo by se zobrazit něco jako v následujícím výstupu:

    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}
    
  5. Ke složitým objektům se můžete dostat prostřednictvím tečky (.) notace. Pokud například chcete zobrazit vlastnosti v objektu VMSize přidruženém k části HardwareProfile, spusťte následující příkaz:

    $vm.HardwareProfile
    
  6. Pokud chcete získat informace o jednom z disků, spusťte následující příkaz:

    $vm.StorageProfile.OsDisk
    
  7. Objekt virtuálního počítače můžete dokonce předat do jiných rutin. Spuštěním následujícího příkazu se například zobrazí všechny dostupné velikosti pro váš virtuální počítač:

    $vm | Get-AzVMSize
    
  8. Teď spuštěním následujícího příkazu získejte veřejnou IP adresu:

    az vm list-ip-addresses -n testvm-eus-01 -g <rgn>[sandbox resource group name]</rgn>
    
  9. S IP adresou se můžete připojit k virtuálnímu počítači pomocí protokolu SSH. Pokud jste například použili uživatelské jméno boba IP adresa je 205.22.16.5, spuštěním tohoto příkazu se připojíte k počítači s Linuxem:

    ssh bob@205.22.16.5
    

    Odhlaste se zadáním exit.

Odstranění virtuálního počítače

Pokud si chcete vyzkoušet několik dalších příkazů, pojďme virtuální počítač odstranit. Nejdřív ho musíme vypnout (pokud se zobrazí výzva k pokračování, zadejte Y ):

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

Po zastavení virtuálního počítače odstraňte virtuální počítač spuštěním Remove-AzVM rutiny (pokud se zobrazí výzva k pokračování, zadejte Y ):

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

Spuštěním tohoto příkazu zobrazte seznam všech prostředků ve vaší skupině prostředků:

Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Format-Table

Měli byste vidět několik prostředků (disky, virtuální sítě atd.), které všechny stále existují.

Microsoft.Compute/disks
Microsoft.Network/networkInterfaces
Microsoft.Network/networkSecurityGroups
Microsoft.Network/publicIPAddresses
Microsoft.Network/virtualNetworks

Příkaz Remove-AzVM jenom odstraní virtuální počítač. Nevyčistí žádné další prostředky. V tomto okamžiku bychom pravděpodobně odstranili samotnou skupinu prostředků a provedli jsme ji. Projděme si ale rychle cvičením, kterým ji vyčistíme ručně. V příkazech byste měli vidět jisté schéma.

  1. Odstraňte síťové rozhraní:

    $vm | Remove-AzNetworkInterface –Force
    
  2. Odstraňte spravované disky s operačním systémem:

    Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDisk -Force
    
  3. Dále odstraňte virtuální síť:

    Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetwork -Force
    
  4. Odstraňte skupinu zabezpečení sítě:

    Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroup -Force
    
  5. Nakonec odstraňte veřejnou IP adresu:

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

Měli jsme zachytit všechny vytvořené prostředky. Zkontrolujte skupinu prostředků, abyste měli jistotu. Tady jsme provedli mnoho ručních příkazů, ale lepším přístupem by bylo napsat skript. Tuto logiku bychom pak mohli později znovu použít k vytvoření nebo odstranění virtuálního počítače. Pojďme se podívat na skriptování pomocí PowerShellu.