Bagikan melalui


Perbaikan instans otomatis untuk Azure Virtual Machine Scale Sets

Mengaktifkan perbaikan instans otomatis untuk Azure Virtual Machine Scale Sets membantu mencapai ketersediaan tinggi untuk aplikasi dengan mempertahankan serangkaian instans yang sehat. Jika instans yang tidak sehat ditemukan oleh ekstensi Application Health atau pemeriksaan kesehatan Load balancer, perbaikan instans otomatis akan mencoba memulihkan instans dengan memicu tindakan perbaikan seperti menghapus instans yang tidak sehat dan membuat instans baru untuk menggantinya, mengganti instans yang tidak sehat, atau memulai ulang instans yang tidak sehat.

Persyaratan untuk menggunakan perbaikan instans otomatis

Aktifkan pemantauan kesehatan aplikasi untuk set skala

Set skala harus sudah mengaktifkan pemantauan kesehatan aplikasi untuk instans. Pemantauan kesehatan dapat dilakukan menggunakan ekstensi Application Health atau pemeriksaan kesehatan Load balancer, di mana hanya satu yang dapat diaktifkan pada satu waktu. Ekstensi kondisi aplikasi atau pemeriksaan load balancer melakukan ping titik akhir aplikasi yang dikonfigurasi di instans komputer virtual untuk menentukan status kesehatan aplikasi. Status kesehatan ini digunakan oleh orkestrator set skala untuk memantau kesehatan instans dan melakukan perbaikan jika diperlukan.

Mengonfigurasi titik akhir untuk menyediakan status kesehatan

Sebelum mengaktifkan kebijakan perbaikan instans otomatis, pastikan instans set skala Anda memiliki titik akhir aplikasi yang dikonfigurasi untuk memancarkan status kesehatan aplikasi. Untuk mengonfigurasi status kesehatan pada ekstensi Kesehatan Aplikasi, Anda dapat menggunakan Status Kesehatan Biner atau Status Kesehatan Kaya. Untuk mengonfigurasi status kesehatan menggunakan pemeriksaan kesehatan Load balancer, lihat perilaku pemeriksaan.

Untuk instans yang ditandai sebagai "Tidak Sehat" atau "Tidak Diketahui" (Status tidak diketahui hanya tersedia dengan ekstensi Kesehatan Aplikasi - Status Kesehatan Kaya), perbaikan otomatis dipicu oleh set skala. Pastikan titik akhir aplikasi dikonfigurasi dengan benar sebelum mengaktifkan kebijakan perbaikan otomatis untuk menghindari perbaikan instans yang tidak diinginkan, sementara titik akhir sedang dikonfigurasi.

Versi API

Kebijakan perbaikan otomatis didukung untuk API komputasi versi 2018-10-01 atau lebih tinggi.

Pengaturan repairAction untuk Reimage dan Restart didukung untuk API komputasi versi 2021-11-01 atau yang lebih tinggi.

Pembatasan pada sumber daya atau pemindahan langganan

Pemindahan sumber daya atau langganan saat ini tidak didukung untuk set skala saat fitur perbaikan otomatis diaktifkan.

Pembatasan untuk set skala fabric layanan

Fitur ini saat ini tidak didukung untuk set skala fabric layanan.

Pembatasan untuk VM dengan kesalahan provisi

Perbaikan otomatis saat ini tidak mendukung skenario di mana instans VM ditandai Tidak Sehat karena kegagalan provisi. VM harus berhasil diinisialisasi untuk mengaktifkan pemantauan kesehatan dan kemampuan perbaikan otomatis.

Bagaimana cara kerja perbaikan instans otomatis?

Fitur perbaikan instans otomatis bergantung pada pemantauan kesehatan instans individual dalam satu set skala. Instans VM dalam set skala dapat dikonfigurasi untuk memancarkan status kesehatan aplikasi menggunakan Ekstensi Application Health atau Pemeriksaan kesehatan load balancer. Jika instans ditemukan tidak sehat, set skala akan melakukan tindakan perbaikan yang telah dikonfigurasi sebelumnya pada instans yang tidak sehat. Perbaikan instans otomatis dapat diaktifkan dalam model Virtual Machine Scale Set dengan menggunakan automaticRepairsPolicy objek .

