Windows’a yönelik sanal makine uzantıları ve özellikleri
Azure sanal makine (VM) uzantıları, dağıtım sonrası yapılandırma ve Azure VM'lerinde otomasyon görevleri sunan küçük uygulamalardır. Örneğin, bir sanal makine yazılım yüklemesi, virüsten koruma veya VM'nin içinde betik çalıştırma özelliği gerektiriyorsa, VM uzantısını kullanabilirsiniz.
Azure CLI, PowerShell, Azure Resource Manager (ARM) şablonlarını ve Azure portalını kullanarak Azure VM uzantılarını çalıştırabilirsiniz. Uzantıları yeni bir VM dağıtımıyla paketleyebilir veya mevcut herhangi bir sistemde çalıştırabilirsiniz.
Bu makalede, önkoşullar ve uzantıları algılama, yönetme ve kaldırma yönergeleri de dahil olmak üzere Azure VM uzantılarına genel bir bakış sağlanır. Birçok VM uzantısı kullanılabilir olduğundan bu makalede genelleştirilmiş bilgiler sağlanır. Her uzantının potansiyel olarak benzersiz bir yapılandırması ve kendi belgeleri vardır.
Kullanım örnekleri ve örnekler
Her Azure VM uzantısının belirli bir kullanım örneği vardır. Burada bazı örnekler verilmiştir:
Windows için DSC uzantısını kullanarak bir VM'ye PowerShell istenen durum yapılandırmalarını (DC' ler) uygulayın.
Azure İzleyici aracısını ve VM içgörülerini kullanarak vm izlemeyi yapılandırın.
Chef kullanarak bir Azure VM yapılandırın.
Datadog uzantısını kullanarak Azure altyapınızın izlenmesini yapılandırın.
İşleme özgü uzantılara ek olarak, hem Windows hem de Linux sanal makineleri için Özel Betik Uzantısı kullanılabilir. Windows için Özel Betik Uzantısı, herhangi bir PowerShell betiğinin bir VM üzerinde çalışmasına izin verir. Özel betikler, yerel Azure araçlarının sağlayabileceklerinin ötesinde yapılandırma gerektiren Azure dağıtımları tasarlamak için kullanışlıdır.
Önkoşullar
Azure VM uzantılarıyla çalışmak için aşağıdaki önkoşulları gözden geçirin.
Azure VM Aracısı
VM'de uzantıları işlemek için Windows için Azure Sanal Makine Aracısı'nın yüklü olması gerekir. Bu aracı, Azure VM Aracısı veya Windows Konuk Aracısı olarak da adlandırılır. Uzantıları yüklemeye hazırlanırken, bazı uzantıların kaynaklara veya bağımlılıklara erişim gibi tek tek önkoşulları olduğunu unutmayın.
Azure VM Aracısı, bir Azure VM ile Azure doku denetleyicisi arasındaki etkileşimleri yönetir. Aracı, VM uzantılarını çalıştırma da dahil olmak üzere Azure VM'lerini dağıtmanın ve yönetmenin birçok işlevsel özelliğinden sorumludur.
Azure VM Aracısı, Azure Market görüntülere önceden yüklenmiştir. Aracı, desteklenen işletim sistemlerine el ile de yüklenebilir.
Aracı birden çok işletim sisteminde çalışır. Ancak uzantılar çerçevesi, uzantıların kullandığı işletim sistemleri için bir sınıra sahiptir. Bazı uzantılar tüm işletim sistemlerinde desteklenmez ve hata kodu 51 ("Desteklenmeyen işletim sistemi") gösterebilir. Desteklenebilirlik için tek tek uzantı belgelerine bakın.
Ağ erişimi
Uzantı paketleri Azure Depolama uzantısı deposundan indirilir. Uzantı durumu karşıya yüklemeleri Azure Depolama'ya gönderiliyor.
Azure VM Aracısı'nın desteklenen bir sürümünü kullanıyorsanız, VM bölgesinde Azure Depolama'ya erişime izin vermeniz gerekmez. VM Aracısı'nı kullanarak iletişimi aracı iletişimleri için Azure doku denetleyicisine yönlendirebilirsiniz (özellik aracılığıyla özel IP adresi 168.63.129.16 üzerindeki ayrıcalıklı kanal aracılığıylaHostGAPlugin
). VM Aracısı'nın desteklenmeyen bir sürümündeyseniz, vm'den o bölgedeki Azure Depolama'ya giden erişime izin vermeniz gerekir.
Önemli
Konuk güvenlik duvarını kullanarak veya ara sunucu aracılığıyla 168.63.129.16 IP adresine erişimi engellerseniz uzantılar başarısız olur. VM Aracısı'nın desteklenen bir sürümünü kullansanız veya giden erişimi yapılandırsanız bile hata oluşur. 80 ve 32526 bağlantı noktaları gereklidir.
Aracılar yalnızca uzantı paketlerini ve rapor durumunu indirmek için kullanılabilir. Örneğin, uzantı yüklemesinde GitHub'dan (Özel Betik Uzantısı) bir betik indirilmesi gerekiyorsa veya Azure Depolama'ya (Azure Backup) erişim gerekiyorsa, diğer güvenlik duvarı veya ağ güvenlik grubu (NSG) bağlantı noktalarını açmanız gerekir. Farklı uzantıların farklı gereksinimleri vardır çünkü bunlar kendi haklarında uygulamalardır. Azure Depolama'ya veya Microsoft Entra Id'ye erişim gerektiren uzantılar için Azure NSG hizmet etiketlerini kullanarak erişime izin vekleyebilirsiniz.
Azure VM Aracısı, aracı trafiği isteklerinin yeniden yönlendirilmesini sağlamak için ara sunucu desteği sağlamaz. VM Aracısı, 168.63.129.16 IP adresi üzerinden İnternet'te veya konakta bulunan kaynaklara erişmek için özel proxy'nize (varsa) dayanır.
VM uzantılarını bulma
Birçok VM uzantısı Azure VM'leri ile kullanılabilir. Tam listeyi görmek için PowerShell cmdlet'ini Get-AzVMExtensionImage
kullanın.
Aşağıdaki komut, Batı ABD bölgesi konumundaki tüm kullanılabilir VM uzantılarını listeler:
Get-AzVmImagePublisher -Location "West US" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version
Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:
Type Version
---- -------
AcronisBackup 1.0.33
AcronisBackup 1.0.51
AcronisBackupLinux 1.0.33
AlertLogicLM 1.3.0.1
AlertLogicLM 1.3.0.0
AlertLogicLM 1.4.0.1
VM uzantılarını çalıştırma
Azure VM uzantıları mevcut VM'lerde çalışır. Bu, yapılandırma değişiklikleri yapmanız veya zaten dağıtılmış bir VM'de bağlantıyı kurtarmanız gerektiğinde kullanışlıdır. VM uzantıları ARM şablonu dağıtımlarıyla birlikte de paketlenebilir. ARM şablonlarıyla uzantıları kullanarak Azure VM'lerini dağıtım sonrası müdahale olmadan dağıtabilir ve yapılandırabilirsiniz.
Mevcut bir VM'de uzantı çalıştırmak için aşağıdaki yöntemleri kullanabilirsiniz.
Not
Aşağıdaki örneklerden bazıları komutlarda parametre değerlerini kullanır "<placeholder>"
. Her komutu çalıştırmadan önce, tüm "<placeholder>"
değerleri yapılandırmanız için belirli değerlerle değiştirdiğinizden emin olun.
PowerShell
Tek tek uzantıları çalıştırmak için çeşitli PowerShell komutları vardır. Listeyi görmek için Get-Command komutunu kullanın ve Uzantıya filtreleyin:
Get-Command Set-Az*Extension* -Module Az.Compute
Bu komut aşağıdaki örneğe benzer bir çıkış sağlar:
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Set-AzVMAccessExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMADDomainExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMAEMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBackupExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMBginfoExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMChefExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMCustomScriptExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiagnosticsExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDiskEncryptionExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMDscExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMExtension 4.5.0 Az.Compute
Cmdlet Set-AzVMSqlServerExtension 4.5.0 Az.Compute
Cmdlet Set-AzVmssDiskEncryptionExtension 4.5.0 Az.Compute
Aşağıdaki örnekte, GitHub deposundan hedef sanal makineye bir betik indirmek ve ardından betiği çalıştırmak için Özel Betik Uzantısı kullanılmaktadır.
Set-AzVMCustomScriptExtension -ResourceGroupName "<myResourceGroup>" `
-VMName "<myVM>" -Name "<myCustomScript>" `
-FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
-Run "Create-File.ps1" -Location "<myVMregion>"
Aşağıdaki örnekte, Bir Windows VM'sinin yönetim parolasını geçici bir parolaya sıfırlamak için VMAccess uzantısı kullanılır. Bu kodu çalıştırdıktan sonra, ilk oturum açma sırasında parolayı sıfırlamanız gerekir.
$cred=Get-Credential
Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
-Location "myVMregion" -UserName $cred.GetNetworkCredential().Username `
-Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"
Herhangi bir VM uzantısını başlatmak için Set-AzVMExtension komutunu kullanabilirsiniz.
Azure portal
Azure portalı aracılığıyla mevcut bir VM'ye VM uzantıları uygulayabilirsiniz. Portalda VM'yi seçin, Uzantılar + Uygulamalar'ı ve ardından + Ekle'yi seçin. Kullanılabilir uzantılar listesinden istediğiniz uzantıyı seçin ve sihirbazdaki yönergeleri izleyin.
Aşağıdaki örnekte Azure portalından Microsoft Kötü Amaçlı Yazılımdan Koruma uzantısının yüklenmesi gösterilmektedir:
Azure Resource Manager şablonları
BIR ARM şablonuna VM uzantıları ekleyebilir ve bunları şablonun dağıtımıyla çalıştırabilirsiniz. Bir uzantıyı şablonla dağıttığınızda, tam olarak yapılandırılmış Azure dağıtımları oluşturabilirsiniz.
Aşağıdaki JSON örneği, bir dizi yük dengeli VM ve Azure SQL veritabanı dağıtan ve ardından her vm'ye bir .NET Core uygulaması yükleyen bir ARM şablonundan alınıyor. Yazılım yüklemesini VM uzantısı üstlenir.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
ARM şablonları oluşturma hakkında daha fazla bilgi için bkz . ARM şablonundaki sanal makineler.
VM uzantısı verilerinin güvenliğini sağlamaya yardımcı olun
Bir VM uzantısını çalıştırdığınızda kimlik bilgileri, depolama hesabı adları ve erişim anahtarları gibi hassas bilgileri eklemeniz gerekebilir. Birçok VM uzantısı, verileri şifreleyen ve yalnızca hedef VM'nin içinde şifresini çözen korumalı bir yapılandırma içerir. Her uzantının belirli bir korumalı yapılandırma şeması vardır ve her şema uzantıya özgü belgelerde ayrıntılı olarak açıklanmıştır.
Aşağıdaki JSON örneği, Windows için Özel Betik Uzantısı örneğini gösterir. Çalıştırılacak komut bir kimlik bilgileri kümesi içerir. Bu örnekte, çalıştırılacak komut şifrelenmez.
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
],
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
Özelliğini yapılandırmaya commandToExecute
protected
taşımak, aşağıdaki örnekte gösterildiği gibi yürütme dizesinin güvenliğini sağlar:
{
"apiVersion": "2015-06-15",
"type": "extensions",
"name": "config-app",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
"[variables('musicstoresqlName')]"
],
"tags": {
"displayName": "config-app"
},
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
"protectedSettings": {
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
}
}
}
Uzantıları kullanan bir Hizmet olarak Azure altyapısı (IaaS) VM'sinde, sertifikalar konsolunda konu Windows Azure CRP Sertifika Oluşturucu'ya sahip sertifikaları görebilirsiniz. Klasik RedDog Ön Uç (RDFE) VM'sinde, bu sertifikalar Uzantılar için Windows Azure Hizmet Yönetimi konu adına sahiptir.
Bu sertifikalar, uzantıların kullandığı korumalı ayarların (parola ve diğer kimlik bilgileri) aktarımı sırasında VM ile konağı arasındaki iletişimin güvenliğini sağlar. Azure doku denetleyicisi sertifikaları oluşturur ve Azure VM Aracısı'na geçirir. VM'yi her gün durdurup başlatırsanız, doku denetleyicisi yeni bir sertifika oluşturabilir. Sertifika, bilgisayarın kişisel sertifika deposunda depolanır. Bu sertifikalar silinebilir. Azure VM Aracısı gerekirse sertifikaları yeniden oluşturur.
Aracılar ve uzantılar nasıl güncelleştirilir?
Aracılar ve uzantılar aynı otomatik güncelleştirme mekanizmasını paylaşır.
Bir güncelleştirme kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, güncelleştirme yalnızca bir uzantı veya başka bir VM modeli değiştikten sonra VM'ye yüklenir. Değişiklikler şunları içerebilir:
- Veri diskleri
- Uzantıları
- Uzantı Etiketleri
- Önyükleme tanılama kapsayıcısı
- Konuk işletim sistemi gizli dizileri
- VM boyutu
- Ağ profili
Yayımcılar güncelleştirmeleri çeşitli zamanlarda bölgeler için kullanılabilir hale getirir. Farklı sürümlerde farklı bölgelerdeki VM'leriniz olabilir.
Not
Bazı güncelleştirmeler ek güvenlik duvarı kuralları gerektirebilir. Daha fazla bilgi için bkz . Ağ erişimi.
VM'ye dağıtılan uzantıları listeleme
Bir VM'ye dağıtılan uzantıları listelemek için aşağıdaki komutu kullanabilirsiniz:
$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion
Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:
Publisher VirtualMachineExtensionType TypeHandlerVersion
--------- --------------------------- ------------------
Microsoft.Compute CustomScriptExtension 1.9
Aracı güncelleştirmeleri
Azure VM Aracısı yalnızca uzantı işleme kodunu içerir. Windows sağlama kodu ayrıdır. Azure VM Aracısı'nı kaldırabilirsiniz. Azure VM Aracısı'nın otomatik güncelleştirmesini devre dışı bırakamazsınız.
Uzantı işleme kodu aşağıdaki görevlerden sorumludur:
- Azure dokusuyla iletişim kurun.
- Yüklemeler, raporlama durumu, tek tek uzantıları güncelleştirme ve uzantıları kaldırma gibi VM uzantısı işlemlerini işleyin. Güncelleştirmeler, uzantı işleme kodunda güvenlik düzeltmeleri, hata düzeltmeleri ve geliştirmeler içerir.
Hangi sürümü çalıştırdığınızı denetlemek için bkz . Azure VM Aracısı'nı algılama.
Uzantı güncelleştirmeleri
Bir uzantı güncelleştirmesi kullanılabilir olduğunda ve otomatik güncelleştirmeler etkinleştirildiğinde, bir VM modeli değişirse Azure VM Aracısı uzantıyı indirir ve yükselter.
Otomatik uzantı güncelleştirmeleri küçük veya düzeltmedir. Uzantıyı sağlarken küçük güncelleştirmeleri kabul edebilir veya geri çevirebilirsiniz. Aşağıdaki örnekte, bir ARM şablonundaki ikincil sürümleri parametresini kullanarak otomatik olarak yükseltme gösterilmektedir "autoUpgradeMinorVersion": true,
:
"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "1.9",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": [
"https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
]
},
En son ikincil sürüm hata düzeltmelerini almak için uzantı dağıtımlarınızda her zaman otomatik güncelleştirmeyi seçmenizi kesinlikle öneririz. Güvenlik veya önemli hata düzeltmeleri taşıyan düzeltme güncelleştirmelerini geri çeviremezsiniz.
Otomatik güncelleştirmeleri devre dışı bırakırsanız veya ana sürümü yükseltmeniz gerekiyorsa Set-AzVMExtension komutunu kullanın ve hedef sürümü belirtin.
Uzantı güncelleştirmelerini tanımlama
Uzantı güncelleştirmelerini tanımlamanın birkaç yolu vardır.
Uzantının vm üzerinde autoUpgradeMinorVersion ile ayarlandığını belirleme
Uzantının parametresiyle autoUpgradeMinorVersion
sağlanmış olup olmadığını belirlemek için VM modelini görüntüleyebilirsiniz. VM modelini denetlemek için Get-AzVm komutunu kullanın ve kaynak grubunu ve VM adını aşağıdaki gibi sağlayın:
$vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
$vm.Extensions
Aşağıdaki örnek çıktı, parametresinin autoUpgradeMinorVersion
olarak true
ayarlandığını gösterir:
ForceUpdateTag :
Publisher : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion : 1.9
AutoUpgradeMinorVersion : True
autoUpgradeMinorVersion olayının ne zaman gerçekleştiğini belirleme
Uzantıya yönelik bir güncelleştirmenin ne zaman gerçekleştiğini görmek için C:\WindowsAzure\Logs\WaAppAgent.log konumundaki VM'deki aracı günlüklerini gözden geçirebilirsiniz.
Aşağıdaki örnekte sürümü yüklü OLAN VM Microsoft.Compute.CustomScriptExtension
ve sürümü 1.8
için kullanılabilir bir düzeltme gösterilmektedir 1.9
.
[INFO] Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO] Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'
Aracı izinleri
Görevlerini gerçekleştirmek için Azure VM Aracısı'nın Yerel Sistem olarak çalışması gerekir.
VM uzantılarıyla ilgili sorunları giderme
Her VM uzantısının belirli sorun giderme adımları olabilir. Örneğin, Özel Betik Uzantısı'nı kullandığınızda, betik yürütme ayrıntılarını uzantının çalıştırıldığı VM'de yerel olarak bulabilirsiniz.
Aşağıdaki sorun giderme eylemleri tüm VM uzantıları için geçerlidir:
Azure VM Aracı Günlüğünü denetlemek için uzantınızın C:\WindowsAzure\Logs\WaAppAgent.log içinde sağlandığı etkinliğe bakın.
C:\WindowsAzure\Logs\Plugins extensionName içinde daha fazla ayrıntı için uzantı günlüklerine<bakın>.
Hata kodları, bilinen sorunlar ve uzantıya özgü diğer bilgiler için uzantıya özgü belgelerde sorun giderme bölümlerine bakın.
Sistem günlüklerine bakın. Paket yöneticisine özel erişim gerektiren başka bir uygulamanın uzun süre çalışan yüklemesi gibi uzantıyla engellenmiş olabilecek diğer işlemleri denetleyin.
Vm'de, sağlama durumu başarısız olan bir uzantı varsa, diğer yeni uzantılar yüklenemez.
Uzantı hatalarının yaygın nedenleri
Uzantının başarısız olmasının bazı yaygın nedenleri şunlardır:
Uzantıların çalıştırılması 20 dakika sürer. (90 dakikası olan Özel Betik, Chef ve DSC özel durumlardır.) Dağıtımınız bu süreyi aşarsa zaman aşımı olarak işaretlenir. Bu sorunun nedeni düşük kaynak VM'leri olabilir veya uzantı sağlamaya çalışırken diğer VM yapılandırmaları veya başlangıç görevleri büyük miktarda kaynak tüketiyor olabilir.
En düşük önkoşullar karşılanmaz. Bazı uzantıların HPC görüntüleri gibi VM SKU'larına bağımlılıkları vardır. Uzantılar, Azure Depolama veya genel hizmetlerle iletişim kurma gibi belirli ağ erişim gereksinimlerine sahip olabilir. Diğer örnekler paket depolarına erişim, disk alanı yetersiz veya güvenlik kısıtlamaları olabilir.
Paket yöneticisi erişimi özeldir. Bazı durumlarda, her ikisinin de paket yöneticisine özel erişime ihtiyacı olduğundan uzun süre çalışan bir VM yapılandırması ve uzantı yüklemesi çakışabilir.
Uzantı durumunu görüntüleme
Bir VM uzantısı bir VM'de çalıştırıldıktan sonra, uzantı durumunu döndürmek için Get-AzVM komutunu kullanın. Sonuç Substatuses[0]
, uzantı sağlamanın başarılı olduğunu gösterir ve bu da vm'ye başarıyla dağıtıldığı anlamına gelir. Sonucu görürseniz Substatuses[1]
, uzantının VM içinde yürütülmesi başarısız olur.
Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status
Çıktı aşağıdaki örneğe benzer:
Extensions[0] :
Name : CustomScriptExtension
Type : Microsoft.Compute.CustomScriptExtension
TypeHandlerVersion : 1.9
Substatuses[0] :
Code : ComponentStatus/StdOut/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
Substatuses[1] :
Code : ComponentStatus/StdErr/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the
-File parameter.
Statuses[0] :
Code : ProvisioningState/failed/-196608
Level : Error
DisplayStatus : Provisioning failed
Message : Finished executing command
Uzantı yürütme durumunu Azure portalında da bulabilirsiniz. VM'yi seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin.
VM uzantısını yeniden çalıştırma
Bazı durumlarda, bir VM uzantısını yeniden çalıştırmanız gerekebilir. Uzantıyı kaldırıp istediğiniz bir yürütme yöntemiyle yeniden çalıştırarak uzantıyı yeniden çalıştırabilirsiniz. Uzantıyı kaldırmak için Remove-AzVMExtension komutunu aşağıdaki gibi kullanın:
Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"
Uzantıyı Azure portalından da kaldırabilirsiniz. Bir VM seçin, Uzantılar'ı ve ardından istediğiniz uzantıyı seçin. Kaldır'ı seçin.
Ortak VM uzantısı başvurusu
Aşağıdaki tabloda VM uzantıları için bazı yaygın başvurular sağlanmaktadır.
Uzantı adı | Açıklama |
---|---|
Windows için Özel Betik Uzantısı | Bir Azure sanal makinesinde betik çalıştırma. |
Windows için DSC uzantısı | PowerShell istenen durum yapılandırmalarını bir sanal makineye uygulayın. |
Azure Tanılama uzantısı | Azure Tanılama yönetme. |
VMAccess uzantısı | Kullanıcıları ve kimlik bilgilerini yönetme. |
Sonraki adımlar
VM uzantıları hakkında daha fazla bilgi için bkz . Azure sanal makine uzantıları ve özellikleri.