Bagikan melalui


Keandalan dalam Azure Virtual Machine Scale Sets

Azure Virtual Machine Scale Sets adalah sumber daya komputasi Azure yang dapat Anda gunakan untuk membuat dan mengelola sekelompok instans komputer virtual (VM). Jumlah instans VM dapat secara otomatis meningkat atau berkurang sebagai respons terhadap permintaan atau jadwal yang ditentukan. Set skala mesin virtual membantu meningkatkan ketersediaan dan ketahanan aplikasi dengan mendistribusikan mesin virtual (VM) di beberapa zona ketersediaan dan domain kesalahan.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan cara membuat Virtual Machine Scale Set tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, pemadaman zona ketersediaan, pemadaman wilayah, konfigurasi ulang VM, dan pemeliharaan layanan. Ini juga menjelaskan bagaimana Anda dapat menggunakan cadangan untuk memulihkan dari jenis masalah lain, dan menyoroti informasi utama tentang perjanjian tingkat layanan (SLA) Virtual Machine Scale Sets.

Penting

Saat memikirkan keandalan set skala dan VM-nya, Anda juga perlu mempertimbangkan keandalan disk, infrastruktur jaringan, dan aplikasi yang dijalankan di VM Anda. Meningkatkan ketahanan VM saja mungkin memiliki efek terbatas jika komponen lain tidak sama tangguhnya. Bergantung pada persyaratan ketahanan Anda, Anda mungkin perlu membuat perubahan konfigurasi di beberapa area.

Rekomendasi penyebaran produksi

Azure Well-Architected Framework memberikan rekomendasi untuk keandalan, performa, keamanan, biaya, dan operasi. Untuk mempelajari bagaimana area ini saling memengaruhi dan berkontribusi pada solusi Virtual Machine Scale Sets yang andal, lihat Praktik terbaik arsitektur untuk Azure Virtual Machines dan set skala dalam kerangka kerja Well-Architected.

Gambaran umum arsitektur keandalan

Kumpulan skala mengelompokkan beberapa instans VM dan menerapkan konfigurasi terpusat, aturan penyusunan otomatis, dan upgrade bertahap.

Set skala mendukung dua mode orkestrasi yang berbeda:

  • Set skala fleksibel (disarankan ) memberi Anda lebih banyak fleksibilitas untuk menyebarkan dan mengelola instans VM individual.
  • Set skala seragam menyebarkan VM yang memiliki konfigurasi identik, dan Anda mengelolanya sebagai grup.

Penyebaran domain kesalahan dalam sistem

Domain kesalahan adalah grup isolasi kesalahan dalam pusat data. Setiap domain kesalahan seperti rak server, yang merupakan kumpulan simpul perangkat keras yang memiliki daya, jaringan, pendinginan, dan jadwal pemeliharaan platform yang sama. Karena instans VM dari setiap set skala tersebar di beberapa domain kesalahan, pemadaman terencana atau tidak terencana yang terjadi dalam satu domain kesalahan kemungkinan tidak memengaruhi instans VM di domain kesalahan lainnya.

Saat menyebarkan set skala, Anda dapat mengontrol berapa banyak domain kesalahan yang tersebar di VM. Untuk sebagian besar skenario, gunakan perilaku penyebaran maks , yang menggunakan domain kesalahan sebanyak mungkin. Untuk informasi selengkapnya, lihat Memilih jumlah domain kesalahan yang tepat untuk Virtual Machine Scale Sets.

Di wilayah yang memiliki zona ketersediaan, setiap zona memiliki sekumpulan domain kesalahan yang berbeda. Saat Anda membuat set skala yang mencakup zona, instans tersebar di domain kesalahan di setiap zona yang digunakan set skala Anda.

Penyeimbangan beban

Set skala bisa terintegrasi dengan layanan penyeimbang beban Azure, termasuk Azure Load Balancer dan Azure Application Gateway. Saat set skala menambahkan atau menghapus instans, integrasi load balancer bawaan secara otomatis memperbarui konfigurasi load balancer. Untuk informasi selengkapnya, lihat Jaringan untuk Virtual Machine Scale Sets.

Set skala mencakup banyak kontrol dan kemampuan lain yang memengaruhi cara Anda menyebarkan, menskalakan, mendistribusikan, dan memperbarui instans. Untuk informasi selengkapnya, lihat Gambaran umum Virtual Machine Scale Sets.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

Aplikasi yang berjalan pada VM Anda harus menerapkan strategi penanganan kesalahan yang sesuai untuk memastikan bahwa gangguan sementara dalam layanan tidak memengaruhi beban kerja Anda.

Ketahanan terhadap masalah instance

Saat kumpulan skala memulai tugas pembuatan atau penghapusan instans VM, operasi mungkin gagal. Untuk mencoba kembali tugas pembuatan atau penghapusan instans VM yang gagal secara otomatis, pertimbangkan untuk menggunakan fitur buat dan hapus yang tangguh untuk Virtual Machine Scale Sets (pratinjau).

Masalah mungkin terjadi saat instance berjalan. Misalnya, instans mungkin menjadi tidak responsif karena aplikasi mengalami crash atau kelelahan sumber daya. Gunakan perbaikan instans otomatis untuk memantau kesehatan aplikasi Anda dan secara otomatis menghidupkan ulang, mereimage, atau mengganti instans VM saat diperlukan.

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Virtual Machine Scale Sets mendukung zona ketersediaan dalam konfigurasi yang mencakup banyak zona dan konfigurasi zonal.

Jika Anda tidak menentukan zona ketersediaan untuk set skala Anda, itu nonzonal atau regional. Dalam skenario ini, instans mungkin ditempatkan di zona mana pun di dalam wilayah dan mungkin tidak tersebar secara merata atau tidak berada di zona yang sama. Ketika Anda menggunakan kumpulan skala non-zonal, penempatan disk dalam zona yang sama dijamin untuk disk Ultra dan Premium v2. Kolokasi disediakan berdasarkan upaya terbaik untuk disk Premium v1 dan tidak dijamin untuk disk SKU Standar, termasuk disk solid-state drive (SSD) atau hard disk drive (HDD). Jika suatu zona dalam regional mengalami kegagalan, set skala Anda mungkin mengalami gangguan layanan.

Persyaratan

  • Dukungan wilayah: Anda dapat menyebarkan set skala yang mencakup zona dan set skala di dalam zona ke wilayah mana pun yang mendukung zona ketersediaan.

    Namun, beberapa jenis dan ukuran VM hanya tersedia di wilayah tertentu, atau zona tertentu dalam suatu wilayah. Untuk memeriksa wilayah dan zona mana yang mendukung jenis VM yang Anda butuhkan, gunakan sumber daya berikut:

    Jika SKU VM tertentu tidak tersedia di salah satu zona yang Anda pilih untuk set skala Anda, set skala Anda mungkin tidak dapat diskalakan untuk memenuhi persyaratan kapasitas Anda.

  • Host khusus: Penyebaran Azure Dedicated Host tidak mendukung set skala yang menjangkau zona atau yang berbasis zona.

  • Jenis: Dukungan zona ketersediaan tersedia untuk semua jenis set skala, termasuk set skala yang fleksibel dan seragam.

Pertimbangan

  • Penyebaran domain kesalahan: Ketika set skala Anda menggunakan zona ketersediaan, Anda harus memilih dari pendekatan penyebaran domain kesalahan yang spesifik. Kami menyarankan agar Anda menggunakan penyebaran maksimum, yang menggunakan sebanyak mungkin domain kerusakan, untuk sebagian besar beban kerja. Untuk informasi selengkapnya, lihat Memilih jumlah domain kesalahan yang tepat untuk Virtual Machine Scale Sets.

  • Penyeimbangan zona:Penyeimbangan zona menentukan apakah instans VM dalam set skala didistribusikan secara merata di seluruh zona yang Anda pilih. Set skala dianggap seimbang jika setiap zona memiliki jumlah VM yang sama, ditambah atau dikurangi satu VM. Anda dapat mengatur mode penyeimbangan zona ke upaya terbaik atau ketat. Pengaturan ini mengontrol apakah set skala dapat meluaskan skala secara tidak merata, termasuk dalam skenario pemadaman zona.

  • Grup penempatan: Untuk set skala seragam, jika Anda mengonfigurasi beberapa grup penempatan, Azure menyebarkan beberapa grup penempatan di setiap zona yang digunakan set skala Anda.

