Elastyczne równoważenie obciążenia w AWS
Opublikowany: 2022-08-10Elastyczne równoważenie obciążenia to serce aplikacji w AWS. Dowiedz się wszystkiego o ELB, jego typach i funkcjach w tym poście.
Obecnie większość organizacji wymaga zarządzania i zwiększania skalowalności, dostępności i odporności na awarie swoich aplikacji. AWS zapewnia do tego doskonałe rozwiązanie, czyli usługę elastycznego równoważenia obciążenia. Ta usługa składa się z modułu równoważenia obciążenia, który może rozdzielać obciążenia na wiele zasobów obliczeniowych, takich jak serwery wirtualne.

Usługi równoważenia obciążenia umożliwiają nam konfigurowanie kontroli kondycji w celu monitorowania kondycji zasobów obliczeniowych. Pozwala nam również na przeniesienie prac związanych z szyfrowaniem i odszyfrowywaniem na system równoważenia obciążenia, dzięki czemu zasoby obliczeniowe mogą skoncentrować się na swojej głównej pracy.
Elastyczne równoważenie obciążenia (ELB): Przegląd
ELB to usługa, która automatycznie rozdziela ruch przychodzący na wiele wystąpień EC2. Pomaga to osiągnąć wyższe poziomy odporności na błędy w aplikacjach, zapewniając zdolność równoważenia obciążenia do dystrybucji ruchu aplikacji.

Ponadto elastyczne równoważenie obciążenia może wykrywać wystąpienia EC2 w złej kondycji, a gdy tylko wystąpienie EC2 zostanie wykryte, ELB przestaje wysyłać do niego ruch, dopóki nie stanie się ponownie w dobrej kondycji. Klienci mogą łatwo włączyć elastyczne równoważenie obciążenia w jednej lub wielu strefach dostępności, aby uzyskać bardziej spójną wydajność aplikacji.
Funkcje elastycznego równoważenia obciążenia
Bezpieczeństwo
Możesz zarządzać i tworzyć grupy zabezpieczeń powiązane z elastycznym równoważeniem obciążenia w wirtualnej chmurze prywatnej Amazon (VPC), aby zapewnić dodatkowe opcje sieciowe i bezpieczeństwa dla Application Load Balancer i Classic Load Balancer.
Duża dostępność
Elastyczny system równoważenia obciążenia jest wysoce dostępny. Ruch przychodzący do aplikacji można dystrybuować do wystąpień EC2 w jednej strefie dostępności lub wielu strefach dostępności.
Wysoka przepustowość
Elastyczne systemy równoważenia obciążenia są zaprojektowane do obsługi ruchu w miarę jego wzrostu i mogą ładować i równoważyć miliony żądań na sekundę. Może również poradzić sobie z nagłymi skokami ruchu.
Badania zdrowia
Dzięki elastycznemu równoważeniu obciążenia możesz kontrolować kondycję wystąpień EC2 i nie ryzykować wysyłania ruchu do wystąpienia w złej kondycji.
Monitorowanie i logowanie operacyjne
Amazon CloudWatch raportuje metryki aplikacji i klasycznego systemu równoważenia obciążenia, takie jak liczba błędów, typy błędów, opóźnienia żądań, liczba żądań i inne.
Usuń ochronę
Możesz włączyć ochronę przed usunięciem w elastycznym systemie równoważenia obciążenia, aby zapobiec jego przypadkowemu usunięciu.
Komponenty elastycznych stabilizatorów obciążenia
Słuchacze
Musisz skonfigurować co najmniej jeden detektor dla swojego systemu równoważenia obciążenia. Jest to proces sprawdzający żądania połączenia. Jest skonfigurowany z protokołem i portem dla połączeń dla połączeń frontonu (klient do modułu równoważenia obciążenia) oraz protokołem dla połączeń zaplecza (system równoważenia obciążenia do wystąpienia zaplecza).
Obsługiwane protokoły elastycznego równoważenia obciążenia obejmują:
- HTTPS (bezpieczny HTTP)
- TCP
- SSL (bezpieczny TCP)
System równoważenia obciążenia
Load balancer służy jako „policjant ruchu” przed serwerami, dystrybuując żądania klientów na wszystkie serwery wyposażone do ich obsługi w sposób, który maksymalizuje szybkość i wykorzystanie pojemności oraz zapewnia, że żaden serwer nie jest przeciążony, co może skutkować pogorszeniem wydajności.
Load balancer kieruje ruch do aktywnych serwerów w przypadku, gdy jeden z serwerów przejdzie w tryb offline. Load balancer inicjuje żądania do nowego serwera po dodaniu go do grupy serwerów.
Grupy docelowe
Żądania są kierowane do jednego lub więcej zarejestrowanych celów przy użyciu każdej grupy docelowej. Grupę docelową i warunki definiuje się podczas tworzenia każdej reguły dotyczącej nasłuchiwania. Gdy warunek reguły jest spełniony, ruch jest kierowany do odpowiedniej grupy docelowej.
Dla różnego rodzaju zapytań możesz stworzyć oddzielne grupy docelowe. Na przykład utwórz różne grupy docelowe dla żądań do mikrousług aplikacji i żądań ogólnych.
Rodzaje systemów równoważenia obciążenia
System równoważenia obciążenia aplikacji
Application Load Balancer umożliwia deweloperom konfigurowanie i kierowanie przychodzącego ruchu użytkowników końcowych do aplikacji działających w chmurze publicznej AWS.
Równoważenie obciążenia ma kluczowe znaczenie w środowisku chmury z licznymi aplikacjami internetowymi. System równoważenia obciążenia zapewnia, że żaden pojedynczy serwer nie jest przeciążony, dzieląc ruch sieciowy i przepływ informacji między kilka serwerów. Zwiększa to wrażenia użytkownika, zwiększa czas reakcji i dostępność aplikacji oraz może chronić przed atakami rozproszonej odmowy usługi (DDoS).
Dostęp do aplikacji internetowych znacznie wzrósł w ostatnich latach. Jednak nieoczekiwany wzrost ruchu może spowolnić usługi online i zmniejszyć dostępność. Application Load Balancer skutecznie rozkłada obciążenie sieciowe w chmurze publicznej w celu zwiększenia stabilności i dostępności.
Application Load Balancer będzie kierował ruch tylko do zdrowego miejsca docelowego w zasobach w chmurze, jeśli problematyczna aplikacja osiągnie warstwę 7. WebSocket to inny protokół obsługiwany przez Application Load Balancer w celu zwiększenia łączności z serwerem bazowym.

Strony internetowe i aplikacje mobilne, które działają w kontenerach lub na instancjach AWS EC2 czerpią największe korzyści z zastosowania modułu równoważenia obciążenia aplikacji. W architekturze mikrousług Application Load Balancer może być używany jako wewnętrzny moduł równoważenia obciążenia przed wystąpieniami EC2 lub kontenerami platformy Docker, które implementują określoną usługę. Dodatkowo może być używany przed aplikacją RESTful API.
Wiele usług AWS jest kompatybilnych z systemem równoważenia obciążenia aplikacji, w tym:
- Automatyczne skalowanie AWS
- Usługa kontenerów elastycznych Amazon
- Tworzenie chmury AWS
- Wdrażanie kodu AWS
- Menedżer certyfikatów AWS
Klasyczny system równoważenia obciążenia
Ruch z przychodzących aplikacji jest dzielony na wiele instancji EC2 na różne strefy dostępności przy użyciu klasycznego load balancera. Klasyczny load balancer pełni rolę jedynego punktu kontaktu z klientem. Dzięki temu Twoja aplikacja jest bardziej dostępna. Bez zakłócania ogólnego przepływu żądań do aplikacji, możesz dodawać/usuwać instancje z klasycznego systemu równoważenia obciążenia w miarę zmieniających się potrzeb.
Odbiornik używa ustawionego protokołu i portu do monitorowania żądań połączeń klientów. Odbiornik następnie przesyła żądania do jednej lub więcej zarejestrowanych instancji przy użyciu skonfigurowanego protokołu i portu. Modyfikujesz system równoważenia obciążenia, dodając co najmniej jeden detektor.
Aby upewnić się, że system równoważenia obciążenia kieruje żądania tylko do zdrowych instancji, możesz skonfigurować kontrole stanu, które są używane do kontrolowania stanu zarejestrowanych instancji.
Klasyczny system równoważenia obciążenia domyślnie równomiernie rozdziela ruch między strefy dostępności, które włączysz dla swojego systemu równoważenia obciążenia. Włącz międzystrefowe równoważenie obciążenia w systemie równoważenia obciążenia, aby dystrybuować ruch między wszystkie zarejestrowane instancje we wszystkich aktywowanych strefach dostępności.

