Öğretici: Azure PowerShell ile Windows VM’leri Oluşturma ve Yönetme
Şunlar için geçerlidir: ✔️ Windows VM'leri
Azure sanal makineleri tam olarak yapılandırılabilir ve esnek bir bilgi işlem ortamı sağlar. Bu öğretici sanal makine (VM) boyutu seçme, VM görüntüsü seçme ve VM dağıtma gibi temel Azure sanal makine dağıtımı görevlerini kapsar. Şunları yapmayı öğreneceksiniz:
- VM oluşturma ve bir VM’ye bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli VM boyutlarını görüntüleme ve kullanma
- VM’yi yeniden boyutlandırma
- VM durumunu görüntüleme ve anlama
Azure Cloud Shell'i başlatma
Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabuktur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır.
Cloud Shell'i açmak için kod bloğunun sağ üst köşesinden Deneyin'i seçmeniz yeterlidir. İsterseniz https://shell.azure.com/powershell adresine giderek Cloud Shell'i ayrı bir tarayıcı sekmesinde de başlatabilirsiniz. Kopyala’yı seçerek kod bloğunu kopyalayın, Cloud Shell’e yapıştırın ve Enter tuşuna basarak çalıştırın.
Kaynak grubu oluştur
New-AzResourceGroup komutuyla bir kaynak grubu oluşturun.
Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Bir sanal makineden önce bir kaynak grubu oluşturulmalıdır. Bu örnekte, EastUS bölgesinde myResourceGroupVM adlı bir kaynak grubu oluşturulur:
New-AzResourceGroup `
-ResourceGroupName "myResourceGroupVM" `
-Location "EastUS"
Kaynak grubu, bu öğretici boyunca görülebileceği gibi bir VM oluşturulurken veya değiştirilirken belirtilir.
VM oluşturma
VM oluştururken işletim sistemi görüntüsü, ağ yapılandırması ve yönetici kimlik bilgileri gibi çeşitli seçenekler kullanılabilir. Bu örnekte Windows Server 2016 Datacenter'ın varsayılan sürümünü çalıştıran myVM adlı bir VM oluşturulur.
Get-Credential komutuyla VM’de yönetici hesabı için gereken kullanıcı adı ve parolasını ayarlayın:
$cred = Get-Credential
New-AzVM ile VM oluşturun.
New-AzVm `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" `
-Location "EastUS" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress" `
-Credential $cred
VM’ye bağlanma
Dağıtım tamamlandıktan sonra VM ile bir uzak masaüstü bağlantısı oluşturun.
VM'nin genel IP adresini döndürmek için aşağıdaki komutları çalıştırın. Sonraki bir adımda web bağlantısını test etmek üzere tarayıcınızla bağlanabilmek için bu IP Adresini not alın.
Get-AzPublicIpAddress `
-ResourceGroupName "myResourceGroupVM" | Select IpAddress
VM ile bir uzak masaüstü oturumu oluşturmak için yerel makinenizde aşağıdaki komutu kullanın. IP adresini, sanal makinenizin publicIPAddress değeriyle değiştirin. İstendiğinde, VM oluşturulurken kullanılan kimlik bilgilerini girin.
mstsc /v:<publicIpAddress>
Windows Güvenliği penceresinde Diğer seçenekler'i ve ardından Başka bir hesap kullanın'ı seçin. VM için oluşturduğunuz kullanıcı adı ve parolayı yazıp Tamam’a tıklayın.
Market resimlerini anlama
Azure Market, yeni VM oluşturmak için kullanılabilecek çok sayıda görüntü içerir. Önceki adımlarda, Windows Server 2016 Datacenter görüntüsü kullanılarak bir VM oluşturuldu. Bu adımda, PowerShell modülü markette diğer Windows görüntülerini aramak için kullanılır, bu da yeni sanal makinelerin toplandığı yer olarak ayrıca kullanılabilir. Bu işlem, görüntüyü tanımlamak için yayımcının, teklifin, SKU’nun ve isteğe bağlı olarak bir sürüm numarasının bulunmasını kapsar.
Görüntü yayımcılarının listesini döndürmek için Get-AzVMImagePublisher komutunu kullanın:
Get-AzVMImagePublisher -Location "EastUS"
Resim tekliflerinin listesini döndürmek için Get-AzVMImageOffer kullanın. Bu komutla, döndürülen liste belirtilen MicrosoftWindowsServer
adlı yayımcı üzerinde filtrelenir:
Get-AzVMImageOffer `
-Location "EastUS" `
-PublisherName "MicrosoftWindowsServer"
Sonuçlar şu örneğe benzer olacaktır:
Offer PublisherName Location
----- ------------- --------
Windows-HUB MicrosoftWindowsServer EastUS
WindowsServer MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS
Get-AzVMImageSku komutu, görüntü adlarının listesini döndürmek için yayımcıyı ve teklif adını filtreler.
Get-AzVMImageSku `
-Location "EastUS" `
-PublisherName "MicrosoftWindowsServer" `
-Offer "WindowsServer"
Sonuçlar şu örneğe benzer olacaktır:
Skus Offer PublisherName Location
---- ----- ------------- --------
2008-R2-SP1 WindowsServer MicrosoftWindowsServer EastUS
2008-R2-SP1-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2012-Datacenter WindowsServer MicrosoftWindowsServer EastUS
2012-Datacenter-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2012-R2-Datacenter WindowsServer MicrosoftWindowsServer EastUS
2012-R2-Datacenter-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-Server-Core WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-Server-Core-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-RDSH WindowsServer MicrosoftWindowsServer EastUS
2016-Nano-Server WindowsServer MicrosoftWindowsServer EastUS
Bu bilgiler, belirli bir görüntüye sahip bir VM’yi dağıtmak için kullanılabilir. Bu örnek, Kapsayıcılar’ı içeren Windows Server 2016 görüntüsünün en son sürümünü kullanarak VM'yi dağıtır.
New-AzVm `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM2" `
-Location "EastUS" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress2" `
-ImageName "MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest" `
-Credential $cred
VM boyutlarını anlama
VM boyutu, VM'nin kullanımına sunulan CPU, GPU ve bellek gibi işlem kaynaklarının miktarını belirler. Sanal makineler, iş yüküne uygun bir VM boyutu kullanılarak oluşturulmalıdır. İş yükü artarsa, mevcut sanal makine de yeniden boyutlandırılabilir.
VM Boyutları
Aşağıdaki tabloda boyutlar kullanım durumlarına göre kategorilere ayrılmaktadır.
Tür | Ortak boyutlar | Açıklama |
---|---|---|
Genel amaçlı | B, Dsv3, Dv3, DSv2, Dv2, Av2, DC | Dengeli CPU/bellek. Küçük ve orta ölçekli uygulama ve veri çözümlerini geliştirmek/test etmek için idealdir. |
İşlem için iyileştirilmiş | Fsv2 | Yüksek CPU/bellek. Orta düzey trafiğe sahip uygulamalar, ağ gereçleri ve toplu işlemler için idealdir. |
Bellek için iyileştirilmiş | Esv3, Ev3, M, DSv2, Dv2 | Yüksek bellek/çekirdek. İlişkisel veritabanı, orta veya büyük boyutlu önbellekler ve bellek içi analiz için idealdir. |
Depolama için iyileştirilmiş | Lsv2, Ls | Yüksek disk aktarım hızı ve GÇ. Büyük Veri, SQL ve NoSQL veritabanları için ideal. |
GPU | NV, NVv2, NC, NCv2, NCv3, ND | Ağır grafik işlemleri ile video düzenleme işlemleri için özel olarak hedeflenen VM’ler. |
Yüksek performans | H | İşleme düzeyi yüksek olan isteğe bağlı ağ arabirimleri (RDMA) içeren VM’lerimiz, şimdiye kadarki en güçlü CPU ile sunuluyor. |
Kullanılabilir VM boyutlarını bulma
Belirli bir bölgede kullanılabilen VM boyutlarının listesini görmek için Get-AzVMSize komutunu kullanın.
Get-AzVMSize -Location "EastUS"
VM’yi yeniden boyutlandırma
VM dağıtıldıktan sonra, kaynak ayırmayı artırmak veya azaltmak için yeniden boyutlandırılabilir.
Vm'yi yeniden boyutlandırmadan önce, istediğiniz boyutun geçerli VM kümesinde kullanılabilir olup olmadığını denetleyin. Get-AzVMSize komutu boyutların listesini döndürür.
Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"
Boyut kullanılabilir durumdaysa VM, güçlendirilmiş durumdan yeniden boyutlandırılabilir, ancak işlem sırasında yeniden başlatılır.
$vm = Get-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_DS3_v2"
Update-AzVM `
-VM $vm `
-ResourceGroupName "myResourceGroupVM"
İstediğiniz boyut geçerli kümede kullanılamıyorsa, yeniden boyutlandırma işleminin gerçekleşebilmesi için vm'nin serbest bırakılması gerekir. VM'nin serbest bırakılmasıyla geçici diskteki tüm veriler kaldırılır ve statik IP adresi kullanılmadığı sürece genel IP adresi değişir.
Stop-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" -Force
$vm = Get-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_E2s_v3"
Update-AzVM -VM $vm `
-ResourceGroupName "myResourceGroupVM"
Start-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name $vm.name
VM güç durumları
Bir Azure VM’si birçok güç durumuna sahip olabilir.
Güç Durumu | Açıklama |
---|---|
Başlatılıyor | Sanal makine başlatılıyor. |
Çalışıyor | Sanal makine çalışıyor. |
Durduruluyor | Sanal makine durduruldu. |
Durduruldu | VM durdurulur. Durduruldu durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaya devam eder. |
Serbest bırakılıyor | VM serbest bırakılıyor. |
Serbest bırakıldı | VM'nin hiper yöneticiden kaldırıldığını ancak denetim düzleminde hala kullanılabilir olduğunu gösterir. Deallocated durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaz. |
- | VM'nin güç durumu bilinmiyor. |
Belirli bir VM'nin durumunu almak için Get-AzVM komutunu kullanın. VM ve kaynak grubu için geçerli bir ad belirttiğinizden emin olun.
Get-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" `
-Status | Select @{n="Status"; e={$_.Statuses[1].Code}}
Çıkış şu örneğe benzer olacaktır:
Status
------
PowerState/running
Aboneliğinizdeki tüm VM'lerin güç durumunu almak için Sanal Makineler - List All API with parameter statusOnly ayarını true olarak ayarlayın.
Yönetim görevleri
Bir VM'nin yaşam döngüsü sırasında, VM'yi başlatma, durdurma veya silme gibi yönetim görevlerini çalıştırmak isteyebilirsiniz. Ayrıca, yinelenen veya karmaşık görevleri otomatikleştirmek için betikler oluşturmak isteyebilirsiniz. Azure PowerShell kullanarak, birçok ortak yönetim görevi komut satırından veya betikler içinde çalıştırılabilir.
VM durdurma
Stop-AzVM ile vm'leri durdurma ve serbest bırakma:
Stop-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM" -Force
VM'yi sağlanan bir durumda tutmak istiyorsanız, - StayProvisioned parametresini kullanın.
VM başlatma
Start-AzVM `
-ResourceGroupName "myResourceGroupVM" `
-Name "myVM"
VM kaynaklarını silme
Bir VM'yi silebilirsiniz, ancak varsayılan olarak bu yalnızca VM kaynağını siler; VM'nin kullandığı diskleri ve ağ kaynaklarını silmez. VM'yi sildiğinizde diğer kaynakları silmek için varsayılan davranışı değiştirebilirsiniz. Daha fazla bilgi için bkz . VM'yi ve ekli kaynakları silme.
Sonraki adımlar
Bu öğreticide, aşağıdakiler gibi temel VM oluşturma ve yönetim görevlerini öğrendiniz:
- VM oluşturma ve bir VM’ye bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli VM boyutlarını görüntüleme ve kullanma
- VM’yi yeniden boyutlandırma
- VM durumunu görüntüleme ve anlama
VM diskleri hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.