Tanya Jawab Umum untuk Azure Virtual Machine Scale Sets

Dapatkan jawaban atas tanya jawab umum tentang Virtual Machine Scale Sets di Azure.

Tanya jawab umum teratas untuk set skala

Berapa banyak VM yang dapat saya miliki dalam satu set skala?

Kumpulan skala dapat berkisar antara 0 hingga 1.000 mesin virtual (VM) berdasarkan gambar platform, atau berkisar antara 0 hingga 600 berdasarkan gambar kustom.

Apakah disk data didukung dalam set skala?

Ya. Kumpulan skala dapat menentukan konfigurasi disk data terlampir yang berlaku untuk semua VM dalam kumpulan tersebut. Untuk informasi selengkapnya, lihat Set skala Azure dan disk data terlampir. Opsi lain untuk menyimpan data meliputi:

  • Disk Terkelola Azure (Premium v2, Premium, Standar, Ultra)
  • Azure Files (drive bersama SMB atau NFS)
  • Azure Netapp Files
  • Disk bersama Azure
  • Drive sistem operasi
  • Drive tempt (lokal, tidak didukung oleh Azure Storage)
  • Layanan data Azure (misalnya, Azure Table Storage atau Azure Blob Storage)
  • Layanan data eksternal (misalnya, database jarak jauh)

Wilayah Azure mana yang mendukung set skala?

Semua wilayah mendukung set skala.

SKU mana yang didukung untuk Virtual Machine Scale Sets?

Semua SKU didukung untuk Virtual Machine Scale Sets.

Bagaimana cara membuat set skala menggunakan citra kustom?

Buat dan ambil gambar VM, lalu gunakan sebagai sumber untuk kumpulan skala Anda. Untuk tutorial tentang cara membuat dan menggunakan gambar VM kustom, Anda dapat menggunakan Azure CLI atau Azure PowerShell.

Apa perbedaan betweeen OS Image Upgrade and Reimage?

Peningkatan Gambar OS adalah proses bertahap dan tidak mengganggu yang memperbarui gambar OS untuk seluruh Set Skala Komputer Virtual dari waktu ke waktu, memastikan dampak minimal pada beban kerja yang berjalan.

Reimage adalah tindakan yang lebih langsung dan mengganggu yang hanya memengaruhi instans VM yang dipilih, menghentikannya sementara dan menginstal ulang OS.

Pelajari selengkapnya tentang perbedaan antara Peningkatan Gambar OS dan Reimage.

Jika saya mengurangi kapasitas set skala saya dari 20 hingga 15, VM mana yang dihapus?

Secara default, mesin virtual dihapus dari kumpulan skala secara merata di seluruh zona ketersediaan (jika kumpulan skala disebarkan dalam konfigurasi zona) dan domain kesalahan untuk memaksimalkan ketersediaan. VM dengan ID tertinggi dihapus terlebih dahulu.

Anda dapat mengubah urutan penghapusan komputer virtual dengan menentukan kebijakan dalam skala untuk set skala.

Bagaimana jika saya kemudian meningkatkan kapasitas dari 15 ke 18?

Jika Anda meningkatkan kapasitas menjadi 18, 3 VM baru akan dibuat. Setiap kali dilakukan, ID instans VM ditambah dari nilai tertinggi sebelumnya (misalnya, 20, 21, 22). VM diseimbangkan di seluruh domain kesalahan.

Saat saya menggunakan beberapa ekstensi dalam set skala, bisakah saya menerapkan urutan eksekusi?

Ya, Anda dapat menggunakan urutan ekstensi set skala.

Apakah set skala berfungsi dengan set ketersediaan Azure?

Set skala regional (non-zonal) menggunakan grup penempatan, yang berfungsi sebagai set ketersediaan implisit dengan lima domain kesalahan dan lima domain pembaruan. Set skala yang lebih dari 100 VM mencakup beberapa grup penempatan. Untuk informasi selengkapnya tentang grup penempatan, lihat Bekerja dengan Virtual Machine Scale Sets yang besar. Set ketersediaan VM dapat berada di jaringan virtual yang sama dengan set skala VM. Konfigurasi umum adalah mengontrol VM node (yang sering memerlukan konfigurasi unik) dalam kumpulan ketersediaan dan menempatkan node data dalam kumpulan skala.

Apakah set skala berfungsi dengan zona ketersediaan Azure?

Ya. Untuk informasi selengkapnya, lihat dokumen zona set skala.

Skala otomatis

Apa saja praktik terbaik untuk skala otomatis Azure?

Di mana saya dapat menemukan nama metrik untuk penskalaan otomatis yang menggunakan metrik berbasis host?

Apakah ada contoh penskalaan otomatis berdasarkan topik Azure Service Bus dan panjang antrean?

Ya. Untuk contoh tersebut, lihat metrik umum penskalaan otomatis Azure Monitor.

Untuk antrean Service Bus, gunakan JSON berikut:

"metricName": "MessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/s1/resourceGroups/rg1/providers/Microsoft.ServiceBus/namespaces/mySB/queues/myqueue"

Untuk antrean penyimpanan, gunakan JSON berikut:

"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/s1/resourceGroups/rg1/providers/Microsoft.ClassicStorage/storageAccounts/mystorage/services/queue/queues/mystoragequeue"

Ganti nilai contoh dengan Pengidentifikasi Sumber Daya Seragam (URI) sumber daya Anda.

Haruskah saya melakukan skala otomatis menggunakan metrik berbasis host atau ekstensi diagnostik?