Biaya

Tidak ada perbedaan biaya antara set skala zona, zonal, dan nonzonal yang memiliki jumlah dan jenis instans VM yang sama.

Mengonfigurasi dukungan zona ketersediaan

Bagian ini menjelaskan cara mengonfigurasi dukungan zona ketersediaan untuk set skala Anda.

  • Buat set skala melintasi zona atau zonal. Anda dapat mengonfigurasi zona ketersediaan saat membuat set skala baru. Untuk informasi selengkapnya, lihat Membuat set skala komputer virtual yang menggunakan zona ketersediaan.

    Nota

    Saat Anda memilih zona ketersediaan mana yang akan digunakan, Anda benar-benar memilih zona ketersediaan logis. Jika Anda menyebarkan komponen beban kerja lain di langganan Azure yang berbeda, mereka mungkin menggunakan nomor zona ketersediaan logis yang berbeda untuk mengakses zona ketersediaan fisik yang sama. Untuk informasi selengkapnya, lihat Zona ketersediaan fisik dan logis.

  • Ubah set skala yang sudah ada untuk menggunakan zona ketersediaan. Anda dapat mengonversi set skala nonzonal (regional) yang ada untuk menggunakan zona ketersediaan. Untuk informasi selengkapnya, lihat Memperbarui set skala untuk menambahkan zona ketersediaan.

  • Ubah konfigurasi zona ketersediaan dari set skala yang ada. Anda dapat menambahkan zona ke set skala yang ada, tetapi Anda tidak dapat menghapus zona. Untuk informasi selengkapnya, lihat Memperbarui set skala untuk menambahkan zona ketersediaan.

    Penting

    Saat Anda memperluas skala yang diatur ke lebih banyak zona, instans VM asli tidak segera bermigrasi atau berubah. Saat Anda meluaskan skala, instans baru dibuat dan tersebar secara merata di seluruh zona ketersediaan yang dipilih. Jika Anda memerlukan data dari instans asli, Anda bertanggung jawab untuk memigrasikan data ke instans di zona baru. Saat Anda menskalakan dalam set skala, instans regional apa pun diprioritaskan untuk dihapus terlebih dahulu. Kemudian, instans dihapus berdasarkan kebijakan pengurangan skala dari set skala. Untuk informasi selengkapnya, lihat Cara menyeimbangkan set skala Anda secara manual.

Perencanaan dan manajemen kapasitas

Untuk mempersiapkan kegagalan zona ketersediaan, pertimbangkan untuk menyediakan jumlah instans VM secara berlebihan dalam set skala Anda. Pendekatan ini memungkinkan solusi untuk mentolerir beberapa kehilangan kapasitas dan terus berfungsi tanpa penurunan performa dan memastikan bahwa zona yang tersisa memiliki kapasitas yang memadai untuk menangani beban produksi penuh. Untuk informasi selengkapnya, lihat Mengelola kapasitas dengan menggunakan provisi berlebihan.

Perilaku ketika semua zona sehat

Bagian ini menjelaskan apa yang bisa diharapkan ketika set penskalaan dikonfigurasi dengan dukungan zona ketersediaan dan semua zona ketersediaan beroperasi.

  • Perutean lalu lintas antar zona: Anda bertanggung jawab untuk merutekan lalu lintas antar VM dalam set skala, termasuk VM yang berada di zona ketersediaan yang berbeda. Pendekatan umum termasuk Load Balancer dan Application Gateway, yang menyediakan integrasi bawaan dengan set skala. Untuk informasi selengkapnya, lihat Jaringan untuk Virtual Machine Scale Sets.

  • Replikasi data antar zona: Anda bertanggung jawab atas replikasi data apa pun yang perlu terjadi antara VM, termasuk di seluruh VM di zona ketersediaan yang berbeda. Database dan aplikasi stateful serupa lainnya yang berjalan pada VM sering menyediakan kemampuan untuk mereplikasi data.

Perilaku selama kegagalan zona

Bagian ini menjelaskan apa yang dapat diharapkan ketika kumpulan skala dikonfigurasi dengan dukungan zona ketersediaan dan terjadi pemadaman di zona ketersediaan tersebut.

  • Deteksi dan respons: Anda bertanggung jawab untuk mendeteksi hilangnya zona ketersediaan dan memutuskan cara merespons.

    Untuk set skala yang mencakup zona, instans VM apa pun di zona yang terpengaruh mungkin tidak tersedia. Instans di zona sehat tetap beroperasi.

    Untuk himpunan skala zona yang dikerahkan di zona yang terkena dampak, semua instans VM mungkin tidak tersedia. Anda perlu merencanakan bagaimana Anda merespons kegagalan zona. Misalnya, Anda dapat mengalihkan lalu lintas ke set skala lain di zona atau wilayah yang berbeda.

  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Resource Health untuk memantau kesehatan sumber daya individual, dan Anda dapat menyiapkan pemberitahuan Resource Health untuk memberi tahu Anda tentang masalah. Anda juga dapat menggunakan Azure Service Health untuk memahami kesehatan layanan secara keseluruhan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
  • Permintaan aktif: Setiap permintaan aktif atau pekerjaan lain yang terjadi pada VM di zona ketersediaan yang terpengaruh kemungkinan akan dihentikan.

  • Kehilangan data yang diharapkan: Disk VM zonal mungkin tidak tersedia selama kegagalan zona.

    Jika Anda menggunakan disk penyimpanan zona redundan (ZRS) dan pemadaman memengaruhi VM Anda, Anda dapat memaksa untuk melepaskan disk ZRS dari VM yang mengalami kegagalan. Pendekatan ini memungkinkan Anda untuk melampirkan disk ZRS ke VM lain.

  • Waktu henti yang diharapkan: Setiap VM di zona yang terpengaruh tetap tidak berfungsi hingga zona ketersediaan pulih. Saat Anda menggunakan set skala yang mencakup zona, VM yang terletak di zona sehat terus berfungsi.

  • Pengalihan lalu lintas: Anda bertanggung jawab untuk mengalihkan lalu lintas ke VM lain di zona sehat.

    Jika Anda mengonfigurasi load balancer tahan zona yang melakukan cek kesehatan, load balancer biasanya mendeteksi VM yang gagal dan dapat merutekan lalu lintas ke instance VM lain di zona sehat.

  • Penggantian instans: Virtual Machine Scale Sets tidak menjamin secara otomatis menambahkan instans baru ke dalam zona yang sehat.

    Jika Anda memiliki set skala yang mencakup zona, Anda dapat meluaskan skala untuk menambahkan lebih banyak instans. Jika kegagalan zona dibatasi untuk set server tertentu dalam zona, operasi memperluas skala mungkin menambah instans yang berfungsi dengan baik ke zona yang sama, atau mungkin menambah instans ke zona lain. Namun, jika set skala menggunakan penyeimbangan zona yang ketat, set skala memblokir operasi peningkatan skala yang menimbulkan ketidakseimbangan.

    Petunjuk / Saran

    Ini adalah praktik yang baik untuk mengonfigurasi aturan skala otomatis berdasarkan penggunaan CPU atau memori. Aturan skala otomatis dapat memungkinkan set skala merespons hilangnya instans VM di zona dengan memperluas skala untuk menambahkan instans baru di zona operasional yang tersisa.

Pemulihan Zona

Ketika zona dalam kondisi sehat, VM di zona akan di-restart. Anda bertanggung jawab atas prosedur pemulihan zona dan sinkronisasi data apa pun yang diperlukan beban kerja Anda.

Jika Anda menambahkan instans sementara ke set skala Anda selama kegagalan zona, saat zona dipulihkan, Anda mungkin perlu mengurangi set skala ke kapasitas asli.

Uji kegagalan zona

Anda dapat menggunakan Azure Chaos Studio untuk mensimulasikan hilangnya VM di satu atau beberapa zona ketersediaan sebagai bagian dari eksperimen. Chaos Studio menyediakan kesalahan bawaan untuk kumpulan skala, termasuk kemampuan untuk menonaktifkan VM di zona tertentu. Anda dapat menggunakan kemampuan ini untuk mensimulasikan kegagalan tingkat zona dan menguji proses failover Anda.

Ketahanan terhadap kegagalan di seluruh wilayah

Set skala adalah sumber daya wilayah tunggal. Jika wilayah tidak tersedia, set skala apa pun di wilayah tersebut juga tidak tersedia.

Solusi multi-wilayah kustom untuk ketahanan

Anda dapat menyebarkan beberapa set skala ke berbagai wilayah, tetapi Anda perlu menerapkan proses replikasi, penyeimbangan beban, dan failover. Misalnya, Anda dapat menyebarkan set skala yang identik di beberapa wilayah dan menggunakan Azure Front Door atau Azure Traffic Manager dengan pemantauan kesehatan untuk merutekan lalu lintas. Anda bertanggung jawab untuk mereplikasi status dengan menggunakan mekanisme aplikasi atau layanan data terkelola.

Pencadangan dan pemulihan

Azure Backup menyediakan dukungan cadangan asli untuk VM. Azure Backup membuat dan mengelola cadangan, dan memberikan perlindungan yang konsisten dengan aplikasi untuk seluruh VM, termasuk semua disk yang terpasang. Solusi pencadangan VM dengan Azure Backup sangat ideal ketika Anda memerlukan pencadangan terkoordinasi dari beberapa disk atau cadangan sadar aplikasi. Namun, untuk beban kerja database, pertimbangkan solusi pencadangan khusus aplikasi yang memberikan perlindungan yang konsisten dengan transaksi dan opsi pemulihan yang lebih cepat.

Dengan Azure Backup untuk VM, Anda dapat menyesuaikan frekuensi cadangan, durasi retensi, dan konfigurasi penyimpanan yang sesuai dengan kebutuhan Anda. Untuk informasi selengkapnya, lihat Azure Backup untuk VM.

Pencadangan juga mendukung disk yang dilampirkan ke VM. Untuk informasi selengkapnya, lihat Gambaran Umum Azure Disk Backup.

Untuk sebagian besar solusi, Anda tidak boleh mengandalkan cadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain yang dijelaskan dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain. Untuk informasi selengkapnya, lihat Apa itu redundansi, replikasi, dan cadangan?.

Ketahanan terhadap konfigurasi ulang VM

Set skala memungkinkan Anda mengontrol bagaimana Anda menerapkan perubahan konfigurasi ke VM Anda, seperti mengubah SKU VM Anda, mengubah gambar yang digunakan setiap VM, dan menambahkan atau menghapus ekstensi VM. Anda dapat mengontrol mode kebijakan peningkatan, yang menentukan bagaimana peningkatan diterapkan. Untuk informasi selengkapnya, lihat Mode Kebijakan Peningkatan untuk Virtual Machine Scale Sets.

Beberapa jenis peningkatan memerlukan penimpaan ulang atau penyebaran ulang instans. Untuk mengecualikan instans tertentu dari peningkatan otomatis, pertimbangkan untuk menggunakan perlindungan instans. Anda mungkin mengecualikan instans yang berisi status yang perlu Anda pertahankan atau konfigurasi yang tidak dapat Anda replikasi pada instans lain.

Ketahanan terhadap pemeliharaan layanan

Azure secara berkala melakukan pembaruan untuk meningkatkan keandalan, performa, dan keamanan infrastruktur host untuk VM. Set skala menyediakan beberapa cara untuk memahami dan mengontrol pemeliharaan terencana:

  • Pemberitahuan pemeliharaan terencana memberi tahu Anda ketika pemeliharaan jatuh tempo dan memungkinkan Anda mengontrol kapan pemeliharaan terjadi.

  • Konfigurasi pemeliharaan memungkinkan Anda menjadwalkan jendela pemeliharaan pada waktu yang sesuai dengan kebutuhan bisnis Anda.

  • Peristiwa Terjadwal untuk VM Linux dan untuk VM Windows memberi waktu aplikasi Anda untuk mempersiapkan pemeliharaan VM. Ini memberikan informasi tentang peristiwa pemeliharaan yang akan datang, seperti boot ulang, sehingga aplikasi Anda dapat mempersiapkannya dan membatasi gangguan.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.

Set skala mesin virtual menggunakan SLA ketersediaan yang sama untuk VM. Anda dapat mencapai persentase waktu aktif yang lebih tinggi untuk VM Anda dengan menggunakan set skala yang memenuhi kedua kriteria berikut:

  • Sekumpulan skala berisi dua instans atau lebih.
  • Kumpulan skala menyebar instans tersebut ke dua atau lebih zona ketersediaan.