Praktik terbaik untuk mengkonfigurasi pemeriksaan kesehatan di AWS Global Accelerator fokus untuk memastikan pemantauan kesehatan titik akhir yang akurat, aman, dan efisien untuk mempertahankan ketersediaan tinggi dan perutean lalu lintas yang optimal. Di bawah ini adalah pedoman terperinci berdasarkan dokumentasi AWS dan praktik terbaik terkait:
Praktik terbaik utama untuk mengonfigurasi pemeriksaan kesehatan di akselerator global
1. Gunakan protokol dan port pemeriksaan kesehatan yang tepat
- Pilih Protokol Periksa Kesehatan (TCP, HTTP, atau HTTPS) yang paling mencerminkan sifat aplikasi Anda dan kemampuan titik akhir untuk merespons. Pemeriksaan kesehatan TCP memverifikasi konektivitas tingkat jaringan dengan mengirim paket syn, sementara pemeriksaan http/https mensimulasikan permintaan HTTP GET aktual ke titik akhir aplikasi [6] [9].
- Mengkonfigurasi port pemeriksaan kesehatan agar sesuai dengan port pendengar pada akselerator Anda untuk konsistensi. Jika Anda menggunakan port yang berbeda untuk pemeriksaan kesehatan, pastikan bahwa aturan firewall dan kelompok keamanan membatasi akses ke hanya rentang IP yang digunakan oleh Route 53 Health Checkers untuk mencegah mengekspos pelabuhan secara publik [1] [4].
- Untuk instance EC2 atau titik akhir IP elastis dengan pendengar UDP, Global Accelerator melakukan pemeriksaan kesehatan TCP pada port pendengar, jadi pastikan server TCP berjalan di port itu; Jika tidak, titik akhir akan ditandai tidak sehat [1].
2. Pastikan keamanan dan akses untuk pemeriksaan kesehatan
- Izinkan lalu lintas masuk dari alamat IP yang terkait dengan Amazon Route 53 Health Checker di konfigurasi firewall dan router Anda. Ini sangat penting untuk pemeriksaan kesehatan agar berhasil, terutama untuk instance EC2 atau titik akhir IP elastis [1] [4].
- Saat menggunakan port pemeriksaan kesehatan non-default, batasi akses ke port itu hanya ke rentang periksa kesehatan Route 53 untuk menghindari risiko keamanan [1].
- Secara teratur meninjau dan memperbarui aturan grup keamanan untuk mengakomodasi setiap perubahan dalam rentang alamat IP yang digunakan oleh Route 53 Health Checkers.
3. Konfigurasikan Parameter Waktu Pemeriksaan Kesehatan dengan cermat
- Atur interval pemeriksaan kesehatan (waktu antara cek) berdasarkan toleransi aplikasi Anda untuk downtime dan kekritisan titik akhir. Interval yang lebih pendek mendeteksi kegagalan lebih cepat tetapi meningkatkan beban dan biaya, sementara interval lebih lama mengurangi beban tetapi deteksi kegagalan tunda [5].
- Mengkonfigurasi jumlah ambang batas (jumlah keberhasilan atau kegagalan berturut -turut sebelum mengubah status kesehatan titik akhir) untuk menyeimbangkan sensitivitas dan stabilitas. Default umum adalah 3, yang memberikan pertukaran yang baik antara positif palsu dan kecepatan deteksi [1] [9].
- Gunakan nilai batas waktu default kecuali Anda memiliki alasan khusus untuk menyesuaikannya. Misalnya, batas waktu pemeriksaan kesehatan TCP ditetapkan pada 3 detik dalam akselerator global [6].
4. Align Health Checks dengan tipe titik akhir
- Untuk titik akhir network load balancer (NLB) atau aplikasi load balancer (ALB), konfigurasikan pemeriksaan kesehatan pada penyeimbang beban itu sendiri daripada dalam akselerator global, karena akselerator global menggunakan status kesehatan penyeimbang beban untuk menentukan kesehatan titik akhir [1].
- Untuk instance EC2 atau alamat IP elastis, konfigurasikan pemeriksaan kesehatan secara langsung dalam akselerator global, menentukan port dan protokol yang sesuai yang mencerminkan ketersediaan layanan aktual [1].
5. Gunakan jalur pemeriksaan kesehatan yang bermakna untuk http/https
- Saat menggunakan pemeriksaan kesehatan HTTP atau HTTPS, tentukan jalur URI yang secara akurat mewakili kesehatan aplikasi Anda (mis., Titik akhir pemeriksaan kesehatan khusus daripada beranda). Ini memastikan pemeriksaan kesehatan mencerminkan kesiapan tingkat aplikasi, bukan hanya ketersediaan jaringan [6].
- Jaga agar jalur URI tetap ringkas dan valid, dimulai dengan garis miring ke depan dan berisi karakter yang diizinkan [6].
6. Monitor Metrik dan Log Pemeriksaan Kesehatan
- Tinjau hasil pemeriksaan kesehatan secara teratur dan metrik CloudWatch untuk mengidentifikasi pola atau kegagalan berulang. Ini membantu dalam pemecahan masalah dan perencanaan kapasitas proaktif [5].
- Mengatur alarm CloudWatch untuk segera memberi tahu tim Anda ketika titik akhir menjadi tidak sehat atau pulih, memungkinkan respons cepat terhadap insiden [5].
7. Menerapkan strategi failover dan pemulihan
- Memanfaatkan kemampuan akselerator global untuk merutekan lalu lintas hanya ke titik akhir yang sehat untuk failover instan.
- Uji skenario failover dan failback untuk memastikan lancar transisi lalu lintas selama pemadaman titik akhir dan pemulihan [5] [8].
8. Pertahankan cek kesehatan diperbarui
- Secara berkala meninjau dan memperbarui konfigurasi pemeriksaan kesehatan saat aplikasi Anda berkembang, termasuk perubahan dalam port, protokol, atau jalur pemeriksaan kesehatan.
- Hapus pemeriksaan kesehatan untuk titik akhir yang tidak lagi digunakan untuk menghindari pemantauan yang tidak perlu dan potensi paparan keamanan [5].
Dengan mengikuti praktik terbaik ini, Anda memastikan bahwa pemeriksaan kesehatan akselerator global memberikan informasi yang akurat, aman, dan tepat waktu tentang kesehatan titik akhir, memungkinkan perutean lalu lintas yang andal dan ketersediaan tinggi untuk aplikasi Anda.
Kutipan:
[1] https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoint-groups-health-check-options.html
[2] https://aws.amazon.com/blogs/networking-and-content-delivery/best-practices-for-deployment-with-aws-global-accelerator/
[3] https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html
[4] https://repost.aws/knowledge-center/global-accelerator-unhealthy-endpoints
[5] https://docs.aws.amazon.com/route53/latest/develronterguide/best-practices-healthchecks.html
[6] https://www.alibabacloud.com/help/en/ga/user-guide/enable-and-manage-health-checks
[7] https://support.huaweicloud.com/intl/en-us/usermanual-ga/ga_03_5002.html
[8] https://tutorialsdojo.com/aws-global-accelerator/
[9] https://boto33.amazonaws.com/v1/documentation/api/1.16.27/reference/services/globalaccelerator.html