Anda dapat membuat pengaturan skala otomatis pada VM untuk menggunakan metrik tingkat host, atau metrik berdasarkan sistem operasi tamu.

Untuk daftar metrik yang didukung, lihat Metrik umum penskalaan otomatis Azure Monitor.

Untuk sampel lengkap untuk Virtual Machine Scale Sets, lihat Konfigurasi skala otomatis tingkat lanjut dengan menggunakan templat Resource Manager untuk Virtual Machine Scale Sets.

Sampel menggunakan metrik CPU tingkat host dan metrik penghitungan pesan.

Bagaimana cara mengatur aturan pemberitahuan pada Set Skala Komputer Virtual?

Anda dapat membuat pemberitahuan tentang metrik untuk Virtual Machine Scale Sets melalui PowerShell atau Azure CLI. Untuk informasi selengkapnya, lihat Sampel mulai cepat Azure Monitor PowerShell dan Sampel mulai cepat CLI lintas platform Azure Monitor.

TargetResourceId Kumpulan Skala Komputer Virtual terlihat seperti:

/subscriptions/yoursubscriptionid/resourceGroups/yourresourcegroup/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmssname

Anda dapat memilih penghitung kinerja VM apa pun sebagai metrik untuk mengatur pemberitahuan. Untuk informasi selengkapnya, lihat Metrik sistem operasi tamu untuk VM Windows berbasis Resource Manager dan Metrik sistem operasi tamu untuk VM Linux di artikel metrik umum penskalaan otomatis Azure Monitor.

Bagaimana cara menyiapkan skala otomatis pada Virtual Machine Scale Set dengan menggunakan PowerShell?

Lihat menskalakan Virtual Machine Scale Set secara otomatis. Anda juga dapat mengonfigurasikan skala otomatis dengan templat Azure CLI dan Azure.

Jika saya telah menghentikan (dibatalkan alokasinya) VM, apakah VM tersebut dimulai sebagai bagian dari operasi skala otomatis?

Tidak. Jika aturan skala otomatis memerlukan instans mesin virtual tambahan sebagai bagian dari set skala, instans mesin virtual baru akan dibuat. Instans VM yang dihentikan (dibatalkan alokasinya) tidak dimulai sebagai bagian dari peristiwa skala otomatis. Namun, VM yang dihentikan (dibatalkan alokasinya) dapat dihapus sebagai bagian dari peristiwa skala otomatis yang menskalakan jumlah instans, dengan cara yang sama seperti instans VM apa pun yang dapat dihapus berdasarkan urutan ID instans VM.

Sertifikat

Bagaimana cara mengirim sertifikat dengan aman ke VM?

Untuk mengirim sertifikat dengan aman ke VM, Anda dapat memasang sertifikat pelanggan langsung ke penyimpanan sertifikat Windows dari brankas kunci pelanggan.

Gunakan JSON berikut:

"secrets": [
    {
        "sourceVault": {
            "id": "/subscriptions/{subscriptionid}/resourceGroups/myrg1/providers/Microsoft.KeyVault/vaults/mykeyvault1"
        },
        "vaultCertificates": [
            {
                "certificateUrl": "https://mykeyvault1.vault.azure.net/secrets/{secretname}/{secret-version}",
                "certificateStore": "certificateStoreName"
            }
        ]
    }
]

Kode ini mendukung Windows dan Linux.

Untuk informasi selengkapnya, lihat Membuat atau memperbarui Virtual Machine Scale Set.

Bagaimana cara menggunakan sertifikat yang ditandatangani sendiri yang diprovisikan untuk kluster Azure Service Fabric?

Untuk contoh terbaru, di shell Azure, gunakan pernyataan Azure CLI berikut, yang akan dicetak menjadi stdout:

az sf cluster create -h

Sertifikat yang ditandatangani sendiri tidak dapat digunakan untuk kepercayaan terdistribusi yang diberikan otoritas sertifikat, dan sebaiknya jangan digunakan untuk kluster Service Fabric yang dimaksudkan untuk menghosting solusi produksi perusahaan. Untuk panduan keamanan tambahan, harap lihat praktik terbaik keamanan Azure Service Fabric serta skenario keamanan kluster Service Fabric.

Untuk autentikasi SSH dengan Linux Virtual Machine Scale Set dari templat Resource Manager, dapatkah saya menentukan pasangan kunci SSH yang akan digunakan?

Ya. REST API untuk osProfile mirip dengan VM REST API standar.

Sertakan osProfile dalam templat Anda:

"osProfile": {
    "computerName": "[variables('vmName')]",
    "adminUsername": "[parameters('adminUserName')]",
    "linuxConfiguration": {
        "disablePasswordAuthentication": "true",
        "ssh": {
            "publicKeys": [
                {
                    "path": "[variables('sshKeyPath')]",
                    "keyData": "[parameters('sshKeyData')]"
                }
            ]
        }
    }
}

Blok JSON ini akan digunakan dalam Template Mulai Cepat Azure ini.

Untuk informasi selengkapnya, lihat Membuat atau memperbarui Virtual Machine Scale Set.

Bagaimana cara menghapus sertifikat yang tidak digunakan lagi?

Untuk menghapus sertifikat yang tidak digunakan lagi, hapus sertifikat lama dari daftar sertifikat vault. Tinggalkan semua sertifikat yang ingin Anda tetap diaktifkan di komputer Anda dalam daftar. Tindakan ini tidak menghapus sertifikat dari semua VM Anda. Ini juga tidak menambahkan sertifikat ke VM baru yang dibuat di Virtual Machine Scale Set.