Proses perbaikan instans otomatis berjalan sebagai berikut:

  1. Ekstensi Application Health atau pemeriksaan kesehatan load balancer melakukan ping titik akhir aplikasi di dalam setiap komputer virtual dalam set skala untuk mendapatkan status kesehatan aplikasi setiap instans.
  2. Jika titik akhir merespons dengan status 200 (OK), instans akan ditandai sebagai "Sehat". Dalam kasus lain (termasuk jika titik akhir tidak dapat dijangkau), instans akan ditandai sebagai "Tidak Sehat".
  3. Ketika instans ditemukan tidak sehat, set skala menerapkan tindakan perbaikan yang dikonfigurasi (defaultnya adalah Ganti) ke instans yang tidak sehat.
  4. Perbaikan instans dilakukan dalam batch. Pada waktu tertentu, tidak lebih dari 5% dari total instans dalam set skala diperbaiki. Jika set skala memiliki kurang dari 20 instans, perbaikan dilakukan untuk satu instans yang tidak sehat pada satu waktu.
  5. Proses di atas berlanjut hingga semua instans yang tidak sehat dalam set skala diperbaiki.

Tindakan perbaikan yang tersedia

Ada tiga tindakan perbaikan yang tersedia untuk perbaikan instans otomatis - Ganti, Reimage, dan Restart. Tindakan perbaikan default adalah Ganti, tetapi Anda dapat mengonfigurasi perbaikan otomatis untuk menggunakan Reimage atau Restart dengan memodifikasi repairAction pengaturan di bawah automaticRepairsPolicy objek.

  • Ganti menghapus instans yang tidak sehat dan membuat instans baru untuk menggantinya. Model Virtual Machine Scale Set terbaru digunakan untuk membuat instans baru. Tindakan perbaikan ini adalah default.

  • Reimage menerapkan operasi reimage ke instans yang tidak sehat.

  • Mulai ulang menerapkan operasi hidupkan ulang ke instans yang tidak sehat.

Tabel berikut membandingkan perbedaan antara ketiga tindakan perbaikan:

Tindakan perbaikan ID instans VM dipertahankan? IP privat dipertahankan? Disk data terkelola dipertahankan? Disk OS terkelola dipertahankan? Disk lokal (sementara) dipertahankan?
Ganti (default) Tidak No No No Tidak
Citrakan ulang Ya Ya Ya No Ya
Mulai ulang Ya Ya Ya Ya Ya

Untuk detail tentang memperbarui tindakan perbaikan Anda di bawah kebijakan perbaikan otomatis, lihat bagian mengonfigurasi tindakan perbaikan pada kebijakan perbaikan otomatis.

Pembuatan batch

Operasi perbaikan instans otomatis dilakukan dalam batch. Pada waktu tertentu, tidak lebih dari 5% instans dalam set skala diperbaiki melalui kebijakan perbaikan otomatis. Proses ini membantu menghindari penghapusan simultan dan pembuatan ulang sejumlah besar instans jika ditemukan tidak sehat pada saat yang sama.

Masa tenggang

Ketika instans melewati operasi perubahan status karena tindakan PUT, PATCH, atau POST yang dilakukan pada set skala, maka tindakan perbaikan apa pun pada instans tersebut dilakukan hanya setelah masa tenggang berakhir. Masa tenggang adalah jumlah waktu untuk memungkinkan instans kembali ke keadaan sehat. Masa tenggang dimulai setelah perubahan status selesai, yang membantu menghindari operasi perbaikan dini atau tidak disengaja. Masa tenggang dihormati untuk instans yang baru dibuat dalam set skala, termasuk yang dibuat sebagai hasil dari operasi perbaikan. Masa tenggang ditentukan dalam menit dalam format ISO 8601 dan dapat diatur menggunakan properti automaticRepairsPolicy.gracePeriod. Masa tenggang dapat berkisar antara 10 menit dan 90 menit, dan memiliki nilai default 10 menit.

