Elastyczne równoważenie obciążenia w AWS

Opublikowany: 2022-08-10

Elastyczne 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.

równoważenie obciążenia

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.

Elastyczne równoważenie obciążenia
Źródło: AWS

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.

Film z YouTube

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).

Film z YouTube

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.

równoważenie obciążenia

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.

Film z YouTube

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ść.

Film z YouTube

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.