Özel Komut Dosyası Uzantısı ile Uygulamaları Azure’da Bir Windows Sanal Makinesine Dağıtma
Özel Komut Dosyası Uzantısı, Azure VM’lerindeki komut dosyalarını indirir ve yürütür. Bu uzantı dağıtım sonrası yapılandırma, yazılım yükleme veya başka herhangi bir yapılandırma / yönetim görevi için kullanılabilir. Komut dosyaları Azure depolamadan veya GitHub’dan indirilebilir veya uzantı çalışma zamanında Azure portalına sağlanabilir.
Özel Komut Dosyası uzantısı Azure Kaynak Yöneticisi şablonlarıyla tümleştirilir ve Azure CLI, PowerShell, Azure portalı veya Azure Sanal Makine REST API’si kullanılarak da çalıştırılabilir.
Özel Komut Dosyası Uzantısını hem Windows hem de Linux VM’leriyle kullanabilirsiniz.
Bunlarla ilgili örnek çalışmamızı yapalım:
- Azure Cloud Shell’i açarak Get-Credential ile VM için yönetici kullanıcı adını ve parolasını ayarlayın
$cred = Get-Credential
- Artık VM’i New-AzVM ile oluşturabilirsiniz. Aşağıdaki örnek, West Europe konumunda OnderVM01 adlı bir VM oluşturur. Henüz yoksa, OnderRG kaynak grubu ve destekleyici ağ kaynakları oluşturulur. Web trafiğine izin vermek için, cmdlet 80 numaralı bağlantı noktasını da açar.
New-AzVm `
-ResourceGroupName "OnderRG" `
-Name "OnderVM" `
-Location "West Europe" `
-VirtualNetworkName "OnderVnet" `
-SubnetName "OnderSubnet" `
-SecurityGroupName "OnderNSG" `
-PublicIpAddressName "OnderPIP" `
-OpenPorts 80 `
-Credential $cred
- Kaynakların ve VM’nin oluşturulması birkaç dakika sürecektir.
- Özel Komut Dosyası Uzantısını yüklemek için Set-AzVMExtension’ı kullanabilirsiniz. Uzantı, IIS web sunucusunu yüklemek için powershell Add-WindowsFeature Web Sunucusu’nu çalıştırır ve sonra VM’nin ana bilgisayar adını göstermek için Default.htm sayfasını güncelleştirir:
Set-AzVMExtension -ResourceGroupName "OnderRG" `
-ExtensionName "IIS" `
-VMName "OnderVM" `
-Location "WestEurope" `
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.8 `
-SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
- Daha sonra VM’in genel IP adresini bir web tarayıcısına girebilirsiniz. Web sitesi, yük dengeleyicisinin trafiği aşağıdakiörnekte olduğu gibi dağıttığı VM’nin ana bilgisayar adı da dahil olmak üzere görüntülenecektir: