AWS Global Hızlandırıcı'da Sağlık Kontrolleri Yapılandırma için En İyi Uygulamalar Yüksek kullanılabilirliği ve optimal trafik yönlendirmesini sürdürmek için uç nokta sağlığının doğru, güvenli ve verimli izlenmesini sağlamaya odaklanır. Aşağıda AWS dokümantasyonuna ve ilgili en iyi uygulamalara dayanan ayrıntılı yönergeler:
Global hızlandırıcıda sağlık kontrollerini yapılandırmak için en iyi uygulamalar
1. Uygun sağlık kontrolü protokollerini ve bağlantı noktalarını kullanın
- Uygulamanızın doğasını ve son noktanın yanıt verme yeteneğini en iyi yansıtan sağlık kontrolü protokolünü (TCP, HTTP veya HTTP) seçin. TCP sağlık kontrolleri, SYN paketleri göndererek ağ düzeyinde bağlantıyı doğrularken, HTTP/HTTPS kontrolleri uygulama uç noktalarına gerçek HTTP GET isteklerini simüle eder [6] [9].
- Sağlık kontrol bağlantı noktasını tutarlılık için hızlandırıcınızdaki dinleyici bağlantı noktasına uyacak şekilde yapılandırın. Sağlık kontrolleri için farklı bir bağlantı noktası kullanırsanız, güvenlik duvarı ve güvenlik grubu kurallarının, limanın kamuya açıklanmasını önlemek için yalnızca Route 53 sağlık denetleyicileri tarafından kullanılan IP aralıklarına erişimi kısıtladığından emin olun [1] [4].
- EC2 örnekleri veya UDP dinleyicileri ile elastik IP uç noktaları için Global Hızlandırıcı, dinleyici bağlantı noktasında TCP sağlık kontrolleri gerçekleştirir, bu nedenle bir TCP sunucusunun bu bağlantı noktasında çalıştığından emin olun; Aksi takdirde, uç noktalar sağlıksız olarak işaretlenecektir [1].
2. Sağlık kontrolleri için güvenlik ve erişim sağlayın
- Amazon Route 53 ile ilişkili IP adreslerinden gelen trafiğin güvenlik duvarınız ve yönlendirici yapılandırmalarınızdaki trafiğe izin verin. Bu, özellikle EC2 örneği veya elastik IP uç noktaları için sağlık kontrollerinin başarılı olması için kritiktir [1] [4].
- Varış dışı bir sağlık kontrol bağlantı noktası kullanırken, güvenlik risklerinden kaçınmak için bu bağlantı noktasına yalnızca rota 53 Sağlık Kontrolü IP aralıklarına erişimi kısıtlayın [1].
- Rota 53 sağlık denetleyicileri tarafından kullanılan IP adresi aralıklarındaki değişiklikleri karşılamak için güvenlik grubu kurallarını düzenli olarak gözden geçirin ve güncelleyin.
3. Sağlık kontrolü zamanlama parametrelerini düşünceli bir şekilde yapılandırın
- Uygulamanızın kesinti süresi toleransına ve uç noktanın kritikliğine göre sağlık kontrol aralığını (kontroller arasındaki süreyi) ayarlayın. Daha kısa aralıklar arızaları daha hızlı tespit eder, ancak yük ve maliyeti arttırırken, daha uzun aralıklar yükü azaltır ancak gecikme arızası algılaması [5].
- Hassasiyeti ve istikrarı dengeleyecek şekilde eşik sayısını (son nokta sağlık durumunu değiştirmeden önce ardışık başarı veya başarısızlık sayısı) yapılandırın. Yaygın bir varsayılan 3'tür, bu da yanlış pozitifler ve algılama hızı arasında iyi bir değiş tokuş sağlar [1] [9].
- Ayarlamak için belirli nedenleriniz olmadığı sürece varsayılan zaman aşımı değerlerini kullanın. Örneğin, TCP sağlık kontrol zaman aşımı küresel hızlandırıcıda 3 saniyede sabitlenmiştir [6].
4. Sağlık kontrollerini uç nokta türleriyle hizalayın
- Küresel hızlandırıcı uç nokta sağlığını belirlemek için yük dengeleyicinin sağlık durumunu kullandığından, ağ yük dengeleyici (NLB) veya uygulama yük dengeleyici (ALB) uç noktaları için, küresel hızlandırıcıdan ziyade yük dengeleyicisinin kendisi üzerinde sağlık kontrollerini yapılandırın [1].
- EC2 örnekleri veya elastik IP adresleri için, gerçek hizmet kullanılabilirliğini yansıtan uygun bağlantı noktası ve protokolleri belirterek, doğrudan küresel hızlandırıcıda sağlık kontrollerini yapılandırın [1].
5. HTTP/HTTPS için anlamlı sağlık kontrolü yolları kullanın
- HTTP veya HTTPS sağlık kontrolleri kullanırken, uygulamanızın sağlığını doğru bir şekilde temsil eden bir URI yolu belirtin (örneğin, ana sayfadan ziyade özel bir sağlık kontrol uç noktası). Bu, sağlık kontrolünün sadece ağ kullanılabilirliğini değil, uygulama düzeyinde hazırlığı yansıtmasını sağlar [6].
- İleri eğik çizgi ile başlayıp izin verilen karakterleri içererek URI yolunu özlü ve geçerli tutun [6].
6. Sağlık kontrol metriklerini ve günlüklerini izleyin
- Desenleri veya yinelenen arızaları tanımlamak için sağlık kontrol sonuçlarını ve bulutwatch metriklerini düzenli olarak gözden geçirin. Bu, proaktif sorun giderme ve kapasite planlamasına yardımcı olur [5].
- Bitiş noktaları sağlıksız hale geldiğinde derhal ekibinizi bilgilendirmek için Cloudwatch alarmları ayarlayın veya iyileşerek olaylara hızlı yanıt verir [5].
7. Yük devretme ve kurtarma stratejilerini uygulayın
- Global hızlandırıcının trafiği yalnızca anında yük devretme için sağlıklı uç noktalara yönlendirme yeteneğinden yararlanın.
- Uç nokta kesintileri ve kurtarma sırasında sorunsuz trafik geçişlerini sağlamak için yük devretme ve geri alma senaryoları. [5] [8].
8. Sağlık kontrollerini güncel tutun
- Portlar, protokoller veya sağlık kontrol yollarındaki değişiklikler de dahil olmak üzere uygulamanız geliştikçe sağlık kontrolü yapılandırmalarını periyodik olarak gözden geçirin ve güncelleyin.
- Gereksiz izleme ve potansiyel güvenlik maruziyetini önlemek için artık kullanılmayan uç noktalar için sağlık kontrollerini kaldırın [5].
Bu en iyi uygulamaları izleyerek, küresel hızlandırıcı sağlık kontrollerinin uç nokta sağlığı hakkında doğru, güvenli ve zamanında bilgi sağlayarak güvenilir trafik yönlendirme ve uygulamalarınız için yüksek kullanılabilirlik sağladığından emin olursunuz.
Alıntılar:
[1] https://docs.aws.amazon.com/global-acelerator/latest/dg/about-endpoint-groupss-health-check-ptions.html
[2] https://aws.amazon.com/blogs/networking-and-content-delivery/best-practices-for-deployment-with-with-global-accelerator/
[3] https://docs.aws.amazon.com/global-acelerator/latest/dg/introduction-how-t-works.html
[4] https://repost.aws/knowledge-center/global-accelerator-enhealthy-endypoints
[5] https://docs.aws.amazon.com/route53/latest/decalgerguide/best-practies-healthchecks.html
[6] https://www.alibabacloud.com/help/en/ga/user-guide/enable-and-mange-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://boto3.amazonaws.com/v1/documentation/api/1.16.27/reference/services/globalaccelerator.html