Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk menjalankan aplikasi pada instans komputer virtual (VM) dalam set skala, Pertama-tama Anda perlu menginstal komponen aplikasi dan file yang diperlukan. Dalam tutorial sebelumnya, Anda mempelajari cara membuat dan menggunakan gambar VM kustom untuk menyebarkan instans VM Anda. Gambar kustom ini mencakup penginstalan dan konfigurasi aplikasi manual. Anda juga dapat mengotomatisasi instalasi aplikasi pada kumpulan skala setelah setiap kali instance VM diterapkan, atau memperbarui aplikasi yang sudah berjalan di kumpulan skala. Dalam tutorial ini, Anda akan mempelajari cara:
- Menginstal aplikasi secara otomatis ke set skala Anda
- Menggunakan Ekstensi Skrip Kustom Azure
- Memperbarui aplikasi yang sedang berjalan pada set skala
Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
Azure Cloud Shell
Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.
Untuk memulai Azure Cloud Shell:
| Option | Contoh/Tautan |
|---|---|
| Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. |
|
| Pergi ke https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. |
|
| Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. |
|
Untuk menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.
Pilih Masukkan untuk menjalankan kode atau perintah.
Apa itu Ekstensi Skrip Kustom Azure?
Ekstensi Skrip Kustom mengunduh dan menjalankan skrip di Azure VM. Ekstensi ini berguna untuk konfigurasi pasca penyebaran, penginstalan perangkat lunak, atau tugas konfigurasi/manajemen lainnya. Skrip dapat diunduh dari penyimpanan Azure atau GitHub, atau disediakan ke portal Azure pada saat run-time ekstensi.
Ekstensi Skrip Kustom terintegrasi dengan templat Azure Resource Manager. Ini juga dapat digunakan dengan Azure CLI, Azure PowerShell, portal Microsoft Azure, atau REST API. Untuk informasi selengkapnya, lihat Gambaran umum Ekstensi Skrip Kustom.
Untuk melihat Ekstensi Skrip Kustom sedang berjalan, buat setel skala yang menginstal server web IIS dan menampilkan nama host contoh VM setel skala. Definisi Ekstensi Skrip Kustom mengunduh contoh skrip dari GitHub, menginstal paket yang diperlukan, lalu menulis nama host instans VM ke halaman HTML dasar.
Membuat himpunan skala
Membuat grup sumber daya menggunakan New-AzResourceGroup. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi US Timur :
New-AzResourceGroup -Name myResourceGroup -Location "East US"
Sekarang buat Virtual Machine Scale Set dengan New-AzVmss. Untuk mendistribusikan lalu lintas ke instans VM individual, load balancer juga dibuat. Load balancer mencakup aturan untuk mendistribusikan lalu lintas pada port TCP 80. Ini juga memungkinkan lalu lintas desktop jarak jauh pada port TCP 3389 dan PowerShell remoting pada port TCP 5985. Saat diminta, Anda dapat mengatur kredensial administratif Anda sendiri untuk instans VM dalam set skala:
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-UpgradePolicyMode "Manual" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer"
Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya dan mesin virtual skala set.
Membuat definisi Ekstensi Skrip Kustom
Azure PowerShell menggunakan hashtable untuk menyimpan file untuk diunduh dan perintah untuk dijalankan. Dalam contoh berikut, sampel skrip dari GitHub digunakan. Pertama, buat objek konfigurasi ini sebagai berikut:
$customConfig = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1"
}
Sekarang, terapkan Ekstensi Skrip Kustom dengan Add-AzVmssExtension. Objek konfigurasi yang sebelumnya ditentukan diteruskan ke ekstensi. Perbarui ekstensi dengan Update-AzVmss pada instans profil set skala.
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Add the Custom Script Extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
-VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.9 `
-Setting $customConfig
# Update the scale set
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Tambahkan ekstensi ke instans set skala yang ada
Lakukan peningkatan secara manual untuk menerapkan ekstensi yang telah diperbarui ke semua instans set skala yang ada. Pembaruan mungkin memerlukan waktu beberapa menit untuk diselesaikan.
Update-AzVmssInstance -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "*"
Setiap instans VM dalam set skala otomatis mengunduh dan menjalankan skrip dari GitHub. Dalam contoh yang lebih kompleks, beberapa komponen dan file aplikasi dapat diinstal. Jika set skala ditingkatkan, instans VM baru secara otomatis akan menerapkan definisi Ekstensi Skrip Kustom yang sama dan menjalankan aplikasi yang diperlukan.
Izinkan lalu lintas ke aplikasi
Untuk mengizinkan akses ke aplikasi web dasar, buat grup keamanan jaringan dengan New-AzNetworkSecurityRuleConfig dan New-AzNetworkSecurityGroup. Untuk informasi selengkapnya, lihat Jaringan untuk Grup Skala Mesin Virtual Azure.
#Create a rule to allow traffic over port 80
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
#Create a network security group and associate it with the rule
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName "myResourceGroup" `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Name myVnet
$frontendSubnet = $vnet.Subnets[0]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name mySubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
Set-AzVirtualNetwork -VirtualNetwork $vnet
Menguji set skala Anda
Untuk melihat server web Anda beraksi, dapatkan alamat IP publik load balancer Anda dengan Get-AzPublicIpAddress. Contoh berikut menampilkan alamat IP yang dibuat di grup sumber daya myResourceGroup :
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select IpAddress
Masukkan alamat IP publik load balancer ke dalam browser web Anda. Load balancer mendistribusikan lalu lintas ke salah satu instans VM Anda, seperti yang ditunjukkan dalam contoh berikut:
Biarkan browser web terbuka sehingga Anda dapat melihat versi yang diperbarui di langkah berikutnya.
Mengubah kebijakan pemutakhiran
Di bagian sebelumnya, untuk menerapkan aplikasi yang diperbarui ke semua instans set skala, diperlukan peningkatan manual. Untuk menerapkan pembaruan secara otomatis ke semua instans set skala yang ada, ubah kebijakan peningkatan dari manual menjadi otomatis. Untuk informasi selengkapnya tentang kebijakan peningkatan, lihat Kebijakan peningkatan untuk Virtual Machine Scale Sets.
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Update-Azvmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-UpgradePolicyMode "Automatic" `
-VirtualMachineScaleSet $vmss
Memperbarui penyebaran aplikasi
Sepanjang siklus hidup set skala, Anda mungkin perlu menyebarkan versi terbaru aplikasi Anda. Dengan Ekstensi Skrip Kustom, Anda dapat mereferensikan skrip penyebaran yang diperbarui lalu menerapkan kembali ekstensi ke set skala Anda.
Buat definisi konfigurasi baru bernama customConfigv2. Definisi ini menjalankan versi v2 yang diperbarui dari skrip penginstalan aplikasi:
$customConfigv2 = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis-v2.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis-v2.ps1"
}
Perbarui konfigurasi ekstensi skrip khusus pada instans VM di set skala Anda. Definisi customConfigv2 digunakan untuk menerapkan versi aplikasi yang diperbarui ke set skala:
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
$vmss.VirtualMachineProfile.ExtensionProfile[0].Extensions[0].Settings = $customConfigv2
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Karena set skala sekarang menggunakan kebijakan peningkatan otomatis, aplikasi yang diperbarui akan secara otomatis diterapkan ke instans set skala yang ada. Refresh browser web Anda untuk melihat aplikasi yang diperbarui. Untuk melihat versi yang diperbarui, refresh situs web di browser Anda:
Membersihkan sumber daya
Untuk menghapus set skala dan sumber daya tambahan Anda, hapus grup sumber daya dan semua sumber dayanya dengan Remove-AzResourceGroup. Parameter -Force mengonfirmasi bahwa Anda ingin menghapus sumber daya tanpa perintah tambahan untuk melakukannya. Parameter -AsJob mengembalikan kontrol ke permintaan tanpa menunggu operasi selesai.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Langkah selanjutnya
Dalam tutorial ini, Anda mempelajari cara menginstal dan memperbarui aplikasi secara otomatis pada set skala Anda dengan Azure PowerShell:
- Menginstal aplikasi secara otomatis ke set skala Anda
- Menggunakan Ekstensi Skrip Kustom Azure
- Memperbarui aplikasi yang sedang berjalan pada set skala
Lanjutkan ke tutorial berikutnya untuk mempelajari cara menskalakan set skala Anda secara otomatis.