-
Czym jest AWS Elastic Load Balancing?
-
Rodzaje Elastic Load Balancing
-
Najlepsze praktyki dla Elastic Load Balancing
-
Obsługa nierównomiernego obciążenia ELB
-
Łatwe zarządzanie instancjami AWS EC2 za pomocą Vinchin Backup & Recovery
-
Często zadawane pytania dotyczące AWS ELB
-
Podsumowanie
Balanser obciążenia to zazwyczaj oprogramowanie działające na dedykowanym węźle, które przyjmuje żądania od frontonu i rozdziela je pomiędzy węzłami aplikacji backend. W przypadku architektur natywnych dla chmury, gdzie węzły aplikacji często się zmieniają, projektowanie i stosowanie balanserów obciążenia staje się kluczowe dla zapewnienia wydajności, bezpieczeństwa i dostępności aplikacji backend.
Czym jest AWS Elastic Load Balancing?
Elastic Load Balancing to usługa świadczona przez AWS, która automatycznie rozdziela ruch aplikacyjny pomiędzy wieloma instancjami EC2. Usługa ta inteligentnie kieruje żądania do najbardziej odpowiednich serwerów zaplecza na podstawie skonfigurowanych zasad (np. round-robin, najmniejsza liczba połączeń), co zwiększa dostępność aplikacji i przyspiesza czas odpowiedzi. Elastic Load Balancing upraszcza zarządzanie ruchem i oferuje zaawansowane funkcje, takie jak sprawdzanie kondycji, trwałość sesji oraz zakończenie SSL/TLS, co dodatkowo poprawia bezpieczeństwo aplikacji i jakość obsługi użytkownika.
Rodzaje Elastic Load Balancing
AWS Elastic Load Balancing oferuje trzy główne typy modułów równoważenia obciążenia, z których każdy jest odpowiedni do różnych scenariuszy i potrzeb:
Klasyczne moduły równoważenia obciążenia (CLB)
Klasyczne moduły równoważenia obciążenia to pierwszy wprowadzony przez AWS serwis równoważenia obciążenia, obsługujący protokoły TCP, HTTP i HTTPS. Odpowiadają one prostszym scenariuszom, na przykład równoważeniu obciążenia aplikacji internetowych lub usług wewnętrznych. Są łatwe do skonfigurowania, jednak oferują mniej funkcji i są mniej elastyczne w porównaniu z nowszymi typami.
Rozłożenie obciążenia aplikacji (ALB)
Load Balancery aplikacji są przeznaczone dla nowoczesnych aplikacji internetowych i architektur usług. Obsługują one protokoły HTTP/HTTPS i mogą realizować bardziej szczegółowe przesyłanie ruchu na podstawie zawartości żądań, takich jak ścieżki URL czy informacje nagłówka. ALB oferuje bogatsze opcje kontroli kondycji, strategie utrzymywania sesji oraz funkcje bezpieczeństwa, takie jak zarządzanie certyfikatami SSL/TLS oparte na regułach, co czyni je idealnym wyborem dla wysoce konfigurowalnych i bezpiecznych aplikacji internetowych.
Rozdzielnice obciążenia sieciowego (NLB)
Moduły równoważenia obciążenia sieciowego są zaprojektowane do scenariuszy o wysokiej wydajności i ekstremalnie niskim opóźnieniu. Działając na poziomie TCP/UDP, mogą obsługiwać miliony żądań na sekundę, co czyni je odpowiednimi do zastosowań takich jak serwery gier, przetwarzanie dużych ilości danych czy analiza w czasie rzeczywistym. NLB obsługuje statyczne i elastyczne adresy IP oraz rozdzielanie ruchu między różnymi strefami dostępności, zapewniając szybką transmisję danych i niezawodność aplikacji.
Najlepsze praktyki dla Elastic Load Balancing
1. Wybierz odpowiedni typ modułu równoważenia obciążenia
Podczas tworzenia aplikacji wybierz odpowiedni typ równoważenia obciążenia na podstawie cech aplikacji, takich jak wymagania protokołu, wzorce ruchu i zapotrzebowanie na wydajność. Na przykład, ALB jest idealny dla aplikacji internetowych wymagających routingu opartego na ścieżce URL, podczas gdy NLB lepiej nadaje się do usług o niskim opóźnieniu z dużą liczbą jednoczesnych połączeń.
2. Skonfiguruj sprawdzanie kondycji
Sprawdzanie kondycji jest kluczowe, aby zapewnić, że moduł równoważenia obciążenia przekazuje ruch tylko do sprawnych instancji. Skonfiguruj parametry sprawdzania kondycji, takie jak interwał sprawdzania, limit czasu i progi, w zależności od potrzeb aplikacji. Dodatkowo monitoruj stany sprawdzania kondycji za pomocą AWS CloudWatch, aby szybko wykrywać i usuwać potencjalne problemy.
3. Wykorzystaj trwałość sesji
Aby skonfigurować trwałość sesji w aplikacjach wymagających ciągłości sesji użytkownika (np. aplikacjach koszyka zakupowego), należy ustawić trwałość sesji. ALB obsługuje trwałość sesji opartą na plikach cookie, zapewniając, że żądania od tego samego użytkownika są kierowane do tego samego wystąpienia backendu, co umożliwia utrzymanie stanu sesji.
4. Wdrażanie modułów równoważenia obciążenia w różnych strefach dostępności
Aby zwiększyć dostępność aplikacji, wdrażaj balansery obciążenia w wielu strefach dostępności AWS. Zapewnia to kontynuowanie obsługi żądań przez instancje w innych strefach nawet w przypadku wystąpienia problemów w jednej ze stref dostępności, umożliwiając nieprzerwaną pracę usługi.
5. Zintegruj z automatycznym skalowaniem
Połącz AWS Auto Scaling z modułami równoważenia obciążenia, aby automatycznie dostosować liczbę instancji EC2 w zależności od obciążenia aplikacji. Gdy ruch wzrasta, Auto Scaling dodaje instancje i włącza je do puli równoważenia obciążenia; gdy ruch maleje, zmniejsza liczbę instancji, aby oszczędzić koszty. To dynamiczne skalowanie zapewnia aplikacjom możliwość dostosowania się do zmieniających się wymagań ruchowych.
Obsługa nierównomiernego obciążenia ELB
Nierównomierność pomiędzy węzłami ELB
Włącz dzienniki dostępu ELB i sprawdź liczbę żądań odbieranych przez każdy węzeł ELB. Jeśli jeden lub więcej węzłów obsługuje znacznie więcej lub mniej żądań niż inne, może to wynikać z problemów z rozpoznawaniem DNS po stronie klienta lub ustawionych na stałe adresów IP ELB, co powoduje, że klienci wysyłają żądania do konkretnych węzłów. Aby rozwiązać ten problem, zaktualizuj aplikacje klienckie lub ustawienia DNS.
Ogólne kroki rozwiązywania problemów z ELB
Jeśli korzystasz z pomocy technicznej AWS, zaleca się skontaktowanie się z pomocą techniczną w celu uzyskania wsparcia. W przeciwnym wypadku rozważ poniższe kroki:
1. Sprawdź, czy wszystkie instancje backendowe za ELB są w dobrym stanie.
2. W przypadku modułu ELB dostępnego z Internetu należy sprawdzić, czy podsieci wybrane podczas tworzenia ELB są publiczne i czy ruch 0.0.0.0/0 jest kierowany do bramy internetowej (IGW).
3. Sprawdź rozpoznawanie DNS po stronie klienta, aby upewnić się, że prawidłowo są przypisywane adresy IP modułu ELB i wykryć potencjalne problemy z pamięcią podręczną DNS.
4. Przechwytuj pakiety zarówno na kliencie, jak i na instancjach zaplecza EC2, aby sprawdzić, czy pakiety danych są wysyłane do instancji zaplecza i czy instancje poprawnie odpowiadają na żądania klienta.
Łatwe zarządzanie instancjami AWS EC2 za pomocą Vinchin Backup & Recovery
Vinchin Backup & Recovery. to kompleksowe rozwiązanie do ochrony danych, zaprojektowane aby uprościć i usprawnić proces tworzenia kopii zapasowych maszyn wirtualnych i odzyskiwania danych w środowisku wirtualizacji, w tym dla instancji Amazon EC2.
Vinchin Backup & Recovery oferuje zoptymalizowane rozwiązanie do zarządzania kopiami zapasowymi EC2 w różnych regionach AWS, wspierając strategie konfigurowalne z opcjami pełnych, przyrostowych i różnicowych kopii zapasowych. Umożliwia elastyczne odzyskiwanie danych, w tym całych instancji lub konkretnych plików, z możliwością przywracania do innych regionów lub nawet migracji do innych platform wirtualizacyjnych, takich jak VMware i Hyper-V. Dzięki integracji z Amazon S3 zapewnia ekonomiczne zapisywanie archiwalne, a także upraszcza zarządzanie infrastrukturą dzięki intuicyjnemu interfejsowi użytkownika, umożliwiając skuteczne konfigurowanie kopii zapasowych i bezbólne migracje V2V, co wzmaga ochronę danych w chmurze i kontynuację działalności biznesowej.
Aby wykonać kopię zapasową instancji EC2 przy użyciu Vinchin Backup & Recovery, wykonaj poniższe kroki:
1. Wybierz wystąpienie EC2, które ma zostać utworzonej kopii zapasowej.

2. Wybierz miejsce docelowe kopii zapasowej.

3. Skonfiguruj strategie kopii zapasowych.

4. Przejrzyj i prześlij ofertę pracy.

Rozpocznij 60-dniowy bezpłatny okres próbny Vinchin Backup & Recovery, aby poznać bezpieczne i oszczędzające zasoby rozwiązania backupowe. Lub skontaktuj się z nami, aby uzyskać spersonalizowany plan dostosowany do Twoich potrzeb IT.
Często zadawane pytania dotyczące AWS ELB
1. P: Jak ELB obsługuje zakończenie protokołu SSL/TLS?
ELB może realizować zakończenie SSL/TLS przy użyciu certyfikatów SSL zarządzanych przez AWS Certificate Manager (ACM) lub przesłanych do IAM.
2. Q: Co to jest grupa docelowa w usłudze AWS ELB?
Grupa docelowa to logiczne pogrupowanie zarejestrowanych zasobów (np. instancji EC2, adresów IP, funkcji Lambda), których używa ELB do kierowania żądań. Jako cele można dynamicznie dodawać nowe zasoby w ramach automatycznego skalowania.
Podsumowanie
Dla użytkowników, którzy potrzebują przenieść swoją architekturę IT do AWS, porzucenie istniejącej architektury równoważenia obciążenia i zastąpienie jej architekturą opartą na ELB może nie tylko obniżyć koszty operacyjne i utrzymaniowe, ale również nie wymaga rezygnacji z żadnych istniejących funkcji. Oprócz ELB, AWS oferuje również szereg innych usług, które są ściśle zintegrowane z ELB w celu poprawy wydajności i bezpieczeństwa różnych aplikacji.
Udostępnij na: