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 Application Gateway adalah penyeimbang beban lalu lintas web yang dapat Anda gunakan untuk mengelola lalu lintas ke aplikasi web Anda. Ini menyediakan fitur lanjutan seperti penskalaan otomatis, redundansi zona, alamat IP virtual statis (VIP), dan integrasi firewall aplikasi web (WAF) untuk memberikan layanan pengiriman aplikasi yang sangat tersedia dan aman.
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 Application Gateway v2 tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, pemadaman zona ketersediaan, dan pemadaman wilayah. Ini juga menyoroti beberapa informasi utama tentang perjanjian tingkat layanan (SLA) Application Gateway v2.
Penting
Keandalan solusi anda secara keseluruhan tergantung pada konfigurasi server backend tempat Application Gateway merutekan lalu lintas. Bergantung pada solusi Anda, ini mungkin mesin virtual Azure (VM), set skala mesin virtual Azure, Azure App Services, atau titik akhir eksternal.
Server backend Anda tidak berada dalam cakupan untuk artikel ini, tetapi konfigurasi ketersediaannya secara langsung memengaruhi ketahanan aplikasi Anda. Tinjau panduan keandalan untuk semua layanan Azure dalam solusi Anda untuk memahami bagaimana setiap layanan mendukung persyaratan keandalan Anda. Dengan memastikan bahwa server backend Anda juga dikonfigurasi untuk ketersediaan tinggi dan redundansi zona, Anda dapat mencapai keandalan end-to-end untuk aplikasi Anda.
Rekomendasi penyebaran produksi
Untuk mempelajari tentang cara menyebarkan Application Gateway untuk mendukung persyaratan keandalan solusi Anda, dan bagaimana keandalan memengaruhi aspek lain dari arsitektur Anda, lihat Praktik terbaik arsitektur untuk Application Gateway di Azure Well-Architected Framework.
Gambaran umum arsitektur keandalan
Application Gateway adalah layanan terkelola. Penting untuk memahami beberapa elemen utama arsitektur layanan sehingga Anda dapat membuat keputusan keandalan berdasarkan informasi.
Gateway: Saat Anda menyebarkan Application Gateway, Anda menyebarkan gateway, yang merupakan sumber daya Azure yang Anda gunakan.
Instans:Instans adalah satu unit dari gateway. Sebuah gateway memiliki beberapa instance. Setiap instans memiliki alamat IP privatnya sendiri, menangani lalu lintas, dan merutekan permintaan.
Penting
Untuk ketersediaan tinggi, setiap gateway selalu dibuat dengan minimal dua instans. Namun, portal Microsoft Azure mungkin menunjukkan bahwa gateway Anda memiliki satu instans, meskipun sebenarnya memiliki dua.
Platform ini secara otomatis mengelola pembuatan instans, pemantauan kesehatan, dan penggantian instans yang tidak sehat. Ini juga mengelola penghapusan instans yang mulus selama peristiwa pengurangan skala. Proses ini dikenal sebagai pengosongan koneksi.
Diagram berikut menunjukkan gateway dengan dua instance.
Untuk mendistribusikan instans di beberapa zona ketersediaan sehingga meningkatkan redundansi dan ketersediaan selama kegagalan pusat data, Anda dapat mengaktifkan redundansi zona.
Scaling: Aspek penting dari keandalan gateway adalah kemampuannya untuk melakukan penskalaan dalam memenuhi kebutuhan pengelolaan lalu lintas. Jika gateway tidak diskalakan dengan tepat, lalu lintas tidak dapat mengalir dan aplikasi Anda dapat mengalami waktu henti. Anda dapat mengonfigurasi Application Gateway untuk menggunakan salah satu mode penskalaan berikut.
Autoscaling: Menyesuaikan jumlah instans secara otomatis dalam rentang yang Anda tentukan. Autoscaling menyesuaikan jumlah instance berdasarkan permintaan traffic saat ini.
Penskalakan manual: Mengharuskan Anda menentukan jumlah instans yang tepat. Anda bertanggung jawab untuk memilih jumlah instance yang sesuai dengan permintaan lalu lintas Anda.
Unit kapasitas mewakili jumlah kapasitas yang dapat diproses gateway. Unit kapasitas adalah ukuran sintetis yang menggabungkan lalu lintas, jumlah koneksi, dan sumber daya komputasi. Setiap instans dapat menangani minimal 10 unit kapasitas. Untuk informasi selengkapnya, lihat Menskalakan Application Gateway v2 dan WAF v2.
Pemeriksaan kesehatan: Application Gateway menggunakan pemeriksaan kesehatan untuk terus memantau server backend Anda, seperti server aplikasi individual. Lalu lintas dapat dialihkan secara otomatis ke server backend yang sehat ketika server yang tidak sehat terdeteksi.
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 Application Gateway, pertimbangkan praktik terbaik berikut:
Menerapkan logika pengulangan. Klien harus menerapkan mekanisme coba lagi yang sesuai untuk kegagalan koneksi sementara.
Konfigurasikan pengecekan kesehatan dengan toleransi. Konfigurasikan pengecekan kesehatan Anda untuk memungkinkan masa tenggang bagi kesalahan sementara. Pemeriksaan kesehatan dapat dikonfigurasi dengan ambang batas tidak sehat, yang menentukan jumlah upaya koneksi gagal berturut-turut yang akan menandai server backend sebagai tidak sehat. Nilai default tiga memastikan bahwa kesalahan sementara di server backend Anda tidak memicu Application Gateway untuk menandai server sebagai tidak sehat.
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.
Application Gateway menyediakan dua jenis dukungan zona ketersediaan saat Anda menyebarkan gateway Standard_v2 atau WAF_v2 di wilayah yang didukung.
Redundansi Zona: Azure mendistribusikan instance secara otomatis di dua atau lebih zona ketersediaan.
Saat Anda menyebarkan gateway baru, secara default gateway tersebut memiliki redundansi zona.
Diagram berikut menunjukkan gateway zona-redundan dengan tiga instans yang didistribusikan di tiga zona ketersediaan:
Zonal: Azure menyebarkan semua instans Application Gateway ke dalam satu zona yang Anda pilih dalam wilayah Azure pilihan Anda.
Diagram berikut menunjukkan gerbang zonal dengan tiga instance yang diterapkan pada zona ketersediaan yang sama.
Penting
Menyematkan ke zona ketersediaan tunggal hanya disarankan ketika latensi lintas zona terlalu tinggi untuk kebutuhan Anda dan Anda telah memverifikasi bahwa latensi tersebut tidak memenuhi persyaratan Anda. Tanpa dukungan tambahan, gateway zona tidak memberikan ketahanan terhadap gangguan pada zona ketersediaan. Untuk meningkatkan ketahanan penerapan Application Gateway zonal, Anda perlu secara eksplisit menyebarkan gateway terpisah ke beberapa zona ketersediaan dan mengonfigurasi lalu lintas perutean dan failover.
Persyaratan
Dukungan wilayah: Application Gateway mendukung zona ketersediaan untuk tingkat Standard_v2 dan WAF_v2 di semua wilayah Azure yang mendukung zona ketersediaan.
SKU: Anda harus menggunakan SKU Standard_v2 atau WAF_v2 untuk mengaktifkan dukungan zona ketersediaan.
Jumlah instans: Gateway Anda harus memiliki setidaknya dua instans.
Nota
Semua gateway memiliki minimal dua instans untuk ketersediaan tinggi. Bahkan jika portal Microsoft Azure menunjukkan bahwa gateway Anda memiliki satu instans, secara internal gateway selalu dibuat dengan minimal dua instans.
Pertimbangan
Gateway zona redundan tersebar di dua zona ketersediaan atau lebih di wilayah tersebut. Misalnya, di wilayah yang memiliki tiga zona ketersediaan, penyebaran Application Gateway v2 dengan redundansi zona memiliki instans di setidaknya dua dari zona tersebut. Tergantung pada kapasitas regional dan pengaturan platform, instans mungkin tersebar di dua atau tiga zona.
Biaya
Dukungan zona ketersediaan untuk Application Gateway v2 tidak dikenakan biaya tambahan di luar harga unit kapasitas standar. Untuk detail harga, lihat Memahami harga Application Gateway dan WAF dan harga Application Gateway.
Mengonfigurasi dukungan zona ketersediaan
Bagian ini menjelaskan cara mengonfigurasi dukungan zona ketersediaan untuk gateway Anda.
Buat gateway baru dengan dukungan zona ketersediaan. Pendekatan yang Anda gunakan untuk mengonfigurasi zona ketersediaan bergantung pada apakah Anda ingin membuat gateway zona-redundan atau zonal.
Zona-redundan: Gateway baru dibuat sebagai zona-redundan secara default. Instans tersebar di berbagai zona ketersediaan dan mungkin menggunakan dua atau lebih zona di wilayah tersebut.
Untuk menyebarkan gateway baru, lihat Mulai Cepat: Mengarahkan lalu lintas web dengan menggunakan Application Gateway - portal Microsoft Azure.
Saat Anda menggunakan templat Azure CLI, Azure PowerShell, Bicep, Azure Resource Manager (templat ARM), atau Terraform, Anda dapat secara opsional menentukan zona ketersediaan untuk menyebarkan gateway Anda. Anda dapat menyebarkan gateway redundansi zona dengan menentukan dua zona atau lebih. Namun, kami sarankan Anda menghilangkan daftar zona sehingga gateway Anda dapat menggunakan semua zona ketersediaan, kecuali Anda memiliki alasan khusus untuk tidak menggunakan zona tertentu.
Zonal: Anda dapat menyebarkan gerbang zonal dengan menggunakan perangkat berikut.
Azure CLI: Anda harus secara eksplisit memilih zona dengan menggunakan
--zonesparameter dalamaz network application-gateway createperintah . Untuk memasang gateway pada satu zona, tentukan nomor zona logika.Azure PowerShell: Gunakan parameter
-Zonedalam perintahNew-AzApplicationGateway. Untuk menyematkan gateway ke satu zona, tentukan nomor zona logis yang spesifik.Templat Bicep dan ARM: Konfigurasikan
zonesproperti dalam definisi sumber daya. Untuk menyematkan gateway ke satu zona, tentukan nomor zona logis.
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 konfigurasi zona ketersediaan instans Application Gateway v2 yang ada. Semua gateway bersifat redundan zona kecuali Anda mengonfigurasinya menjadi zonal.
Jika Anda perlu berpindah dari gateway redundansi zona ke konfigurasi zonal, Anda perlu menyiapkan gateway baru.
Nonaktifkan dukungan zona ketersediaan. Dukungan zona ketersediaan tidak dapat dinonaktifkan. Semua gateway di wilayah yang mendukung zona ketersediaan harus redundan zona atau zonal.
Perencanaan dan manajemen kapasitas
Saat Anda merencanakan kegagalan zona untuk gateway aplikasi zona-redundan atau beberapa gateway zona yang disebarkan ke beberapa zona, pertimbangkan bahwa instans di zona yang bertahan dapat mengalami peningkatan beban saat lalu lintas didistribusikan ulang. Koneksi mungkin mengalami gangguan singkat yang dapat berlangsung selama beberapa detik.
Untuk mengelola kapasitas secara efektif, lakukan tindakan berikut:
Gunakan autoscaling. Konfigurasikan autoscaling dengan jumlah instans maksimum yang sesuai untuk menangani potensi redistribusi lalu lintas selama pemadaman zona.
Jika Anda menggunakan penskalaan manual, untuk mempersiapkan kegagalan zona ketersediaan, pertimbangkan untuk memprovisikan jumlah instans secara berlebihan di gateway Anda. Provisi berlebih memungkinkan solusi untuk mentolerir beberapa tingkat kehilangan kapasitas, sambil terus berfungsi tanpa penurunan performa. Untuk informasi selengkapnya, lihat Mengelola kapasitas dengan penyediaan berlebih.
Merespons perubahan pola lalu lintas. Pantau metrik kapasitas dan sesuaikan parameter penskalakan berdasarkan pola lalu lintas dan persyaratan performa Anda.
Perilaku ketika semua zona sehat
Bagian berikut menjelaskan apa yang diharapkan ketika Application Gateway v2 dikonfigurasi dengan dukungan zona ketersediaan dan semua zona ketersediaan beroperasi.
Pengaturan permintaan antar zona: Application Gateway secara otomatis mendistribusikan permintaan masuk antara instans di seluruh zona yang digunakan oleh gateway Anda. Konfigurasi aktif-aktif ini memastikan performa optimal dan distribusi beban dalam kondisi operasi normal.
Manajemen instans: Platform ini secara otomatis mengelola penempatan instans di seluruh zona yang digunakan gateway Anda. Ini menggantikan instans yang gagal dan mempertahankan jumlah instans yang dikonfigurasi. Pemantauan kesehatan memastikan bahwa hanya instans sehat yang menerima lalu lintas.
Perilaku selama kegagalan zona
Bagian berikut menjelaskan apa yang diharapkan ketika Application Gateway v2 dikonfigurasi dengan dukungan zona ketersediaan dan satu atau beberapa zona ketersediaan tidak tersedia.
Deteksi dan respons: Tanggung jawab untuk deteksi dan respons tergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda.
Redundansi zona: Microsoft mengelola deteksi kegagalan zona dan memulai mekanisme failover secara otomatis. Tidak perlu tindakan pelanggan.
Zonal: Anda perlu mendeteksi hilangnya zona ketersediaan dan memulai failover ke gateway sekunder yang Anda buat di zona ketersediaan lain.
-
- 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: Selama pemadaman zona, permintaan yang sedang diproses oleh instans di zona tersebut dihentikan. Klien harus mencoba kembali permintaan dengan mengikuti panduan tentang cara menangani kesalahan sementara.
Perkiraan kehilangan data: Kegagalan zona tidak diharapkan menyebabkan kehilangan data karena Application Gateway adalah layanan yang tidak menyimpan status (stateless).
Waktu henti yang diharapkan: Waktu henti yang dapat Anda harapkan tergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda.
Zona-redundan: Selama pemadaman zona, koneksi mungkin mengalami gangguan singkat yang biasanya berlangsung beberapa detik saat lalu lintas didistribusikan ulang.
Zonal: Saat zona tidak tersedia, gateway Anda tidak dapat diakses sampai zona tersebut pulih.
Manajemen instans: Perilaku manajemen instans bergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda.
Zona-redundan: Platform ini mencoba mempertahankan kapasitas gateway Anda dengan membuat instans sementara di zona ketersediaan lainnya.
Secara internal, Application Gateway menggunakan set skala komputer virtual, yang melakukan penyeimbangan zona upaya terbaik. Karena perilaku ini, operasi penskalaan mungkin tidak terjadi ketika kapasitas tidak dapat dibagi secara merata antar zona (+/- 1 instans).
Zonal: Anda bertanggung jawab untuk membuat instance di zona yang sehat jika Anda memerlukannya.
Pengalihan lalu lintas: Perilaku pengalihan lalu lintas tergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda.
Zona-redundan: Application Gateway segera mendistribusikan ulang lalu lintas ke instans di zona sehat, termasuk instans apa pun yang dibuat sementara.
Zonal: Ketika zona tidak dapat diakses, gateway Anda tidak berfungsi. Jika Anda memiliki gateway sekunder di zona ketersediaan lain, Anda bertanggung jawab untuk mengalihkan lalu lintas ke gateway sekunder tersebut.
Pemulihan Zona
Perilaku pemulihan zona bergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda:
Zona-redundan: Saat zona ketersediaan yang terpengaruh pulih, Application Gateway secara otomatis mengambil tindakan berikut:
Memulihkan instans di zona pemulihan
Menghapus instans sementara yang dibuat di zona lain selama masa pemadaman
Kembali ke distribusi lalu lintas normal di semua zona yang tersedia
Zonal: Anda bertanggung jawab untuk mengalihkan lalu lintas ke gateway di zona ketersediaan asli setelah zona ketersediaan pulih.
Uji kegagalan zona
Opsi untuk pengujian kegagalan zona bergantung pada konfigurasi zona ketersediaan yang digunakan gateway Anda.
Zona redundan: Platform Application Gateway sepenuhnya mengelola perutean lalu lintas, failover, dan failback untuk gateway zona redundan. Karena Microsoft mengelola fitur ini, Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan. Platform ini menangani semua skenario kegagalan zona secara transparan.
Zonal: Anda dapat mensimulasikan beberapa aspek kegagalan zona ketersediaan dengan secara eksplisit menghentikan gateway. Dengan menghentikan gateway, Anda dapat menguji bagaimana sistem lain dan load balancer menangani pemadaman di gateway. Untuk informasi selengkapnya, lihat Cara menghentikan dan memulai Application Gateway.
Ketahanan terhadap kegagalan di seluruh wilayah
Application Gateway v2 adalah layanan wilayah tunggal. Jika wilayah menjadi tidak tersedia, gateway Anda juga tidak tersedia.
Solusi multi-wilayah kustom untuk ketahanan
Untuk mencapai ketahanan multi-wilayah dengan menggunakan Application Gateway v2, Anda perlu menyebarkan gateway terpisah di setiap wilayah yang diinginkan dan menerapkan manajemen lalu lintas di seluruh wilayah. Anda bertanggung jawab untuk menyebarkan dan mengonfigurasi setiap gateway, serta routing lalu lintas dan pemulihan keadaan gagal. Pertimbangkan poin-poin berikut:
Konfigurasikan aturan dan kebijakan Application Gateway yang konsisten di seluruh wilayah. Anda dapat menentukan infrastruktur sebagai kode (IaC) dengan menggunakan alat seperti Bicep atau Terraform untuk menyederhanakan penyebaran dan konfigurasi Anda di seluruh wilayah.
Sebarkan solusi penyeimbangan beban global yang dapat mengirim lalu lintas antar gateway regional Anda. Layanan penyeimbangan beban global di Azure adalah Azure Traffic Manager dan Azure Front Door. Setiap layanan merutekan lalu lintas berdasarkan pemeriksaan kesehatan, kedekatan geografis, atau metrik performa. Azure Front Door juga menyediakan berbagai kemampuan lain, termasuk perlindungan serangan penolakan layanan terdistribusi (DDoS), kemampuan Web Application Firewall (WAF), serta fitur aturan dan perutean tingkat lanjut.
Di luar gateway, pertimbangkan untuk mereplikasi aplikasi dan data backend di seluruh wilayah. Lihat panduan keandalan untuk setiap layanan Azure untuk memahami pendekatan penyebaran multi-wilayah.
Untuk contoh pendekatan, lihat Menggunakan Application Gateway dengan Traffic Manager.
Pencadangan dan pemulihan
Application Gateway v2 adalah layanan stateless yang tidak memerlukan operasi pencadangan dan pemulihan tradisional. Semua data konfigurasi disimpan di Resource Manager dan dapat disebarkan ulang dengan menggunakan pendekatan IaC, seperti file Bicep atau templat ARM.
Untuk manajemen konfigurasi dan pemulihan bencana, Anda harus mengambil tindakan berikut:
Tentukan konfigurasi penyebaran Application Gateway Anda dengan menggunakan file Bicep atau templat ARM, atau ekspor konfigurasi gateway yang ada.
Simpan sertifikat keamanan lapisan transportasi (TLS) di Azure Key Vault untuk manajemen dan replikasi yang aman.
Konfigurasi, aturan, dan kebijakan kustom kontrol dokumen dan versi.
Terapkan alur penyebaran otomatis untuk provisi gateway yang konsisten.
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 pemeliharaan layanan
Application Gateway v2 melakukan peningkatan layanan reguler dan tugas pemeliharaan lainnya. Untuk mempertahankan kapasitas yang diharapkan selama pembaruan, platform secara otomatis menambahkan instans tambahan gerbang jaringan Anda selama proses pembaruan. Namun, Anda perlu memastikan bahwa subnet gateway memiliki ruang alamat IP kosong yang memadai untuk instans sementara yang akan dibuat. Untuk informasi selengkapnya, lihat Bagaimana Application Gateway menangani pemeliharaan rutin?.
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.
Agar gateway memenuhi syarat untuk SLA ketersediaan Application Gateway, gateway harus memenuhi kriteria berikut:
- Ini harus dikonfigurasi dengan benar untuk melakukan penyeimbangan beban HTTP Anda.
- Ini harus zona redundan, atau harus dikonfigurasi untuk menggunakan skala otomatis.