Rodzaje klasycznego systemu równoważenia obciążenia:
- Klasyczne równoważenie obciążenia dostępne w Internecie: równoważenie obciążenia dostępne w Internecie może kierować żądania od klientów do instancji EC2 zarejestrowanych w module równoważenia obciążenia przez Internet, dzięki publicznie rozpoznawanej domenie DNS. Podczas tworzenia Twój system równoważenia obciążenia otrzymuje publiczną nazwę DNS, której klienci mogą używać do wysyłania żądań. Serwery DNS tłumaczą nazwę DNS Twojego systemu równoważenia obciążenia na publiczne adresy IP węzłów systemu równoważenia obciążenia. Prywatne adresy IP łączą każdy węzeł równoważenia obciążenia z instancjami zaplecza.
- Wewnętrzne klasyczne moduły równoważenia obciążenia: węzły wewnętrznego modułu równoważenia obciążenia mają tylko osobiste adresy IP. Nazwę DNS wewnętrznego modułu równoważenia obciążenia można publicznie rozpoznać na adresy IP węzłów. W rezultacie żądania mogą być kierowane tylko przez wewnętrzne systemy równoważenia obciążenia od klientów, którzy mają dostęp do VPC systemu równoważenia obciążenia.
System równoważenia obciążenia sieciowego
System równoważenia obciążenia sieciowego działa w czwartej warstwie modelu OSI. Może obsłużyć miliony żądań na sekundę.
Load balancer wybiera cel z grupy docelowej dla reguły domyślnej po otrzymaniu żądania połączenia. Próbuje nawiązać połączenie TCP z wybranym celem na porcie wskazanym w ustawieniach słuchacza.
Aby zwiększyć odporność aplikacji na błędy, możesz włączyć wiele stref dostępności, płatną usługę w AWS dla systemów równoważenia obciążenia sieciowego. Jeśli jedna strefa dostępności ulegnie awarii, aplikacja nie przestanie działać.
W przypadku ruchu TCP cel jest wybierany przy użyciu algorytmu mieszania przepływu na podstawie protokołu, portu źródłowego, źródłowego adresu IP, portu docelowego, docelowego adresu IP i numeru sekwencyjnego TCP.
Połączenia TCP klientów mają różne numery sekwencyjne i porty źródłowe, więc połączenia są kierowane do innych celów. Każde unikalne połączenie TCP jest kierowane do jednego celu na czas trwania połączenia.
System równoważenia obciążenia bramy
Twoje urządzenia wirtualne innych firm można łatwo wdrożyć, skalować i zarządzać za pomocą Gateway Load Balancer. Zapewnia pojedynczą bramę do dzielenia ruchu między wiele urządzeń wirtualnych i skalowania ich w górę lub w dół w odpowiedzi na zapotrzebowanie. Eliminuje to potencjalne punkty awarii w sieci i zwiększa dostępność.
Urządzenia wirtualne niezależnych producentów można znaleźć, przetestować i kupić bezpośrednio za pośrednictwem AWS Marketplace. Niezależnie od tego, czy chcesz kontynuować współpracę z obecnymi dostawcami, czy spróbować czegoś nowego, to zintegrowane środowisko przyspiesza proces wdrażania, dzięki czemu możesz szybciej korzystać z urządzeń wirtualnych.
Zalety Gateway Load Balancer:
- Szybsze wdrażanie urządzeń wirtualnych innych firm.
- Skalowanie urządzeń wirtualnych przy jednoczesnym zarządzaniu kosztami.
- Popraw dostępność urządzenia wirtualnego
Ostatnie słowa
Elastyczne systemy równoważenia obciążenia są krytyczną częścią wielu infrastruktur tworzonych w AWS. Funkcje, które otrzymujemy z ELB, ułatwiają zarządzanie infrastrukturą. Elastyczne równoważenie obciążenia to wypróbowana i sprawdzona metoda rozkładania żądań ruchu aplikacji i ruchu internetowego na kilka celów lub wystąpień.
Możesz automatycznie skalować różne obciążenia za pomocą elastycznego modułu równoważenia obciążenia. Omówiliśmy wszystkie typy równoważników obciążenia dostarczane przez AWS i możesz ich używać zgodnie z wymaganiami swojej aplikacji.