Penangguhan Perbaikan

Virtual Machine Scale Sets menyediakan kemampuan untuk menangguhkan sementara perbaikan instans otomatis jika diperlukan. ServiceState untuk perbaikan otomatis di bawah orkestrasi propertiServices dalam tampilan instans Set Skala Komputer Virtual menunjukkan status perbaikan otomatis saat ini. Jika set skala diikut sertakan dalam perbaikan otomtis, nilai parameter serviceState diatur ke Dijalankan. Jika perbaikan otomatis ditangguhkan untuk set skala, parameter serviceState diatur ke Ditangguhkan. Jika automaticRepairsPolicy didefinisikan pada set skala tetapi fitur perbaikan otomatis tidak diaktifkan, maka parameter serviceState diatur ke Tidak Berjalan.

Jika instans yang baru dibuat untuk mengganti yang tidak sehat dalam set skala tetap tidak sehat bahkan setelah berulang kali melakukan operasi perbaikan, sebagai langkah keamanan, platform memperbarui serviceState untuk perbaikan otomatis ke Ditangguhkan. Anda dapat melanjutkan perbaikan otomatis lagi dengan mengatur nilai serviceState untuk perbaikan otomatis ke Dijalankan. Petunjuk terperinci disediakan di bagian tentang melihat dan memperbarui status layanan kebijakan perbaikan otomatis untuk set skala.

Anda juga dapat menyiapkan Aturan Pemberitahuan Azure untuk memantau perubahan serviceState dan mendapatkan pemberitahuan jika perbaikan otomatis ditangguhkan pada set skala Anda. Untuk detailnya, lihat Menggunakan aturan pemberitahuan Azure untuk memantau perubahan dalam status layanan perbaikan instans otomatis.

Perlindungan instans dan perbaikan otomatis

Jika instans dalam set skala dilindungi dengan menerapkan salah satu kebijakan perlindungan, perbaikan otomatis tidak dilakukan pada instans tersebut. Perilaku ini berlaku untuk kebijakan perlindungan: Lindungi dari penyempurnaan skala dan Lindungi dari tindakan set skala.

Menghentikan pemberitahuan perbaikan otomatis

Jika fitur pemberitahuan penghentian diaktifkan pada set skala, maka selama operasi Ganti, penghapusan instans yang tidak sehat mengikuti konfigurasi pemberitahuan penghentian. Pemberitahuan penghentian dikirim melalui layanan metadata Azure – peristiwa terjadwal – dan penghapusan instans tertunda selama batas waktu penundaan yang dikonfigurasi. Namun, pembuatan instans baru untuk menggantikan instans yang tidak sehat tidak menunggu batas waktu penundaan selesai.

Mengaktifkan kebijakan perbaikan otomatis saat membuat set skala baru

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

Untuk mengaktifkan kebijakan perbaikan otomatis saat membuat set skala baru, pastikan semua persyaratan untuk memilih fitur ini terpenuhi. Titik akhir aplikasi harus dikonfigurasi dengan benar untuk instans set skala guna menghindari terpicunya perbaikan yang tidak diinginkan saat titik akhir sedang dikonfigurasi. Untuk set skala yang baru dibuat, perbaikan instans apa pun dilakukan hanya setelah masa tenggang selesai. Untuk mengaktifkan perbaikan instans otomatis dalam set skala, gunakan objek automaticRepairsPolicy dalam model Virtual Machine Scale Set.

Anda juga dapat menggunakan templat mulai cepat ini untuk menyebarkan Virtual Machine Scale Set. Set skala memiliki pemeriksaan kesehatan penyeimbang beban dan perbaikan instans otomatis yang diaktifkan dengan masa tenggang 30 menit.

Langkah-langkah berikut mengaktifkan perbaikan otomatis saat membuat set skala baru.

  1. Buka Virtual Machine Scale Sets.
  2. Pilih + Tambahkan untuk membuat set skala baru.
  3. Buka tab Kesehatan.
  4. Cari bagian Kesehatan.
  5. Aktifkan opsi Pantau kesehatan aplikasi.
  6. Cari bagian Kebijakan perbaikan otomatis.
  7. Aktifkan opsi Perbaikan otomatis.
  8. Dalam Masa tenggang (min), tentukan masa tenggang dalam menit, nilai yang diizinkan adalah antara 10 dan 90 menit.
  9. Setelah selesai membuat set skala baru, pilih tombol Tinjau + buat .

Mengaktifkan kebijakan perbaikan otomatis saat memperbarui set skala yang ada

Untuk mengaktifkan kebijakan perbaikan otomatis saat membuat set skala baru, pastikan semua persyaratan untuk memilih fitur ini terpenuhi. Titik akhir aplikasi harus dikonfigurasi dengan benar untuk instans set skala guna menghindari terpicunya perbaikan yang tidak diinginkan saat titik akhir sedang dikonfigurasi. Untuk mengaktifkan perbaikan instans otomatis dalam set skala, gunakan objek automaticRepairsPolicy dalam model Virtual Machine Scale Set.

Setelah memperbarui model set skala yang ada, pastikan model terbaru diterapkan ke semua instans skala. Lihat petunjuk tentang cara memperbarui VM model set skala terbaru.

Anda dapat mengubah kebijakan perbaikan otomatis dari set skala yang ada melalui portal Azure.

Catatan

Aktifkan ekstensi Kesehatan Aplikasi atau pemeriksaan kesehatan Load Balancer pada Set Skala Komputer Virtual Anda sebelum Anda memulai langkah-langkah berikutnya.

  1. Buka Virtual Machine Scale Set.0 yang ada
  2. Pada bagian Pengaturan di menu di sebelah kiri, pilih Kesehatan dan perbaiki.
  3. Aktifkan opsi Pantau kesehatan aplikasi.

Jika Anda memantau set skala anda dengan menggunakan ekstensi Application Health:

  1. Pilih ekstensi Application Health dari daftar dropdown Monitor Kesehatan Aplikasi.

  2. Dari daftar dropdown Protokol , pilih protokol jaringan yang digunakan oleh aplikasi Anda untuk melaporkan kesehatan. Pilih protokol yang sesuai berdasarkan persyaratan aplikasi Anda. Opsi protokol adalah HTTP, HTTPS, atau TCP.

  3. Dalam kotak Konfigurasi nomor port, ketik port jaringan yang digunakan untuk memantau kesehatan aplikasi.

  4. Untuk Jalur, berikan jalur titik akhir aplikasi (misalnya, "/") yang digunakan untuk melaporkan kesehatan aplikasi.

    Catatan

    Ekstensi Application Health akan melakukan ping jalur ini di dalam setiap komputer virtual dalam set skala untuk mendapatkan status kesehatan aplikasi untuk setiap instans. Jika Anda menggunakan Status Kesehatan Biner dan titik akhir merespons dengan status 200 (OK), maka instans ditandai sebagai "Sehat". Dalam kasus lain (termasuk jika titik akhir tidak dapat dijangkau), instans akan ditandai sebagai "Tidak Sehat". Untuk opsi status kesehatan lainnya, jelajahi Status Kesehatan Kaya.

Jika Anda memantau set skala menggunakan pemeriksaan SLB Health:

  • Pilih Pemeriksaan load balancer dari daftar dropdown monitor Kesehatan Aplikasi.- Untuk pemeriksaan kesehatan Load Balancer, pilih pemeriksaan kesehatan yang ada atau buat pemeriksaan kesehatan baru untuk pemantauan.

Untuk mengaktifkan perbaikan otomatis:

  1. Cari bagian Kebijakan perbaikan otomatis.
  2. Aktifkan opsi Perbaikan otomatis.
  3. Dalam Masa tenggang (min), tentukan masa tenggang dalam menit. Nilai yang diizinkan adalah antara 10 dan 90 menit.
  4. Jika sudah selesai, pilih Simpan.

Mengonfigurasi tindakan perbaikan pada kebijakan perbaikan otomatis

Pengaturan repairAction di bawah automaticRepairsPolicy memungkinkan Anda menentukan tindakan perbaikan yang diinginkan yang dilakukan sebagai respons terhadap instans yang tidak sehat. Jika Anda memperbarui tindakan perbaikan pada kebijakan perbaikan otomatis yang ada, Anda harus terlebih dahulu menonaktifkan perbaikan otomatis pada set skala dan mengaktifkan kembali dengan tindakan perbaikan yang diperbarui. Proses ini diilustrasikan dalam contoh di bawah ini.

Contoh ini menunjukkan cara memperbarui tindakan perbaikan pada set skala dengan kebijakan perbaikan otomatis yang ada. Gunakan API versi 2021-11-01 atau yang lebih tinggi.

Menonaktifkan kebijakan perbaikan otomatis yang ada pada set skala Anda

PUT or PATCH on '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2021-11-01'
{
  "properties": {
    "automaticRepairsPolicy": {
            "enabled": "false"
        }
    }
}

Mengaktifkan kembali kebijakan perbaikan otomatis dengan tindakan perbaikan yang diinginkan

PUT or PATCH on '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}?api-version=2021-11-01'
{
  "properties": {
    "automaticRepairsPolicy": {
            "enabled": "true",
            "gracePeriod": "PT40M",
            "repairAction": "Reimage"
        }
    }
}

Melihat dan memperbarui status layanan kebijakan perbaikan instans otomatis

Gunakan Dapatkan Tampilan Instans dengan API versi 2019-12-01 atau lebih tinggi untuk Virtual Machine Scale Set untuk melihat serviceState untuk perbaikan otomatis di bawah orkestrasi propertiServices.

GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
{
  "orchestrationServices": [
    {
      "serviceName": "AutomaticRepairs",
      "serviceState": "Running"
    }
  ]
}

Gunakan Atur Status Layanan Orkestrasi untuk menangguhkan atau melanjutkan serviceState untuk perbaikan otomatis.

POST '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2023-07-01'

{
  "serviceName": "AutomaticRepairs",
  "action": "Suspend"
}

Pecahkan masalah

Kegagalan dalam mengaktifkan kebijakan perbaikan otomatis

Jika Anda mendapatkan kesalahan 'BadRequest' dengan pesan yang menyatakan "Tidak dapat menemukan anggota 'automaticRepairsPolicy' pada objek jenis 'properti'", maka periksa versi API yang digunakan untuk Virtual Machine Scale Set. API versi 2018-10-01 atau lebih tinggi diperlukan untuk fitur ini.

Instans tidak diperbaiki bahkan ketika kebijakan diaktifkan

Instans bisa berada dalam masa tenggang. Periode ini adalah jumlah waktu untuk menunggu setelah perubahan status pada instans sebelum melakukan perbaikan, yang membantu menghindari perbaikan dini atau tidak disengaja. Tindakan perbaikan akan terjadi setelah masa tenggang selesai untuk instans tersebut.

Melihat status kesehatan aplikasi untuk instans set skala

Anda dapat menggunakan Get Instance View API untuk instans dalam Virtual Machine Scale Set untuk melihat status kesehatan aplikasi. Dengan Azure PowerShell, Anda dapat menggunakan cmdlet Get-AzVmssVM dengan bendera -InstanceView. Status kesehatan aplikasi disediakan di bagian properti vmHealth.

Di portal Azure, Anda juga dapat melihat status kesehatan. Buka set skala yang ada, pilih Instans dari menu di sebelah kiri, dan lihat kolom Status kesehatan untuk mengetahui status kesehatan setiap instans set skala.

Langkah berikutnya

Pelajari cara mengonfigurasi ekstensi Application Health atau Pemeriksaan kesehatan load balancer untuk set skala Anda.