Untuk menghapus sertifikat dari VM yang ada, gunakan ekstensi skrip kustom untuk menghapus sertifikat secara manual dari penyimpanan sertifikat Anda.

Bagaimana cara menyuntikkan kunci publik SSH yang ada ke lapisan Virtual Machine Scale Set SSH selama provisi?

Jika menyediakan mesin virtual hanya dengan kunci SSH umum, Anda tidak perlu meletakkan kunci umum di Azure Key Vault. Kunci umum bukanlah rahasia.

Anda dapat menyediakan kunci umum SSH dalam teks biasa saat Membuat VM Linux:

"linuxConfiguration": {
    "ssh": {
        "publicKeys": [
            {
                "path": "path",
                "keyData": "publickey"
            }
        ]
    }
}
linuxConfiguration nama elemen Wajib Tipe Deskripsi
ssh No Koleksi Menentukan konfigurasi kunci SSH untuk sistem operasi Linux.
path Ya String Menentukan jalur file Linux tempat kunci atau sertifikat SSH seharusnya diletakkan.
keyData Ya String Menentukan kunci umum SSH yang dikodekan base64.

Misalnya, lihat templat mulai cepat GitHub vm-sshkey.

Saat saya menjalankan `Update-AzVmss`setelah menambahkan lebih dari satu sertifikat dari key vault yang sama, mengapa saya menerima pesan kesalahan?

Kesalahan ini dapat terjadi jika Anda mencoba menambahkan kembali vault yang sama alih-alih menggunakan sertifikat vault baru untuk vault sumber yang ada. Perintah Add-AzVmssSecret tidak akan berfungsi dengan benar jika Anda menambahkan rahasia tambahan.

Untuk menambahkan rahasia lain dari key vault yang sama, perbarui daftar berikut: $vmss.properties.osProfile.secrets[0].vaultCertificates.

Untuk struktur input yang diharapkan, lihat Membuat atau memperbarui set komputer virtual.

Temukan rahasia di objek Virtual Machine Scale Set yang ada di brankas kunci. Kemudian, tambahkan referensi sertifikat Anda (URL dan nama penyimpanan rahasia) ke daftar yang terkait dengan vault.

Catatan

Saat ini, Anda tidak dapat menghapus sertifikat dari VM dengan menggunakan API Virtual Machine Scale Set.

VM baru tidak akan memiliki sertifikat lama. Namun, VM yang memiliki sertifikat dan yang sudah disebarkan akan memiliki sertifikat lama.

Dapatkah saya mendorong sertifikat ke Virtual Machine Scale Set tanpa memberikan kata sandi, ketika sertifikat berada di penyimpanan rahasia?

Anda tidak perlu kata sandi yang dikodekan secara permanen dalam skrip. Anda dapat mengambil kata sandi secara dinamis dengan izin yang Anda gunakan untuk menjalankan skrip penyebaran. Jika Anda memiliki skrip yang memindahkan sertifikat dari keybrankas kunci penyimpanan rahasia, perintah get certificate penyimpanan rahasia juga menghasilkan kata sandi file .pfx.

Bagaimana properti 'Rahasia' dari 'virtualMachineProfile.osProfile' untuk pekerjaan Set Skala Komputer Virtual? Mengapa saya memerlukan nilai `sourceVault` saat saya harus menentukan URI absolut untuk sertifikat dengan menggunakan properti `certificateUrl`?

Referensi sertifikat Windows Remote Management (WinRM) harus ada di properti Secrets dari profil sistem operasi.

Tujuan menunjukkan vault sumber adalah untuk menerapkan kebijakan daftar kontrol akses (ACL) yang ada dalam model Azure Cloud Service milik pengguna. Jika vault sumber tidak ditentukan, pengguna yang tidak memiliki izin untuk menyebarkan atau mengakses rahasia ke key vault yang dapat diakses melalui Compute Resource Provider (CRP). ACL ada bahkan untuk sumber daya yang tidak ada.

Jika Anda memberikan ID vault sumber yang salah, tetapi URL key vault yang valid, kesalahan akan dilaporkan saat Anda melakukan polling terkait operasi.

Jika saya menambahkan rahasia ke Virtual Machine Scale Set yang ada, apakah rahasia disuntikkan ke VM yang ada, atau hanya ke yang baru?

Sertifikat ditambahkan ke semua VM Anda, bahkan VM yang sudah ada sebelumnya. Jika properti Set upgradePolicy Skala Komputer Virtual Anda diatur ke manual, sertifikat ditambahkan ke VM saat Anda melakukan pembaruan manual pada VM.

Di mana saya menempatkan sertifikat untuk VM Linux?

Untuk mempelajari cara menyebarkan sertifikat untuk VM Linux, lihat Menyebarkan sertifikat ke VM dari brankas kunci yang dikelola pelanggan.

Bagaimana cara menambahkan sertifikat vault baru ke objek sertifikat baru?

Untuk menambahkan sertifikat vault ke rahasia yang sudah ada, lihat contoh PowerShell berikut ini. Menggunakan hanya satu objek rahasia.

$newVaultCertificate = New-AzVmssVaultCertificateConfig -CertificateStore MY -CertificateUrl https://sansunallapps1.vault.azure.net:443/secrets/dg-private-enc/55fa0332edc44a84ad655298905f1809

$vmss.VirtualMachineProfile.OsProfile.Secrets[0].VaultCertificates.Add($newVaultCertificate)

Update-AzVmss -VirtualMachineScaleSet $vmss -ResourceGroup $rg -Name $vmssName

Apa yang terjadi pada sertifikat jika saya mencitrakan ulang VM?

