Tutorial: Membuat dan menggunakan gambar kustom untuk Virtual Machine Scale Sets dengan Azure PowerShell
Saat Anda membuat set skala, Anda menentukan gambar yang akan digunakan saat instans VM diterapkan. Untuk mengurangi jumlah tugas setelah instans VM diterapkan, Anda dapat menggunakan gambar VM kustom. Gambar VM kustom ini mencakup instalasi atau konfigurasi aplikasi yang diperlukan. Setiap instans VM yang dibuat dalam set skala menggunakan gambar VM kustom dan siap untuk melayani lalu lintas aplikasi Anda. Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat Azure Compute Gallery
- Membuat definisi gambar
- Membuat versi gambar
- Membuat set skala dari gambar
- Berbagi galeri gambar
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Meluncurkan Azure Cloud Shell
Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.
Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com/powershell. Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, dan tekan masukkan untuk menjalankannya.
Membuat dan mengonfigurasi sumber VM
Pertama, buat grup sumber daya dengan New-AzResourceGroup, lalu buat VM dengan New-AzVM. VM ini kemudian digunakan sebagai sumber untuk gambar. Contoh berikut ini menampilkan cara membuat VM bernama myVM di grup sumber daya bernama myResourceGroup:
New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'
New-AzVm `
-ResourceGroupName 'myResourceGroup' `
-Name 'myVM' `
-Location 'East US' `
-VirtualNetworkName 'myVnet' `
-SubnetName 'mySubnet' `
-SecurityGroupName 'myNetworkSecurityGroup' `
-PublicIpAddressName 'myPublicIpAddress' `
-OpenPorts 80,3389
Menyimpan variabel VM
Anda dapat melihat daftar Komputer Virtual tersedia di dalam grup sumber daya menggunakan Get-AzVM. Setelah Anda mengetahui nama VM dan grup sumber daya apa, Anda dapat menggunakan Get-AzVM
lagi untuk mendapatkan objek VM dan menyimpannya dalam variabel untuk digunakan nanti. Contoh ini mendapatkan VM bernama myVM dari grup sumber daya "myResourceGroup" dan menetapkannya ke variabel $vm.
$sourceVM = Get-AzVM `
-Name myVM `
-ResourceGroupName myResourceGroup
Membuat galeri gambar
Galeri gambar adalah sumber daya utama yang digunakan untuk mengaktifkan berbagi gambar. Karakter yang diperbolehkan untuk nama Galeri adalah huruf besar atau huruf kecil, digit, titik, dan titik. Nama galeri tak boleh memuat garis putus-putus. Nama galeri harus unik di dalam langganan Anda.
Buat galeri gambar menggunakan New-AzGallery. Contoh berikut membuat galeri bernama myGallery di grup sumber daya myGalleryRG.
$resourceGroup = New-AzResourceGroup `
-Name 'myGalleryRG' `
-Location 'EastUS'
$gallery = New-AzGallery `
-GalleryName 'myGallery' `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-Description 'Azure Compute Gallery for my organization'
Membuat definisi gambar
Definisi citra membuat pengelompokan logis untuk citra. Mereka digunakan untuk mengelola informasi tentang versi gambar yang dibuat di dalamnya. Nama definisi gambar dapat terdiri dari huruf besar atau kecil, angka, titik, tanda hubung, dan titik. Untuk informasi selengkapnya tentang nilai yang bisa Anda tentukan untuk definisi gambar, lihat Definisi citra.
Buat definisi gambar menggunakan New-AzGalleryImageDefinition. Dalam contoh ini, gambar galeri diberi nama myGalleryImage dan dibuat untuk gambar khusus.
$galleryImage = New-AzGalleryImageDefinition `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $gallery.Location `
-Name 'myImageDefinition' `
-OsState specialized `
-OsType Windows `
-Publisher 'myPublisher' `
-Offer 'myOffer' `
-Sku 'mySKU'
Membuat versi gambar
Buat versi gambar dari komputer virtual menggunakan New-AzGalleryImageVersion.
Karakter yang diizinkan untuk versi citra adalah angka dan titik. Angka harus berada dalam rentang bilangan bulat 32-bit. Format: MajorVersion.MinorVersion.Patch.
Dalam contoh ini, versi gambar adalah 1.0.0 dan direplikasi ke kedua pusat data US Timur dan US Selatan Tengah. Saat memilih wilayah target untuk replikasi, Anda perlu menyertakan wilayah sumber sebagai target replikasi.
Untuk membuat versi citra dari komputer virtual, $vm.Id.ToString()
gunakan untuk -Source
.
$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)
New-AzGalleryImageVersion `
-GalleryImageDefinitionName $galleryImage.Name`
-GalleryImageVersionName '1.0.0' `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-TargetRegion $targetRegions `
-Source $sourceVM.Id.ToString() `
-PublishingProfileEndOfLifeDate '2023-12-01'
Ini bisa memakan waktu cukup lama untuk mereplikasi gambar ke semua wilayah target.
Membuat set skala dari gambar
Sekarang buat set skala dengan New-AzVmss yang menggunakan -ImageName
parameter untuk menentukan gambar komputer virtual kustom yang dibuat pada langkah sebelumnya. Untuk mendistribusikan lalu lintas ke instans komputer virtual individual, load balancer juga dibuat. Penyeimbang muatan mencakup aturan untuk mendistribusikan lalu lintas pada port TCP 80, serta memungkinkan lalu lintas desktop jarak jauh pada port TCP 3389 dan PowerShell jarak jauh pada port TCP 5985. Saat diminta, berikan informasi masuk administratif yang Anda inginkan untuk instans komputer virtual dalam set skala:
Penting
Mulai November 2023, set skala VM yang dibuat menggunakan PowerShell dan Azure CLI akan default ke Mode Orkestrasi Fleksibel jika tidak ada mode orkestrasi yang ditentukan. Untuk informasi selengkapnya tentang perubahan ini dan tindakan apa yang harus Anda ambil, buka Melanggar Perubahan untuk Pelanggan VMSS PowerShell/CLI - Microsoft Community Hub
# Define variables for the scale set
$resourceGroupName = "myScaleSet"
$scaleSetName = "myScaleSet"
$location = "East US"
# Create a resource group
New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location
# Create a configuration
$vmssConfig = New-AzVmssConfig `
-Location $location `
-OrchestrationMode Flexible `
-SkuCapacity 2 `
-SkuName "Standard_D2s_v3"
# Reference the image version
Set-AzVmssStorageProfile $vmssConfig `
-OsDiskCreateOption "FromImage" `
-ImageReferenceId $galleryImage.Id
# Create the scale set
New-AzVmss `
-ResourceGroupName $resourceGroupName `
-Name $scaleSetName `
-VirtualMachineScaleSet $vmssConfig
Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya dan komputer virtual set skala.
Membagikan galeri
Kami menyarankan Anda berbagi akses di tingkat galeri gambar. Gunakan alamat surel dan cmdlet Get-AzADUser untuk mendapatkan ID objek bagi pengguna, lalu gunakan New-AzRoleAssignment untuk memberi akses ke galeri. Ganti surel contoh, alinne_montes@contoso.com dalam contoh ini, dengan informasi Anda sendiri.
# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
-ObjectId $user.Id `
-RoleDefinitionName Reader `
-ResourceName $gallery.Name `
-ResourceType Microsoft.Compute/galleries `
-ResourceGroupName $resourceGroup.ResourceGroupName
Membersihkan sumber daya
Setelah selesai, Anda dapat menggunakan cmdlet Hapus-AzResourceGroup untuk menghapus grup sumber daya dan sumber daya terkait lainnya:
# Delete the gallery
Remove-AzResourceGroup -Name myGalleryRG
# Delete the scale set resource group
Remove-AzResourceGroup -Name myResoureceGroup
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara membuat dan menggunakan gambar VM kustom untuk rangkaian skala Anda dengan Azure PowerShell:
- Membuat Azure Compute Gallery
- Membuat definisi gambar
- Membuat versi gambar
- Membuat set skala dari gambar
- Berbagi galeri gambar
Lanjutkan ke tutorial berikutnya untuk belajar bagaimana menyebarkan aplikasi ke set skala Anda.