Alıştırma - Azure PowerShell ile etkileşimli olarak Azure Kaynağı oluşturma

Tamamlandı

Özgün senaryoda, Müşteri İlişkileri Yönetimi (CRM) yazılımınızı test etmek için sanal makineler (VM) oluşturmanız gerekir. Yeni bir derleme kullanılabilir olduğunda, temiz bir görüntüden yükleme deneyiminin tamamını test etmek için yeni bir VM oluşturmak istersiniz. Test tamamlandıktan sonra VM'yi silebilirsiniz.

Şimdi vm oluşturmak için komutları deneyelim.

Azure PowerShell ile Linux VM oluşturma

Azure korumalı alanını kullandığınızdan kaynak grubu oluşturmanız gerekmez. Bunun yerine, [sandbox resource group name] adlı mevcut korumalı alan kaynak grubunu kullanın. Konum kısıtlamalarına dikkat edin.

Azure PowerShell ile yeni bir Azure VM oluşturma burada açıklanmaktadır:

  1. VM'yi New-AzVM oluşturmak için cmdlet'ini kullanın.

    • Korumalı alan kaynak grubunu belirtin: [sandbox resource group name].

    • Kuruluşunuzun adlandırma standartlarını izleyerek VM'yi adlandırın.

    • Kullanılabilir Azure korumalı alan konumları listesinden size yakın bir konum seçin.

      • westus2
      • Orta Güney ABD
      • centralus
      • eastus
      • westeurope
      • southeastasia
      • japaneast
      • Güney Brezilya
      • australiasoutheast
      • centralindia
    • Ubuntu Linux görüntüsünü kullanın: Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest.

    • Get-Credential VM yöneticisi kimlik bilgilerini ayarlamak için cmdlet'ini kullanın.

    • SSH erişimi için bağlantı noktasıyla 22 OpenPorts parametresini ekleyin.

    • SSH oturum açma için bir genel IP adresi adı oluşturun.

    $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
    

    İpucu

    Komutları panoya kopyalamak için Kopyala düğmesini kullanabilirsiniz. Yapıştırmak için Cloud Shell terminalinde yeni bir satıra sağ tıklayıp Yapıştır'ı seçin veya Shift+Insert klavye kısayolunu (macOS üzerinde⌘+V) kullanın.

  2. Kimlik Bilgilerini Girin:

    İstendiğinde, yönergeleri izleyerek bir kullanıcı adı ve parola girin: parolalar 12-123 karakter uzunluğunda olmalı ve şu dört karmaşıklık gereksiniminden üçünün karşılanması gerekir: küçük harfler, büyük harfler, rakamlar ve özel karakterler (Regex eşleşmesi [\W_]). Daha fazla bilgi için bkz . Linux VM SSS.

  3. VM'nin oluşturulmasını bekleyin:

    VM oluşturma işleminin tamamlanması birkaç dakika sürer.

  4. VM'yi sorgulama:

    Tamamlandığında, VM'yi sorgulayıp VM nesnesini bir değişkene ( )$vm atayın.

    $vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    
  5. VM hakkındaki bilgileri görüntüleyin:

    VM hakkındaki bilgileri görüntülemek için değişkenin içeriğini görüntüleyin.

    $vm
    

    Örnek çıkış:

    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. VM özelliklerini inceleyin:

    Üye erişim işleci (.) aracılığıyla karmaşık nesneleri inceleyebilirsiniz. Örneğin, HardwareProfile bölümüyle ilişkili nesnedeki VMSize özellikleri görmek için aşağıdaki komutu çalıştırın:

    $vm.HardwareProfile
    

    Veya disklerden biriyle ilgili bilgi almak için aşağıdaki komutu çalıştırın:

    $vm.StorageProfile.OsDisk
    
  7. Kullanılabilir VM boyutlarını alın:

    Kullanılabilir boyutları almak için VM nesnesini diğer cmdlet'lere geçirin:

    $vm | Get-AzVMSize
    
  8. Genel IP adresini alın:

    VM'ye bağlanmak ve bir değişkende depolamak için genel IP adresini alın.

    $ip = Get-AzPublicIpAddress -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name testvm-eus-01
    
  9. VM'ye bağlanın:

    Değişkenden IP adresini kullanarak SSH ile VM'ye bağlanın. Örneğin, kullanıcı adı ise bobaşağıdaki komutu kullanın:

    ssh bob@$($ip.IpAddress)
    

    exit yazarak oturumu kapatın.

VM silme

Daha fazla komut denemek için VM'yi silelim. Şu adımları izleyin:

  1. VM'yi kapatın:

    Şu komutu çalıştırın:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  2. VM'yi silin:

    VM durdurulduğunda cmdlet'ini Remove-AzVM çalıştırarak silin.

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  3. Kaynak grubundaki tüm kaynakları listeleyin:

    Kaynak grubundaki Get-AzResource tüm kaynakları listelemek için cmdlet'ini kullanın. Belirli özellikleri döndürmek için sonuçlara Select-Object kanal oluşturulur:

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

    Diskler, sanal ağlar vb. dahil olmak üzere hala var olan çeşitli kaynaklar görmeniz gerekir:

    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>
    

    Remove-AzVM Komutu yalnızca VM'yi siler. Diğer kaynakların hiçbirini temizlemez. Bunları el ile temizlemek için şu adımları izleyin:

  4. Sanal ağı silin:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  5. Genel IP adresini silin:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  6. Ağ güvenlik grubunu silin:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  7. Ağ arabirimini silin:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  8. Yönetilen işletim sistemi disklerini silin:

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

    Y yazın ve devam etmek isteyip istemediğiniz sorulduğunda Enter tuşuna basın.

  9. Tüm kaynakların kaldırıldığını doğrulayın:

    Tüm kaynakların kaldırıldığından emin olmak için kaynak grubunu denetleyin:

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

Bu komutları etkileşimli olarak yürütürken, PowerShell betiği yazmak daha iyi bir yaklaşımdır. Betikler, gelecekte vm oluşturma veya silme mantığını yeniden kullanmanıza olanak sağlar

Şimdi bir PowerShell betiği kullanarak bu görevleri otomatikleştirmeye bakalım.