Jika Anda mengganti VM, sertifikat akan dihapus. Mencitrakan ulang akan menghapus seluruh disk sistem operasi.

Apa yang terjadi jika saya menghapus sertifikat dari key vault?

Jika rahasia dihapus dari brankas kunci, lalu jalankan stop deallocate untuk semua VM Anda, lalu mulai lagi, Anda akan mengalami kegagalan. Kegagalan terjadi karena CRP perlu mengambil rahasia dari key vault, tetapi tidak bisa. Dalam skenario ini, Anda dapat menghapus sertifikat dari model Virtual Machine Scale Set.

Komponen CRP tidak membuat rahasia pelanggan bersifat tetap. Jika Anda menjalankan stop deallocate untuk semua VM di Virtual Machine Scale Set, cache akan dihapus. Dalam skenario ini, rahasia diambil dari brankas kunci.

Anda tidak mengalami masalah ini saat melakukan penskalaan. karena ada salinan cache dari rahasia di Azure Service Fabric (dalam model penyewa single-fabric).

Mengapa saya harus menentukan versi sertifikat saat menggunakan Key Vault?

Tujuannya adalah untuk menjelaskan kepada pengguna sertifikat apa yang disebarkan di VM mereka.

Jika Anda membuat VM lalu memperbarui rahasia Anda di key vault, sertifikat baru tidak diunduh ke VM Anda. Tapi VM Anda tampaknya mereferensikannya, dan VM baru mendapatkan rahasia baru. Untuk menghindari masalah ini, Anda diharuskan untuk mereferensikan versi rahasia.

Tim saya bekerja dengan beberapa sertifikat yang didistribusikan kepada kami sebagai kunci umum .cer. Apa pendekatan yang direkomendasikan untuk menyebarkan sertifikat ini ke Set Skala Komputer Virtual?

Untuk menyebarkan kunci publik .cer ke Virtual Machine Scale Set, Anda dapat membuat file .pfx yang hanya berisi file .cer. Untuk melakukannya, gunakan X509ContentType = Pfx. Misalnya, muat file .cer sebagai objek x509Certificate2 di C# atau PowerShell, lalu panggil metode tersebut.

Untuk informasi selengkapnya, lihat X509Certificate.Export Method (X509ContentType, String).

Bagaimana cara meneruskan sertifikat sebagai string base64?

Untuk meniru penerusan dalam sertifikat sebagai string base64, Anda dapat mengekstrak URL versi terbaru dalam templat Resource Manager. Sertakan properti JSON berikut ini di templat Resource Manager Anda:

"certificateUrl": "[reference(resourceId(parameters('vaultResourceGroup'), 'Microsoft.KeyVault/vaults/secrets', parameters('vaultName'), parameters('secretName')), '2015-06-01').secretUriWithVersion]"

Apakah saya harus membungkus sertifikat dalam objek JSON dalam brankas kunci?

Dalam Virtual Machine Scale Sets dan VM, sertifikat harus dibungkus dalam objek JSON.

Kami juga didukung jenis konten application/x-pkcs12.

Saat ini kami tidak mendukung file .cer. Untuk menggunakan file .cer, ekspor ke dalam kontainer .pfx.

Kepatuhan dan keamanan

Apakah Set Skala Komputer Virtual mematuhi PCI?

Virtual Machine Scale Sets adalah lapisan API tipis di atas CRP. Kedua komponen adalah bagian dari platform komputasi di pohon layanan Azure.

Dari perspektif kepatuhan, Virtual Machine Scale Sets adalah bagian mendasar dari platform komputasi Azure. Kumpulan tersebut membagikan hal berikut kepada CRP itu sendiri: tim, alat, proses, metodologi penyebaran, kontrol keamanan, kompilasi just-in-time (JIT), pemantauan, dan peringatan. Virtual Machine Scale Sets sesuai dengan Industri Kartu Pembayaran (PCI) karena CRP adalah bagian dari pengesahan PCI Data Security Standard (DSS) saat ini.

Untuk mengetahui informasi selengkapnya, lihat Pusat Kepercayaan Microsoft.

Apakah identitas terkelola untuk sumber daya Azure berfungsi dengan Virtual Machine Scale Sets?

Ya. Untuk informasi selengkapnya, lihat ringkasan identitas terkelola. Anda dapat melihat beberapa contoh template MSI pada template Mulai Cepat Azure untuk Linux dan Windows.

Menghapus

Apakah kunci yang saya tetapkan pada instans Virtual Machine Scale Set akan dihormati saat saya menghapus instans?

Di portal Azure, Anda memiliki kemampuan untuk menghapus instans tertentu atau menghapus secara massal dengan memilih beberapa instans. Jika Anda mencoba menghapus satu instans yang memiliki kunci, kunci akan diamankan dan Anda tidak dapat menghapus instans. Namun, jika Anda memilih beberapa contoh secara massal, dan salah satu dari instans yang memiliki kunci, kunci tidak disetujui. Semua instans yang dipilih akan dihapus.

Di Azure CLI, Anda hanya memiliki kemampuan untuk menghapus instans tertentu. Jika Anda mencoba menghapus satu instans yang memiliki kunci, kunci disetujui dan Anda tidak dapat menghapus instans tersebut.

Ekstensi

Bagaimana cara menghapus ekstensi Virtual Machine Scale Set?

Untuk menghapus ekstensi Virtual Machine Scale Set, gunakan contoh PowerShell berikut:

$vmss = Get-AzVmss -ResourceGroupName "resource_group_name" -VMScaleSetName "vmssName"

$vmss=Remove-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "extensionName"

Update-AzVmss -ResourceGroupName "resource_group_name" -VMScaleSetName "vmssName" -VirtualMacineScaleSet $vmss

Anda dapat menemukan nilai extensionName di $vmss.

Apakah ada contoh templat Set Skala Komputer Virtual yang terintegrasi dengan Log Azure Monitor?

Untuk contoh templat Set Skala Komputer Virtual yang terintegrasi dengan Log Azure Monitor, lihat contoh kedua dalam Menyebarkan kluster Azure Service Fabric dan mengaktifkan pemantauan dengan menggunakan Log Azure Monitor.

Bagaimana cara menambahkan ekstensi ke semua VM di Virtual Machine Scale Set saya?

Jika kebijakan pembaruan ditetapkan ke otomatis, penyebaran ulang templat dengan properti ekstensi baru akan memperbarui semua VM.

Jika kebijakan pembaruan ditetapkan ke manual, perbarui ekstensi, lalu perbarui semua instans secara manual semua instans di VM Anda.

Jika ekstensi yang terkait dengan Virtual Machine Scale Set yang ada diperbarui, apakah VM yang ada terpengaruh?

Jika definisi ekstensi dalam model Virtual Machine Scale Set diperbarui, dan upgradePolicy properti diatur ke automatic, itu memperbarui VM. Jika upgradePolicy properti ditetapkan ke manual, ekstensi akan diberi bendera sebagai tidak cocok dengan model.

Apakah ekstensi dijalankan lagi ketika mesin yang ada dipulihkan atau dicitrakan kembali?

Jika VM yang ada dipulihkan layanan, maka VM tersebut akan muncul sebagai reboot, dan ekstensi tidak dijalankan lagi. Jika VM dicitrakan ulang, proses tersebut mirip dengan mengganti drive sistem operasi dengan gambar sumber. Setiap spesialisasi dari model terbaru, seperti ekstensi, akan dijalankan lagi.

Bagaimana cara menggabungkan Set Skala Komputer Virtual ke domain Direktori Aktif?

Untuk bergabung dengan Set Skala Komputer Virtual ke domain Direktori Aktif, Anda dapat menentukan ekstensi.

Untuk menentukan ekstensi, gunakan properti JsonADDomainExtension:

"extensionProfile": {
    "extensions": [
        {
            "name": "joindomain",
            "properties": {
                "publisher": "Microsoft.Compute",
                "type": "JsonADDomainExtension",
                "typeHandlerVersion": "1.3",
                "settings": {
                    "Name": "[parameters('domainName')]",
                    "OUPath": "[variables('ouPath')]",
                    "User": "[variables('domainAndUsername')]",
                    "Restart": "true",
                    "Options": "[variables('domainJoinOptions')]"
                },
                "protectedsettings": {
                    "Password": "[parameters('domainJoinPassword')]"
                }
            }
        }
    ]
}

Ekstensi Virtual Machine Scale Set saya mencoba menginstal sesuatu yang memerlukan boot ulang. Apa yang harus saya lakukan?

Anda dapat menggunakan ekstensi Konfigurasi Status Yang Diinginkan Azure Automation. Jika sistem operasi adalah Windows Server 2012 R2, Azure menarik penyiapan Windows Management Framework (WMF) 5.0, lakukan boot ulang, lalu lanjutkan dengan konfigurasi.

Bagaimana cara menjalankan skrip kustom yang dihosting di akun penyimpanan privat?

Menyiapkan pengaturan terlindung dengan nama dan kunci akun penyimpanan. Untuk informasi selengkapnya, lihat Ekstensi skrip kustom.

Kata Sandi

Bagaimana cara mengatur ulang kata sandi untuk VM di Set Skala Komputer Virtual saya?

Anda dapat:

  • Ubah model Virtual Machine Scale Set secara langsung. Opsi ini hanya tersedia dengan API 2017-12-01 dan versi yang lebih baru.

    Perbarui kredensial admin langsung dalam model kumpulan skala (misalnya menggunakan Azure Resource Explorer, PowerShell, atau CLI). Setelah kumpulan skala diperbarui, semua VM baru memiliki kredensial baru. VM yang ada hanya memiliki kredensial baru jika dicitrakan kembali.

  • Atur ulang kata sandi menggunakan ekstensi akses VM. Pastikan untuk mengikuti persyaratan kata sandi, seperti yang dijelaskan dalam FAQ.

    Menggunakan ekstensi akses VM tidak memerlukan pencitraan ulang karena ekstensi tidak memperbarui kata sandi dalam model tersebut. Ekstensi menjalankan skrip untuk menambahkan kata sandi ke kata sandi atau ke file kunci SSH. Ekstensi tersebut tidak menghapus kunci SSH asli. Setelah ekstensi diperbarui, tingkatkan instans untuk menerapkan pembaruan ke nama pengguna dan kata sandi pada semua instans VM.

    Catatan

    Jika kebijakan peningkatan Otomatis diatur ke manual, pilih instans secara manual untuk melakukan operasi peningkatan pada instans VM individual. Jika peningkatan otomatis diatur ke Auto, ekstensi akan secara otomatis ditingkatkan. Untuk informasi selengkapnya, lihat Percobaan Ulang Otomatis

    Gunakan contoh PowerShell berikut untuk Windows Virtual Machine Scale Set:

    $vmssName = "myvmss"
    $vmssResourceGroup = "myvmssrg"
    $publicConfig = @{"UserName" = "newuser"}
    $privateConfig = @{"Password" = "********"}
    
    $extName = "VMAccessAgent"
    $publisher = "Microsoft.Compute"
    $vmss = Get-AzVmss -ResourceGroupName $vmssResourceGroup -VMScaleSetName $vmssName
    $vmss = Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name $extName -Publisher $publisher -Setting $publicConfig -ProtectedSetting $privateConfig -Type $extName -TypeHandlerVersion "2.0" -AutoUpgradeMinorVersion $true
    Update-AzVmss -ResourceGroupName $vmssResourceGroup -Name $vmssName -VirtualMachineScaleSet $vmss
    

    Gunakan contoh Azure CLI berikut untuk Linux Virtual Machine Scale Set:

    az vmss extension set \
      --resource-group myResouceGroup \ 
      --vmss-name myScaleSet \
      --publisher Microsoft.OSTCExtensions \
      --name VMAccessForLinux \
      --version 1.5 \
      --protected-settings "{'username': 'newUser', 'password': 'newPassword'}"
    

