Membuat Set Skala Komputer Virtual yang menggunakan Zona Ketersediaan

Zona ketersediaan Azure adalah lokasi yang terisolasi kesalahan dalam wilayah Azure yang menyediakan daya, pendinginan, dan jaringan yang berlebihan. Mereka memungkinkan Anda menjalankan aplikasi dengan ketersediaan tinggi dan toleransi kesalahan terhadap kegagalan pusat data. Wilayah Azure yang mendukung Zona Ketersediaan memiliki minimal tiga zona terpisah. Setiap zona ketersediaan terdiri dari satu atau beberapa pusat data yang dilengkapi dengan daya infrastruktur, jaringan, dan pendinginan independen. Zona ketersediaan dihubungkan oleh jaringan berkinerja tinggi dengan latensi pulang pergi kurang dari 2 milidetik. Untuk informasi selengkapnya, lihat Ringkasan Zona Ketersediaan.

Untuk melindungi Set Skala Komputer Virtual Anda dari kegagalan tingkat pusat data, Anda dapat membuat set skala di seluruh Zona Ketersediaan. Untuk menggunakan Zona Ketersediaan, set skala Anda harus dibuat di wilayah Azure yang didukung.

Pertimbangan desain untuk zona ketersediaan

Virtual Machine Scale Sets mendukung tiga model penyebaran zona:

  • Zona redundan atau rentang zona (disarankan)
  • Zonal atau zona diratakan (zona tunggal)
  • Wilayah

Zona redundan atau rentang zona

Zona redundan atau zona yang mencakup set skala menyebarkan instans di semua zona yang dipilih, "zones": ["1","2","3"]. Secara default, set skala melakukan pendekatan upaya terbaik untuk menyebarkan instans secara merata di seluruh zona yang dipilih. Namun, Anda dapat menentukan bahwa Anda menginginkan keseimbangan zona yang ketat dengan mengatur "zoneBalance": "true" dalam penyebaran Anda. Setiap VM dan disknya bersifat zonal, sehingga disematkan ke zona tertentu. Instans antar zona disambungkan oleh jaringan berkinerja tinggi dengan latensi rendah. Jika terjadi pemadaman zona atau masalah konektivitas, konektivitas ke instans dalam zona yang terpengaruh dapat disusupi, sementara instans di zona ketersediaan lain tidak akan terpengaruh. Anda dapat menambahkan kapasitas ke set skala selama pemadaman zona, dan set skala menambahkan lebih banyak instans ke zona yang tidak terpengaruh. Saat zona dipulihkan, Anda mungkin perlu menurunkan skala yang diatur ke kapasitas asli. Praktik terbaik adalah mengonfigurasi aturan skala otomatis berdasarkan penggunaan CPU atau memori. Aturan skala otomatis akan memungkinkan skala yang ditetapkan untuk merespons hilangnya instans VM di satu zona tersebut dengan meluaskan skala instans baru di zona operasional yang tersisa.

Menyebarkan instans di seluruh zona ketersediaan memenuhi SLA 99,99% untuk instans yang tersebar di zona ketersediaan, dan direkomendasikan untuk sebagian besar beban kerja di Azure.

Zonal atau zona diratakan (zona tunggal)

Set skala yang diselaraskan zona atau zona menempatkan instans dalam satu zona "zones": ['1']ketersediaan . Setiap VM dan disknya bersifat zonal, sehingga disematkan ke zona tertentu. Konfigurasi ini terutama digunakan saat Anda membutuhkan latensi yang lebih rendah antar instans.

Wilayah

Set Skala Komputer Virtual regional adalah ketika penetapan zona tidak diatur secara eksplisit ("zones"=[] atau "zones"=null). Dalam konfigurasi ini, set skala membuat instans Regional (tidak disematkan zona) dan secara implisit menempatkan instans di seluruh wilayah. Tidak ada jaminan untuk keseimbangan atau tersebar di seluruh zona, atau instans tersebut mendarat di zona ketersediaan yang sama. Kolokasi disk dijamin untuk disk Ultra dan Premium v2, upaya terbaik untuk disk Premium V1, dan tidak dijamin untuk disk SKU Standar (SSD atau HDD).

Dalam kasus pemadaman zona penuh yang jarang terjadi, salah satu atau semua instans dalam set skala dapat terpengaruh.

Domain kesalahan dan zona ketersediaan

Domain kesalahan adalah grup isolasi kesalahan dalam zona ketersediaan atau pusat data simpul perangkat keras yang memiliki daya, jaringan, pendinginan, dan jadwal pemeliharaan platform yang sama. Instans VM yang berada di domain kesalahan yang berbeda kemungkinan tidak akan terpengaruh oleh pemadaman yang direncanakan atau tidak direncanakan yang sama. Anda dapat menentukan bagaimana instans tersebar di domain kesalahan dalam wilayah atau zona.

  • Penyebaran maks (platformFaultDomainCount = 1)
  • Spread tetap statis (platformFaultDomainCount = 5)
  • Penyebaran selaras dengan domain kesalahan disk penyimpanan (platformFaultDomainCount = 2 atau 3, hanya untuk penyebaran regional)

Dengan penyebaran maks, set skala menyebarkan VM Anda di sebanyak mungkin domain kesalahan dalam setiap zona. Penyebaran ini bisa di seluruh lebih besar atau kurang dari lima domain kesalahan per zona. Dengan penyebaran tetap yang statis, set skala menyebarkan VM Anda di tepat lima domain kesalahan per zona. Jika set skala tidak dapat menemukan lima domain kesalahan yang berbeda per zona untuk memenuhi permintaan alokasi, permintaan gagal.

Sebaiknya sebarkan dengan penyebaran maksimum untuk sebagian besar beban kerja, karena pendekatan ini memberikan penyebaran terbaik dalam banyak kasus. Jika Anda memerlukan replika untuk tersebar di unit isolasi perangkat keras yang berbeda, kami sarankan untuk menyebar di Zona Ketersediaan dan memanfaatkan penyebaran maksimal di setiap zona.

Catatan

Dengan penyebaran maks, Anda hanya melihat satu domain kesalahan dalam tampilan instans VM set skala dan dalam metadata instans terlepas dari berapa banyak domain kesalahan yang tersebar di VM. Penyebaran dalam setiap zona adalah implisit.

Grup penempatan

Penting

Grup penempatan hanya berlaku untuk Virtual Machine Scale Sets yang berjalan dalam mode orkestrasi Seragam.

Saat Anda menyebarkan set skala, Anda dapat menyebarkan dengan satu grup penempatan per Zona Ketersediaan, atau dengan beberapa per zona. Untuk set skala regional (non-zonal), pilihannya adalah memiliki grup penempatan tunggal di wilayah tersebut atau memiliki kelipatan di wilayah tersebut. Jika properti set skala yang disebut singlePlacementGroup diatur ke false, set skala dapat terdiri dari beberapa grup penempatan dan memiliki rentang 0-1.000 VM. Saat diatur ke nilai default true, set skala terdiri dari grup penempatan tunggal, dan memiliki rentang 0-100 VM. Untuk sebagian besar beban kerja, kami merekomendasikan beberapa grup penempatan, yang memungkinkan skala yang lebih besar. Dalam API versi 2017-12-01, set skala menetapkan default ke beberapa grup penempatan untuk set skala zona tunggal dan lintas zona, tetapi default ke grup penempatan tunggal untuk set skala regional (non-zonal).

Catatan

Jika Anda menggunakan penyebaran maks, Anda harus menggunakan beberapa grup penempatan.

Penyeimbangan zona

Terakhir, untuk set skala yang disebarkan di beberapa zona, Anda juga memiliki opsi untuk memilih "keseimbangan zona upaya terbaik" atau "keseimbangan zona yang ketat." Set skala dianggap "seimbang" jika setiap zona memiliki jumlah VM yang sama +\- 1 VM seperti semua zona lain untuk set skala. Contohnya:

  • Skala yang ditetapkan dengan 2 VM di zona 1, 3 VM di zona 2, dan 3 VM di zona 3 dianggap seimbang. Hanya ada satu zona dengan jumlah VM yang berbeda dan hanya 1 kurang dari zona lainnya.
  • Set skala dengan 1 VM di zona 1, 3 VM di zona 2, dan 3 VM di zona 3 dianggap tidak seimbang. Zona 1 memiliki 2 VM lebih sedikit daripada zona 2 dan 3.

Ada kemungkinan bahwa VM dalam set skala berhasil dibuat, tetapi ekstensi pada VM tersebut gagal digunakan. VM ini dengan kegagalan ekstensi masih dihitung saat menentukan apakah set skala seimbang. Misalnya, skala yang ditetapkan dengan 3 VM di zona 1, 3 VM di zona 2, dan 3 VM di zona 3 dianggap seimbang bahkan jika semua ekstensi gagal di zona 1 dan semua ekstensi berhasil di zona 2 dan 3.

Dengan keseimbangan zona upaya terbaik, skala yang ditetapkan mencoba untuk menyesuaikan skala sambil menjaga keseimbangan. Namun, jika untuk beberapa alasan keseimbangan zona tidak dimungkinkan (misalnya, jika satu zona turun, set skala tidak dapat membuat VM baru di zona tersebut), set skala memungkinkan ketidakseimbangan sementara untuk berhasil menskalakan masuk atau keluar. Pada upaya peluasan skala berikutnya, set skala menambahkan VM ke zona yang membutuhkan lebih banyak VM agar set skala diseimbangkan. Demikian pula, pada skala berikutnya dalam upaya, set skala menghapus VM dari zona yang membutuhkan lebih sedikit VM agar set skala seimbang. Dengan "keseimbangan zona yang ketat", set skala gagal melakukan setiap upaya untuk menyesuaikan skala jika melakukannya akan menyebabkan ketidakseimbangan.

Untuk menggunakan keseimbangan zona upaya terbaik, atur zoneBalance ke false. Pengaturan ini adalah default dalam API versi 2017-12-01. Untuk menggunakan keseimbangan zona yang ketat, atur zoneBalance ke true.

Catatan

Properti zoneBalance hanya dapat diatur jika properti zona set skala berisi lebih dari satu zona. Jika tidak ada zona atau hanya satu zona yang ditentukan, maka properti zoneBalance tidak boleh diatur.

Membuat rentang zona atau set skala zona

Saat Anda menyebarkan Set Skala Komputer Virtual, Anda dapat memilih untuk menggunakan satu Zona Ketersediaan di suatu wilayah, atau beberapa zona.

Anda dapat membuat set skala yang menggunakan Zona Ketersediaan dengan salah satu metode berikut:

Menggunakan portal Azure

Proses untuk membuat set skala yang menggunakan Zona Ketersediaan sama dengan yang dirinci dalam artikel memulai. Saat Anda memilih wilayah Azure yang didukung, Anda bisa membuat set skala di satu atau beberapa zona yang tersedia, seperti yang diperlihatkan dalam contoh berikut:

Membuat set skala dalam satu Zona Ketersediaan

Set skala dan sumber daya pendukung, seperti load balancer Azure dan alamat IP publik, dibuat dalam zona tunggal yang Anda tentukan.

Menggunakan Azure CLI

Proses untuk membuat set skala yang menggunakan Zona Ketersediaan sama dengan yang dirinci dalam artikel memulai. Untuk menggunakan Zona Ketersediaan, Anda harus membuat set skala di wilayah Azure yang didukung.

Tambahakn parameter --zones ke perintah az vmss create dan tentukan zona mana yang akan digunakan (seperti zona 1, 2, atau 3).

az vmss create \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --image <SKU Image> \
    --upgrade-policy-mode automatic \
    --admin-username azureuser \
    --generate-ssh-keys \
    --zones 1 2 3

Dibutuhkan beberapa menit untuk membuat dan mengonfigurasi semua sumber daya dan VM set skala di zona yang Anda tentukan. Untuk contoh lengkap set skala dan sumber daya zona redundan, lihat sampel skrip CLI ini

Menggunakan Azure PowerShell

Untuk menggunakan Zona Ketersediaan, Anda harus membuat set skala di wilayah Azure yang didukung. -Zone Tambahkan parameter ke perintah New-AzVmssConfig dan tentukan zona atau zona mana yang akan digunakan (seperti zona 1, 2, atau 3).

New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS2" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -UpgradePolicy "Automatic" `
  -Zone "1", "2", "3"

Menggunakan templat Azure Resource Manager

Proses untuk membuat set skala yang menggunakan Zona Ketersediaan sama dengan yang dirinci dalam artikel memulai untuk Linux atau Windows.

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "name": "myScaleSet",
  "location": "East US 2",
  "apiVersion": "2017-12-01",
  "zones": [
        "1",
        "2",
        "3"
      ]
}

Jika Anda membuat alamat IP publik atau load balancer, tentukan "sku": {"name":"Standard"} properti untuk membuat sumber daya jaringan zona redundan. Anda juga perlu membuat Grup Keamanan Jaringan dan aturan untuk mengizinkan lalu lintas apa pun. Untuk informasi selengkapnya, lihat Gambaran Umum Standar Azure Load Balancer dan Load Balancer Standar dan Zona Ketersediaan.

Untuk contoh lengkap set skala zona-redundan dan sumber daya jaringan, lihat contoh templat Resource Manager kami.

Memperbarui set skala untuk menambahkan zona ketersediaan

Anda dapat memodifikasi skala untuk memperluas kumpulan zona untuk menyebarkan instans VM. Memperluas memungkinkan Anda untuk memanfaatkan ketersediaan zona yang lebih tinggi SLA (99,99%) versus ketersediaan regional SLA (99,95%). Atau perluas set skala Anda untuk memanfaatkan zona ketersediaan baru yang tidak tersedia saat set skala dibuat.

Penting

Memperbarui Virtual Machine Scale Sets untuk menambahkan zona ketersediaan saat ini dalam pratinjau. Pratinjau tersedia untuk Anda dengan syarat Anda menyetujui Ketentuan Penggunaan Tambahan. Beberapa aspek dari fitur ini dapat berubah sebelum ketersediaan umum (GA).

Penting

Fitur ini ditujukan untuk beban kerja stateless pada Virtual Machine Scale Sets. Set skala dengan beban kerja stateful atau digunakan dengan Service Fabric atau Azure Kubernetes Services tidak didukung untuk perluasan zona.

Fitur ini dapat digunakan dengan API versi 2023-03-01 atau lebih tinggi.

Mengaktifkan langganan Anda untuk menggunakan fitur ekspansi zona

Anda harus mendaftar untuk empat bendera fitur pada langganan Anda:

az feature register --namespace Microsoft.Compute --name VmssAllowRegionalToZonalMigration
az feature register --namespace Microsoft.Compute --name VmssAllowExpansionOfAvailabilityZones
az feature register --namespace Microsoft.Compute --name VmssFlexAllowExpansionOfAvailabilityZones
az feature register --namespace Microsoft.Compute --name VmssFlexAllowRegionalToZonalMigration

Anda dapat memeriksa status pendaftaran setiap fitur dengan menggunakan:

az feature show --namespace Microsoft.Compute --name \<feature-name\>

Perluas set skala untuk menggunakan zona ketersediaan

Anda dapat memperbarui set skala untuk menskalakan instans ke satu atau beberapa zona ketersediaan tambahan, hingga jumlah zona ketersediaan yang didukung oleh wilayah. Untuk wilayah yang mendukung zona, jumlah minimum zona adalah 3.

Penting

Saat Anda memperluas skala yang diatur ke zona tambahan, instans asli tidak dimigrasikan atau diubah. Saat Anda meluaskan skala, instans baru akan dibuat dan tersebar secara merata di seluruh zona ketersediaan yang dipilih. Saat Anda menskalakan dalam set skala, instans regional apa pun akan diprioritaskan untuk penghapusan terlebih dahulu. Setelah itu, instans akan dihapus berdasarkan skala dalam kebijakan.

Memperluas ke set skala zona dilakukan dalam 3 langkah:

  1. Bersiap untuk ekspansi zona
  2. Memperbarui parameter zona pada set skala
  3. Menambahkan instans zonal baru dan menghapus instans asli

Bersiap untuk ekspansi zona

Peringatan

Fitur ini memungkinkan Anda menambahkan zona ke set skala. Anda tidak dapat kembali ke set skala regional atau menghapus zona setelah ditambahkan.

Untuk mempersiapkan ekspansi zonal:

  • Periksa apakah Anda memiliki cukup kuota untuk ukuran VM di wilayah yang dipilih untuk menangani lebih banyak instans.
  • Periksa apakah ukuran VM dan jenis disk yang Anda gunakan tersedia di semua zona yang diinginkan. Anda dapat menggunakan API SKU Sumber Daya Komputasi untuk menentukan ukuran mana yang tersedia di zona mana
  • Validasi bahwa konfigurasi set skala valid untuk set skala zona:
    • platformFaultDomainCount harus diatur ke 1 atau 5. Memperbaiki penyebaran dengan 2 atau 3 domain kesalahan tidak didukung untuk penyebaran zona.
    • Reservasi kapasitas tidak didukung selama ekspansi zona. Setelah set skala sepenuhnya zonal (tidak ada lagi instans regional), Anda dapat menambahkan grup reservasi kapasitas ke set skala.
    • Penyebaran Azure Dedicated Host tidak didukung.

Memperbarui parameter zona pada set skala

Perbarui set skala untuk mengubah parameter zona.

  1. Navigasi ke set skala yang ingin Anda perbarui
  2. Pada tab Properti dari halaman arahan set skala, temukan properti Zona ketersediaan dan tekan Edit
  3. Pada kotak dialog Edit Lokasi , pilih zona yang diinginkan
  4. Pilih Terapkan

Menambahkan instans zonal baru dan menghapus instans asli

Peluasan skala dan masuk secara manual

Perbarui kapasitas set skala untuk menambahkan lebih banyak instans. Kapasitas baru harus diatur ke kapasitas asli ditambah jumlah instans baru. Misalnya, jika set skala Anda memiliki 5 instans regional dan Anda ingin memperluas skala sehingga Anda memiliki 3 instans di masing-masing dari 3 zona, Anda harus mengatur kapasitas ke 14.

Anda dapat memperbarui parameter zona dan kapasitas set skala dalam templat ARM atau panggilan REST API yang sama.

Ketika Anda puas bahwa instans baru siap, skalakan dalam set skala Anda untuk menghapus instans regional asli. Anda dapat menghapus instans regional tertentu secara manual, atau menskalakan dengan mengurangi kapasitas set skala. Saat menskalakan melalui mengurangi kapasitas set skala, platform akan selalu lebih suka menghapus instans regional, lalu mengikuti skala dalam kebijakan.

Mengotomatiskan dengan peningkatan Bergulir + MaxSurge

Dengan peningkatan Rolling + MaxSurge, instans zonal baru dibuat dan diperbarui dengan model skala terbaru dalam batch. Setelah batch instans baru ditambahkan ke set skala dan melaporkan sebagai sehat, batch instans lama dihapus secara otomatis dari set skala. Peningkatan berlanjut hingga semua instans diperbarui.

Penting

Peningkatan bergulir dengan MaxSurge saat ini berada di bawah Pratinjau Publik. Ini hanya tersedia untuk Mode Orkestrasi Seragam VMSS.

Masalah dan batasan yang diketahui

  • Fitur ini ditargetkan untuk beban kerja stateless pada Virtual Machine Scale Sets.

  • Set skala yang menjalankan Service Fabric atau Azure Kubernetes Service tidak didukung.

  • Anda tidak dapat menghapus atau mengganti zona, hanya menambahkan zona

  • Anda tidak dapat memperbarui dari rentang zona atau skala zona yang diatur ke set skala regional.

  • platformFaultDomainCount harus diatur ke 1 atau 5. Memperbaiki penyebaran dengan 2 atau 3 domain kesalahan tidak didukung untuk penyebaran zona.

  • Reservasi kapasitas tidak didukung selama ekspansi zona. Setelah set skala sepenuhnya zonal (tidak ada lagi instans regional), Anda dapat menambahkan grup reservasi kapasitas ke set skala.

  • Penyebaran Azure Dedicated Host tidak didukung

Langkah berikutnya

Sekarang setelah Anda membuat set skala di Zona Ketersediaan, Anda dapat mempelajari cara Menyebarkan aplikasi pada Virtual Machine Scale Sets atau Menggunakan skala otomatis dengan Virtual Machine Scale Sets.