Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Load Balancer adalah layanan penyeimbangan beban lapisan-4 untuk lalu lintas Protokol Kontrol Transmisi (TCP) dan Protokol Datagram Pengguna (UDP) yang mendistribusikan permintaan masuk di antara instans layanan Anda yang sehat. Load Balancer memberikan ketersediaan tinggi dan kinerja jaringan dengan latensi yang sangat rendah.
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 Load Balancer tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, pemadaman zona ketersediaan, dan pemadaman wilayah. Ini juga menyoroti informasi utama tentang perjanjian tingkat layanan Load Balancer (SLA).
Penting
Keandalan keseluruhan solusi Anda bergantung pada konfigurasi instans back-end (server) seperti mesin virtual (VM) Azure atau set skala mesin virtual yang menjadi tujuan lalu lintas yang dirutekan oleh penyeimbang beban Anda.
Artikel ini tidak mencakup instans back-end Anda, tetapi konfigurasi ketersediaannya secara langsung memengaruhi ketahanan aplikasi Anda. Tinjau panduan keandalan untuk layanan Azure dalam solusi Anda untuk mempelajari bagaimana setiap layanan mendukung persyaratan keandalan Anda. Saat Anda mengonfigurasi instans back-end untuk ketersediaan tinggi dan redundansi zona, Anda dapat mencapai keandalan penuh untuk aplikasi Anda.
Rekomendasi penyebaran produksi
Azure Well-Architected Framework memberikan rekomendasi dalam hal reliabilitas, keamanan, biaya, operasi, dan performa. Untuk mempelajari bagaimana area ini saling memengaruhi dan berkontribusi pada solusi Load Balancer yang andal, lihat Praktik terbaik arsitektur untuk Load Balancer.
Gambaran umum arsitektur keandalan
Penyeimbang beban dapat berupa publik atau internal. Load balancer publik dapat dijangkau dari internet melalui sumber daya alamat IP publik. Load balancer internal hanya dapat dijangkau dari dalam jaringan virtual Anda dan jaringan lain yang Anda sambungkan ke jaringan virtual.
Setiap load balancer terdiri dari beberapa komponen:
Konfigurasi IP front-end yang menerima lalu lintas. Load balancer publik menerima lalu lintas pada alamat IP publik. Penyeimbang beban internal menerima lalu lintas pada alamat IP di dalam jaringan virtual Anda.
Kumpulan back-end yang berisi kumpulan instans back-end yang dapat menerima lalu lintas, seperti VM individual yang menjalankan aplikasi Anda.
Aturan penyeimbangan beban yang menentukan bagaimana load balancer mendistribusikan lalu lintas dari front-end ke kumpulan back-end.
Probe kesehatan yang memantau ketersediaan instance backend.
Untuk informasi selengkapnya, lihat Komponen Load Balancer.
Untuk solusi yang disebarkan secara global, Anda dapat menyebarkan penyeimbang beban global, yang merupakan jenis penyeimbang beban publik yang unik untuk merutekan lalu lintas di antara berbagai penyebaran regional solusi Anda. Penyeimbang beban global menyediakan satu alamat IP anycast dan mengarahkan lalu lintas ke penyeimbang beban regional terdekat yang sehat berdasarkan kedekatan klien dan status kesehatan regional. Untuk informasi selengkapnya, lihat Ketahanan terhadap kegagalan di seluruh wilayah.
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.
Saat Anda menggunakan Load Balancer, pertimbangkan praktik terbaik berikut untuk meminimalkan risiko kesalahan sementara yang memengaruhi aplikasi Anda:
Menerapkan logika pengulangan. Klien harus menerapkan mekanisme coba lagi yang sesuai untuk kegagalan koneksi sementara, yang mencakup strategi backoff eksponensial.
Konfigurasikan pengecekan kesehatan dengan toleransi. Konfigurasikan pemantauan kesehatan Anda untuk menyeimbangkan deteksi kegagalan yang cepat dengan kebutuhan untuk menghindari positif palsu selama masalah sesaat.
Pantau alokasi port SNAT. Untuk koneksi keluar, pantau alokasi port Source Network Address Translation (SNAT) dan konfigurasikan aturan keluar untuk mencegah kegagalan koneksi sementara yang terjadi karena kelelahan port.
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.
Anda dapat menyebarkan Load Balancer sebagai zona redundan dengan mengonfigurasi setiap konfigurasi IP front-end yang Anda buat. Konfigurasi IP front-end zona-redundan menggunakan infrastruktur independen di beberapa zona untuk melayani lalu lintas secara bersamaan. Konfigurasi ini memastikan bahwa kegagalan zona tidak memengaruhi kemampuan load balancer untuk menerima dan mendistribusikan lalu lintas.
Diagram berikut menunjukkan load balancer publik zona-redundan, yang Anda konfigurasi dengan membuat alamat IP publik zona-redundan.
Diagram berikut menunjukkan load balancer internal yang menggunakan konfigurasi zona redundan serupa.
Nota
Anda dapat menyebarkan penyeimbang beban zonal, tetapi kami sarankan Anda menggunakan penyeimbang beban redundan zona untuk semua beban kerja, termasuk beban kerja yang Anda sebarkan ke dalam satu zona. Microsoft memigrasikan semua alamat IP publik dan load balancer ke konfigurasi zona redundan.
Di wilayah tanpa zona ketersediaan, Azure membuat semua penyeimbang beban dalam konfigurasi nonzonal atau regional dengan menggunakan konfigurasi front-end tanpa zona yang dikonfigurasi. Jika wilayah mengalami pemadaman, penyeimbang beban nonzonal Anda mungkin mengalami waktu henti.
Instans back-end dan zona ketersediaan
Konfigurasi zona ketersediaan instans back-end Anda beroperasi secara independen dari konfigurasi IP front-end load balancer Anda.
Untuk mendistribusikan instans back-end Anda di seluruh zona, konfigurasikan layanan yang relevan sesuai dengan fitur keandalan dan persyaratan arsitektur Anda.
Nota
Mencapai ketahanan, distribusikan instance backend di beberapa zona ketersediaan. Jika semua instans back-end berjalan dalam satu zona, pemadaman di zona tersebut membuat aplikasi Anda tidak tersedia, bahkan jika Anda menggunakan load balancer ber-redundansi zona.
Misalnya, ketika Anda menggunakan VM, pendekatan desain umum untuk beban kerja produksi adalah menempatkan beberapa VM zona di zona 1, 2, dan 3 untuk mencapai ketahanan zona. Untuk distribusi beban secara merata, Anda dapat membuat load balancer yang redundan zona dan mengonfigurasikan VM tersebut sebagai instans back-end dalam load balancer tersebut. Pemeriksaan kesehatan load balancer secara otomatis menghapus VM yang tidak sehat dari rotasi terlepas dari lokasi zonanya.
Jika Anda menyebarkan VM di zona ketersediaan yang sama, Anda dapat menyebarkan konfigurasi IP front-end zona-redundan pada load balancer Anda, seperti yang ditunjukkan oleh diagram berikut.
Persyaratan
Dukungan wilayah: Anda dapat menyebarkan load balancer redundansi-zona ke wilayah mana pun yang mendukung zona ketersediaan.
Biaya
Konfigurasi zona ketersediaan tidak mengubah cara Azure menagih load balancer. Azure mendasarkan penagihan pada jumlah aturan yang Anda konfigurasi dan data yang diprosesnya, terlepas dari konfigurasi zona. Untuk informasi selengkapnya, lihat Harga Load Balancer.
Mengonfigurasi dukungan zona ketersediaan
Saat Anda menggunakan Load Balancer, Anda mengatur dukungan zona ketersediaan pada konfigurasi IP front-end.
Buat load balancer baru dengan dukungan zona ketersediaan.
Untuk load balancer publik, konfigurasi IP front-end secara otomatis mengadopsi konfigurasi zona ketersediaan sumber daya alamat IP publik yang Anda kaitkan dengannya. Untuk membuat konfigurasi IP ujung depan redundan, buat atau pilih alamat IP publik berzona redundansi. Azure mengonfigurasi alamat IP publik sebagai zona redundan secara default. Untuk informasi selengkapnya, lihat Membuat load balancer publik untuk menyeimbangkan beban VM dengan menggunakan portal Microsoft Azure.
Untuk load balancer internal, ketika mengonfigurasi alamat IP front-end dari load balancer, Anda mengatur jenis dukungan zona ketersediaan pada konfigurasi IP front-end. Untuk informasi selengkapnya, lihat Membuat load balancer internal untuk menyeimbangkan beban VM dengan menggunakan portal Microsoft Azure.
Ubah konfigurasi zona ketersediaan load balancer yang ada. Untuk mengubah konfigurasi zona ketersediaan load balancer yang ada, ganti konfigurasi IP front-end. Anda dapat menggunakan pendekatan ini untuk berpindah dari konfigurasi zona ke konfigurasi IP front-end zona-redundan:
Buat konfigurasi IP front-end baru yang memiliki konfigurasi zona ketersediaan yang diinginkan.
Untuk load balancer publik, buat alamat IP publik baru yang menggunakan konfigurasi zona ketersediaan pilihan Anda. Kemudian konfigurasi ulang load balancer Anda untuk menambahkan konfigurasi IP front-end yang mereferensikan alamat IP publik tersebut.
Untuk load balancer internal, konfigurasikan ulang load balancer Anda untuk menambahkan konfigurasi IP front-end baru dengan konfigurasi ketersediaan yang Anda inginkan. Langkah ini menetapkan alamat IP privat baru dari dalam subnet Anda.
Konfigurasi ulang aturan penyeimbangan beban Anda untuk menggunakan konfigurasi IP front-end baru.
Penting
Operasi ini mengharuskan Anda untuk mengonfigurasi ulang klien Anda untuk mengirim lalu lintas ke alamat IP front-end baru. Bergantung pada klien Anda, prosesnya mungkin memerlukan waktu henti.
Hapus konfigurasi IP front-end lama.
Perilaku ketika semua zona sehat
Bagian ini menjelaskan apa yang diharapkan ketika load balancer menggunakan konfigurasi front-end IP zona-redundan dan semua zona ketersediaan beroperasi secara normal.
Perutean lalu lintas antar zona: Penyeimbangan beban dapat terjadi di zona ketersediaan apa pun. Load balancer mengalihkan lalu lintas ke instans back-end yang sehat yang Anda tentukan di pool back-end, tanpa memperhitungkan zona ketersediaan mana yang menampung instans back-end.
Replikasi data antar zona: Load Balancer beroperasi sebagai layanan pass-through jaringan yang tidak menyimpan atau mereplikasi data aplikasi. Meskipun Anda mengatur persistensi sesi pada load balancer, tidak ada status yang disimpan oleh load balancer. Persistensi sesi menyesuaikan proses hashing untuk merutekan permintaan ke instans back-end yang sama, tetapi penyeimbang beban tidak dapat menjamin adanya persistensi sesi. Ketika kumpulan back-end berubah, load balancer mengolah ulang distribusi permintaan klien dan tidak menyimpan atau menyinkronkan status.
Layanan ini mempertahankan status konfigurasinya melalui replikasi sinkron di seluruh zona, yang memastikan konsistensi langsung aturan penyeimbangan beban, konfigurasi pemeriksaan kesehatan, dan keanggotaan kumpulan back-end di semua zona.
Perilaku selama kegagalan zona
Bagian ini menjelaskan apa yang diharapkan ketika load balancer menggunakan konfigurasi IP front-end zona redundan dan terjadi pemadaman pada zona ketersediaan.
- Deteksi dan respons: Platform Azure bertanggung jawab untuk mendeteksi kegagalan di zona ketersediaan dan merespons. Anda tidak perlu melakukan apa pun untuk memulai failover zona.
- 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: Ketika zona gagal, setiap alur TCP dan UDP yang ada di dalam zona secara otomatis diatur ulang, dan klien Anda harus mencoba kembali alur tersebut. Klien Anda harus menerapkan penanganan kesalahan sementara yang memadai, termasuk percobaan ulang otomatis.
Kehilangan data yang diharapkan: Load Balancer adalah layanan jaringan stateless, sehingga tidak menyimpan data aplikasi dan tidak ada kehilangan data yang terjadi di lapisan load balancer.
Waktu henti yang diharapkan: Tidak ada waktu henti yang diharapkan untuk pengimbang beban zona redundan karena pengimbang beban terus bekerja dari zona sehat.
Jika kegagalan memengaruhi layanan komputasi di zona tersebut, VM atau sumber daya lain di zona yang terpengaruh mungkin tidak tersedia. Pemeriksaan kesehatan load balancer mendeteksi kegagalan ini dan merutekan lalu lintas ke instans alternatif di zona lain berdasarkan algoritma penyeimbangan beban dan status kesehatan instans back-end.
Pengalihan lalu lintas: Load balancer terus beroperasi dari zona yang berfungsi baik. Load Balancer mempertahankan alamat IP front-end yang sama selama gangguan zona. Perilaku ini berarti Anda tidak perlu menerapkan pembaruan Sistem Nama Domain (DNS) atau mengonfigurasi ulang klien. Platform Azure membangun koneksi klien baru melalui zona sehat yang tersisa.
Pemulihan Zona
Saat zona ketersediaan pulih, Load Balancer secara otomatis melanjutkan operasi normal. Front end zona yang redundan secara otomatis mulai melayani lalu lintas dari zona yang telah pulih, bersama dengan zona operasional lainnya. Sistem pemantauan kesehatan dari zona yang dipulihkan kembali melakukan evaluasi terhadap instans back-end.
Jika kegagalan zona juga memengaruhi layanan komputasi Anda di zona tersebut, Load Balancer secara otomatis menambahkan instans back-end ke kumpulan back-end yang sehat setelah pulih dan melewati pemeriksaan kesehatan. Penyeimbangan ulang distribusi lalu lintas di semua zona yang tersedia berdasarkan algoritma penyeimbangan beban dan status kesehatan instans back-end.
Uji kegagalan zona
Platform Azure mengelola pengaturan lalu lintas, respons kegagalan zona, dan pemulihan, sehingga Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan.
Anda dapat menggunakan Azure Chaos Studio untuk mensimulasikan kegagalan VM dalam satu zona. Chaos Studio menyediakan kesalahan bawaan untuk VM, termasuk kesalahan yang mematikan VM. Anda dapat menggunakan kemampuan ini untuk mensimulasikan kegagalan zona dan menguji proses failover Anda.
Ketahanan terhadap kegagalan di seluruh wilayah
Penyeimbang beban publik dan internal disebarkan ke dalam satu wilayah Azure. Jika wilayah menjadi tidak tersedia, load balancer Anda di wilayah tersebut juga menjadi tidak tersedia. Load Balancer menyediakan dukungan multi-wilayah asli melalui load balancer global, yang mendukung penyeimbangan beban di seluruh wilayah Azure. Anda juga dapat menyebarkan layanan penyeimbang beban lainnya untuk merutekan dan melakukan failover di seluruh wilayah Azure.
Penyeimbang beban global
Penyeimbang beban global menyediakan satu alamat IP anycast statis yang secara otomatis merutekan lalu lintas ke penyebaran regional yang optimal berdasarkan kedekatan klien dan kesehatan regional. Penyeimbang beban global meningkatkan keandalan dan performa aplikasi Anda.
Dengan penyeimbang beban global, Anda dapat menyebarkan beberapa penyeimbang beban publik di berbagai wilayah, dan penyeimbang beban global akan berfungsi sebagai antarmuka depan global. Jika server back-end Anda di satu wilayah mengalami masalah, lalu lintas secara otomatis beralih ke wilayah yang sehat tanpa perubahan DNS karena alamat IP anycast tetap konstan dan merutekan lalu lintas ke wilayah lain.
Untuk informasi selengkapnya, lihat Penyeimbang muatan global.
Solusi multi-wilayah kustom untuk ketahanan
Azure menyediakan berbagai layanan penyeimbangan beban yang sesuai dengan persyaratan yang berbeda. Pilih load balancer yang memenuhi persyaratan ketahanan Anda dan sesuai dengan jenis aplikasi Anda. Untuk informasi selengkapnya, lihat Opsi penyeimbangan beban.
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.
SLA Penyeimbang Beban berlaku ketika Anda memiliki setidaknya dua VM yang sehat yang dikonfigurasi sebagai instans backend. SLA mengecualikan waktu henti karena kelelahan port SNAT atau kelompok keamanan jaringan (NSG) yang memblokir lalu lintas.