Jaringan

Apakah mungkin untuk menetapkan kelompok keamanan jaringan (NSG) ke kumpulan skala, sehingga dapat diterapkan ke semua NIC VM dalam kumpulan tersebut?

Ya. Anda dapat menerapkan NSG langsung ke kumpulan skala dengan mereferensikannya di networkInterfaceConfigurations bagian profil jaringan. Berikut contohnya:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
            "name": "nic1",
            "properties": {
                "primary": "true",
                "ipConfigurations": [
                    {
                        "name": "ip1",
                        "properties": {
                            "subnet": {
                                "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                            },
                            "loadBalancerInboundNatPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                                }
                            ],
                            "loadBalancerBackendAddressPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                                }
                            ]
                        }
                    }
                ],
                "networkSecurityGroup": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/networkSecurityGroups/', variables('nsgName'))]"
                }
            }
        }
    ]
}

Bagaimana cara melakukan pertukaran IP virtual (VIP) untuk Virtual Machine Scale Sets di langganan yang sama dan wilayah yang sama?

Jika Anda memiliki dua Virtual Machine Scale Set dengan Azure Load Balancer, dan berada di langganan dan wilayah yang sama, Anda dapat membatalkan alokasi alamat IP publik dari masing-masing, dan menetapkannya ke yang lain. Untuk informasi selengkapnya, lihat VIP swap: Penyebaran biru hijau di Azure Resource Manager. Namun, Anda mungkin mengalami penundaan karena sumber daya dibatalkan alokasinya atau dialokasikan di tingkat jaringan. Opsi yang lebih cepat adalah menggunakan Azure Application Gateway dengan dua kumpulan ujung belakang, dan aturan perutean. Atau, Anda dapat menghosting aplikasi Anda dengan Azure App Service yang mendukung peralihan cepat antara slot penahapan dan produksi.

Bagaimana cara menentukan rentang alamat IP privat yang akan digunakan untuk alokasi alamat IP privat statis?

Alamat IP dipilih dari subnet yang Anda tentukan.

Metode alokasi alamat IP Set Skala Komputer Virtual selalu dinamis, tetapi itu tidak berarti bahwa alamat IP ini dapat berubah. Dalam kasus ini, dinamis di sini hanya berarti bahwa Anda tidak menetapkan alamat IP sesuai PUT permintaan. Tentukan set statis dengan menggunakan subnet.

Bagaimana cara menyebarkan Virtual Machine Scale Set ke jaringan virtual Azure yang sudah ada?

Dapatkah saya menggunakan kumpulan skala dengan jaringan yang dipercepat?

Ya. Untuk menggunakan jaringan yang dipercepat, tetapkan enableAcceleratedNetworking ke true di setelan networkInterfaceConfigurations kumpulan skala Anda. Misalnya:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
            "name": "niconfig1",
            "properties": {
                "primary": true,
                "enableAcceleratedNetworking" : true,
                "ipConfigurations": [
                ]
            }
        }
    ]
}

Bagaimana cara mengonfigurasi server DNS yang digunakan oleh set skala?

Untuk membuat Set Skala Komputer Virtual dengan konfigurasi DNS kustom, tambahkan dnsSettings paket JSON ke bagian set networkInterfaceConfigurations skala. Berikut contohnya:

    "dnsSettings":{
        "dnsServers":["10.0.0.6", "10.0.0.5"]
    }

Bagaimana cara mengonfigurasi set skala untuk menetapkan alamat IP publik untuk setiap VM?

Untuk membuat Set Skala Komputer Virtual yang menetapkan alamat IP publik ke setiap VM, pastikan bahwa versi API sumber daya Microsoft.Compute/virtualMachineScaleSets adalah 2017-03-30, dan tambahkan publicipaddressconfiguration paket JSON ke bagian set ipConfigurations skala. Berikut contohnya:

    "publicipaddressconfiguration": {
        "name": "pub1",
        "properties": {
        "idleTimeoutInMinutes": 15
        }
    }

Dapatkah saya mengonfigurasi kumpulan skala agar berfungsi dengan beberapa application gateway?

Ya. Anda dapat menambahkan ID sumber daya untuk beberapa kumpulan alamat ujung belakang gateway aplikasi ke daftar applicationGatewayBackendAddressPools dalam bagian ipConfigurations dari profil jaringan kumpulan skala Anda.

Sisik

Dalam hal apa saya akan membuat Virtual Machine Scale Set dengan kurang dari dua VM?

Salah satu alasan untuk membuat Virtual Machine Scale Set dengan kurang dari dua VM adalah dengan menggunakan properti elastis dari Virtual Machine Scale Set. Misalnya, Anda dapat menyebarkan Virtual Machine Scale Set dengan nol VM untuk menentukan infrastruktur Anda tanpa membayar biaya berjalan VM. Kemudian, ketika Anda siap untuk menyebarkan VM, Anda dapat meningkatkan kapasitas Virtual Machine Scale Set ke jumlah instans produksi.

