Öğretici: Azure PowerShell ile Windows VM’leri Oluşturma ve Yönetme
Uygulama: ✔️ Windows VM'ler
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. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:
- 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. Ayrıca, komutuna Cloud Shell ayrı bir tarayıcı sekmesinde de https://shell.azure.com/powershell 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şturma
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 mevcuttur. 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 `
-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 almak için Get-AzVMImagePublisher komutunu kullanın:
Get-AzVMImagePublisher -Location "EastUS"
Görüntü tekliflerinin listesini geri almak 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
Ardından Get-AzVMImageSku komutu, görüntü adlarının listesini geri almak için yayımcı 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 `
-AsJob
PowerShell komut istemlerinin size döndürülmesi için -AsJob parametresi VM’yi arka plan görevi olarak oluşturur. Arka plan işlerinin ayrıntılarını Get-Job cmdlet'i ile görüntüleyebilirsiniz.
VM boyutlarını anlama
VM boyutu, VM'nin kullanımına açık 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şturulacak. İş 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.
Bir VM'yi yeniden boyutlandırmadan önce, istediğiniz boyutun geçerli VM kümesinde kullanılabilir olup değildir. Get-AzVMSize komutu bir boyut listesi döndürür.
Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"
Boyut kullanılabilirse, VM açık 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"
Istediğiniz boyut geçerli kümede mevcut değilse, yeniden boyutlandırma işlemi oluşmadan önce VM'nin taşınması 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 | Description |
|---|---|
| Başlatılıyor | Sanal makine başlat ediliyor. |
| Çalışma | Sanal makine çalışıyor. |
| Durduruluyor | Sanal makine durdurulur. |
| Durduruldu | VM durduruldu. Durduruldu durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaya devam eder. |
| Serbest bırakılıyor | VM'nin taşınmaya başlandı. |
| Serbest bırakıldı | VM'nin hipervizörden kaldırıldığına ancak kontrol düzlemi içinde 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ğinizin tüm VM'lerinin güç durumunu almak için Sanal Makineler - Tüm API'leri Listele parametresi statusOnly true olarak ayarlanmış şekilde kullanın.
Yönetim görevleri
Bir VM'nin yaşam döngüsü sırasında, BIR VM'yi başlatma, durdurma veya silme gibi yönetim görevlerini çalıştırmak istiyor olabilir. 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 bir VM'yi durdurun ve bu VM'yi durdurun:
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 bu varsayılan olarak yalnızca VM kaynağını siler; VM'nin kullandığı diskleri ve ağ kaynaklarını silemez. VM'yi silerken diğer kaynakları silmek için varsayılan davranışı değiştirebilirsiniz. Daha fazla bilgi için bkz. Vm'yi ve bağlı 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.