Alasan lain Anda mungkin membuat Set Skala Komputer Virtual dengan kurang dari dua VM adalah jika Anda kurang memperhatikan ketersediaan daripada dengan menggunakan set ketersediaan dengan VM diskrit. Virtual Machine Scale Sets memberi Anda cara untuk bekerja dengan unit komputasi yang tidak terpukul yang tidak terpakai. Keseragaman ini adalah pembeda utama untuk Virtual Machine Scale Sets versus set ketersediaan. Banyak beban kerja tanpa status tidak melacak setiap unit. Jika beban kerja turun, Anda dapat menurunkan skala ke satu unit komputasi, lalu meningkatkan skala hingga banyak saat beban kerja meningkat.

Bagaimana cara mengubah jumlah VM dalam Set Skala Komputer Virtual?

Untuk mengubah jumlah VM dalam Set Skala Komputer Virtual di portal Azure, dari bagian Properti Set Skala Komputer Virtual, pilih panel Penskalaan, dan gunakan bilah penggelser.

Bagaimana cara menentukan pemberitahuan kustom saat ambang batas tertentu tercapai?

Anda memiliki beberapa fleksibilitas dalam cara Anda menangani pemberitahuan untuk ambang batas yang ditentukan. Misalnya, Anda dapat menentukan webhook yang disesuaikan. Contoh webhook berikut ini berasal dari templat Resource Manager:

{
    "type": "Microsoft.Insights/autoscaleSettings",
    "apiVersion": "[variables('insightsApi')]",
    "name": "autoscale",
    "location": "[parameters('resourceLocation')]",
    "dependsOn": [
        "[concat('Microsoft.Compute/virtualMachineScaleSets/', parameters('vmSSName'))]"
    ],
    "properties": {
        "name": "autoscale",
        "targetResourceUri": "[concat('/subscriptions/',subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Compute/virtualMachineScaleSets/', parameters('vmSSName'))]",
        "enabled": true,
        "notifications": [
            {
                "operation": "Scale",
                "email": {
                    "sendToSubscriptionAdministrator": true,
                    "sendToSubscriptionCoAdministrators": true,
                    "customEmails": [
                        "youremail@address.com"
                    ]
                },
                "webhooks": [
                    {
                        "serviceUri": "<service uri>",
                        "properties": {
                            "key1": "custommetric",
                            "key2": "scalevmss"
                        }
                    }
                ]
            }
        ]
    }
}

Patching dan operasi

Bisakah saya membuat set skala dalam grup sumber daya yang ada?

Ya, Anda dapat.

Bisakah saya memindahkan set skala ke grup sumber daya lain?

Ya, Anda dapat memindahkan sumber daya set skala ke langganan atau grup sumber daya baru.

Bagaimana cara memperbarui Virtual Machine Scale Set saya ke gambar baru? Bagaimana cara mengelola patching?

Untuk memperbarui Virtual Machine Scale Set Anda ke gambar baru, dan untuk mengelola patching, lihat Meningkatkan Set Skala Komputer Virtual.

Dapatkah saya menggunakan operasi pencitraan kembali untuk mengatur ulang VM tanpa mengubah citra? (Artinya, saya ingin mengatur ulang VM ke pengaturan pabrik daripada ke gambar baru.)

Ya, Anda dapat menggunakan operasi pencitraan kembali untuk mengatur ulang VM tanpa mengubah citra. Namun, jika Set Skala Komputer Virtual Anda mereferensikan gambar platform dengan version = latest, VM Anda dapat memperbarui ke gambar sistem operasi yang lebih baru saat Anda memanggil reimage.

Dapatkah mengintegrasikan kumpulan skala dengan Azure Monitor Logs?

Ya, Anda dapat dengan memasang ekstensi Azure Monitor pada VM set skala. Berikut adalah contoh yang menggunakan Azure CLI:

az vmss extension set --name MicrosoftMonitoringAgent --publisher Microsoft.EnterpriseCloud.Monitoring --resource-group Team-03 --vmss-name nt01 --settings "{'workspaceId': '<your workspace ID here>'}" --protected-settings "{'workspaceKey': '<your workspace key here'}"

Anda dapat menemukan workspaceId dan workspaceKey yang diperlukan dalam ruang kerja Log Analytics di portal Azure. Pada halaman Ringkasan, pilih ubin Pengaturan. Pilih tab Sumber Terhubung di bagian atas.

Catatan

Jika upgradePolicy kumpulan skala ditetapkan ke manual, Anda harus menerapkan ekstensi ke semua VM dalam kumpulan tersebut dengan memanggil peningkatan pada VM tersebut. Dalam Azure CLI, ini berupa az vmss update-instances.

Catatan

Artikel ini baru-baru ini diperbarui untuk menggunakan istilah log Azure Monitor alih-alih Analitik Log. Data log masih disimpan di ruang kerja Analitik Log dan masih dikumpulkan dan dianalisis oleh layanan Analitik Log yang sama. Kami memperbarui terminologi untuk mencerminkan peran log di Azure Monitor dengan lebih baik. Lihat Perubahan terminologi Azure Monitor untuk detailnya.

Pemecahan Masalah

Bagaimana cara mengaktifkan diagnostik boot?

Untuk mengaktifkan diagnostik boot, pertama, buat akun penyimpanan. Kemudian, letakkan blok JSON ini di Set virtualMachineProfileSkala Komputer Virtual Anda, dan perbarui Set Skala Komputer Virtual:

"diagnosticsProfile": {
    "bootDiagnostics": {
        "enabled": true,
        "storageUri": "http://yourstorageaccount.blob.core.windows.net"
    }
}

Saat VM baru dibuat, properti InstanceView dari VM menampilkan detail untuk cuplikan layar. Berikut contohnya:

"bootDiagnostics": {
    "consoleScreenshotBlobUri": "https://o0sz3nhtbmkg6geswarm5.blob.core.windows.net/bootdiagnostics-swarmagen-4157d838-8335-4f78-bf0e-b616a99bc8bd/swarm-agent-9574AE92vmss-0_2.4157d838-8335-4f78-bf0e-b616a99bc8bd.screenshot.bmp",
    "serialConsoleLogBlobUri": "https://o0sz3nhtbmkg6geswarm5.blob.core.windows.net/bootdiagnostics-swarmagen-4157d838-8335-4f78-bf0e-b616a99bc8bd/swarm-agent-9574AE92vmss-0_2.4157d838-8335-4f78-bf0e-b616a99bc8bd.serialconsole.log"
}

Bagaimana cara untuk memecahkan masalah lain?

Properti komputer virtual

Bagaimana cara mendapatkan informasi properti untuk setiap VM tanpa melakukan beberapa panggilan? Misalnya, bagaimana cara mendapatkan domain kesalahan untuk masing-masing dari 100 VM di Set Skala Komputer Virtual saya?

Anda dapat memanggil ListVMInstanceViews dengan melakukan REST API GET di URI sumber daya berikut:

/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scaleset_name>/virtualMachines?$expand=instanceView&$select=instanceView

Perhatikan bahwa domain kesalahan tidak dikembalikan saat set skala menggunakan penyebaran maks (platformFaultDomainCount = 1), karena tidak terdapat jaminan berapa banyak domain kesalahan yang akan digunakan dengan pengaturan ini.

Dapatkah saya meneruskan argumen ekstensi yang berbeda ke VM yang berbeda dalam Set Skala Komputer Virtual?

Tidak, Anda tidak bisa. Namun, ekstensi dapat bertindak berdasarkan sifat unik VM yang mereka jalankan, seperti pada nama mesin. Ekstensi juga dapat mengkueri metadata instans di http://169.254.169.254 untuk mendapatkan informasi selengkapnya tentang VM.

Mengapa ada celah (misalnya, 0, 1, 3) antara nama komputer Virtual Machine Scale Set VM saya dan ID VM?

Celah adalah karena properti Set overprovision Skala Komputer Virtual Anda diatur ke nilai truedefault . Jika provisi berlebih diatur ke true, lebih banyak VM yang diminta akan dibuat. VM tambahan kemudian dihapus. Dalam kasus ini, Anda mendapatkan peningkatan keandalan penyebaran, tetapi dengan mengorbankan penamaan yang tumpang-tindih dan aturan terjemahan alamat jaringan (NAT) yang tumpang tindih.

Anda dapat mengatur properti ini ke false. Untuk Set Skala Komputer Virtual kecil, keandalan penyebaran tidak akan terpengaruh secara signifikan.

Apa perbedaan antara menghapus VM dalam Virtual Machine Scale Set dan membatalkan alokasi VM? Kapan saya harus memilih satu VM di atas yang lain?

Perbedaan utamanya adalah deallocate tidak menghapus hard disk virtual (VHD). Ada biaya penyimpanan yang terkait dengan stop deallocate yang berjalan. Anda mungkin menggunakan satu atau yang lain karena salah satu alasan berikut:

  • Anda ingin berhenti membayar biaya komputasi, tetapi Anda ingin mempertahankan status disk VM.
  • Anda ingin memulai sekumpulan VM lebih cepat daripada Anda dapat menskalakan Set Skala Komputer Virtual.
    • Terkait dengan skenario ini, Anda mungkin telah membuat mesin skala otomatis Anda sendiri dan menginginkan skala menyeluruh yang lebih cepat.
  • Anda memiliki Set Skala Komputer Virtual yang didistribusikan secara tidak merata di seluruh domain kesalahan atau memperbarui domain. Distribusi yang tidak merata ini mungkin karena Anda menghapus VM secara selektif, atau karena VM dihapus setelah provisi berlebihan. Berjalan stop deallocate diikuti oleh start pada Virtual Machine Scale Set secara merata mendistribusikan VM di seluruh domain kesalahan atau memperbarui domain.

Bagaimana cara mengambil rekam jepret instans Virtual Machine Scale Set?

Buat rekam jepret dari instans Virtual Machine Scale Set. Berikut contohnya:

$rgname = "myResourceGroup"
$vmssname = "myVMScaleSet"
$Id = 0
$location = "East US"

$vmss1 = Get-AzVmssVM -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $Id
$snapshotconfig = New-AzSnapshotConfig -Location $location -AccountType Standard_LRS -OsType Windows -CreateOption Copy -SourceUri $vmss1.StorageProfile.OsDisk.ManagedDisk.id
New-AzSnapshot -ResourceGroupName $rgname -SnapshotName 'mySnapshot' -Snapshot $snapshotconfig

Membuat disk terkelola dari salinan bayangan. Berikut contohnya:

$snapshotName = "mySnapshot"
$snapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotName
$diskConfig = New-AzDiskConfig -AccountType Premium_LRS -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
$osDisk = New-AzDisk -Disk $diskConfig -ResourceGroupName $rgname -DiskName ($snapshotName + '_Disk')