Jak tworzyć i skonfigurować moduł równoważenia obciążenia sieciowego na AWS

Jak tworzyć i skonfigurować moduł równoważenia obciążenia sieciowego na AWS
Gdy użytkownik żąda aplikacji lub serwera WWW, wzrasta ponad określony limit, pojedynczy serwerowi trudno jest obsłużyć obciążenie, a użytkownicy zaczynają stawić czoła trudnościom z dostępem do aplikacji. Aby rozwiązać ten problem, większość aplikacji internetowych działa na więcej niż jednym serwerze, aby zarządzać popytem użytkowników o wysokim obciążeniu. Ale potrzebujemy pewnego mechanizmu, aby podzielić żądania między różnymi serwerami. Aby rozwiązać ten problem, musimy użyć równoważenia obciążenia, który może rozpowszechniać ruch na serwerach na podstawie pewnego algorytmu. Najczęstsze stosowane algorytmy to okrągły robin, obciążony okrągłe robin, najmniejszy połączenie, najmniej reakcji, skrót przepływowy itp. Jako jeden z największych dostawców usług w chmurze, AWS oferuje różne rodzaje równoważenia obciążenia i musisz zdecydować, który jest najbardziej odpowiedni i ekonomiczny do obsługi pracy aplikacji.

Rodzaje równoważenia obciążenia w AWS

W AWS otrzymujesz następujące cztery rodzaje równoważenia obciążenia:

Klasyczny równoważenie obciążenia

Działa na warstwie transportowej (TCP) i warstwie aplikacji (HTTP). Nie obsługuje dynamicznego mapowania portów i wymaga związku między portem wyważającym obciążeniem a portem instancji. Teraz jest to starsza usługa i nie zaleca się dużo używania.

Malancer z ładunkiem aplikacji

Jest to najczęściej stosowana bilans obciążenia, który prowadzi ruch na podstawie warstwy aplikacji (HTTP/HTTPS). Obsługuje również funkcję dynamicznego mapowania portów i zapewnia inteligentne routing.

Balancer z obciążenia sieciowego

Balancer sieciowy wykorzystuje algorytm skrótu przepływu i działa w warstwie transportowej (TCP), i.mi., Warstwa 4 modelu OSI. Może obsługiwać więcej żądań niż równoważenie ładowania aplikacji i zapewnia najmniejsze opóźnienie.

Balancer z ładunkiem bramy

Jest to równoważenie obciążenia, który zapewnia inne korzyści, takie jak bezpieczeństwo sieci i zapora ogniowa. Podejmuje decyzje routingu na trzeciej warstwie OSI (warstwa sieciowa) i wykorzystuje protokół genów na porcie 6081.

Tworzenie bilanta obciążenia sieciowego za pomocą AWS Management Console

W tym artykule utworzymy i skonfigurujemy moduł równoważenia obciążenia sieciowego. Pierwszym krokiem jest skonfigurowanie usługi, nad którą chcemy zastosować nasz moduł równoważenia. Mogą to być instancje EC2, funkcje Lambda, adresy IP lub równoważenie ładowania aplikacji. Tutaj wybierzemy instancje EC2, więc poszukaj usługi EC2 w konsoli.

Skonfiguruj tyle instancji, ile chcesz dla swojej aplikacji.

Przed utworzeniem naszego balansu obciążenia musimy utworzyć grupę docelową. Otwórz konsolę grup docelowych z lewego menu w sekcji EC2.

Teraz kliknij Utwórz grupę docelową, aby rozpocząć.

Najpierw musisz wybrać usługę, którą chcesz utworzyć grupę docelową. Będą to przypadki w naszym przypadku:

Następnie podaj nazwę grupy docelowej, protokołu sieciowego, numeru portu i VPC (Virtual Private Network), do której należą twoje instancje EC2.

W przypadku grupy docelowej, która będzie używana z modułów równoważenia obciążenia sieciowego, protokół musi być protokołem warstwy 4, taki jak TCP, TLS, UDP lub TCP_UDP, ponieważ wyważa.

Port tutaj pokazuje port, w którym aplikacja działa w instancjach EC2. Konfigurując aplikację w wielu instancjach EC2 w grupie docelowej, upewnij się, że aplikacja we wszystkich instancjach EC2 działa na tym samym porcie. W tym demo nasza aplikacja działa na porcie 80 instancji EC2.

W przypadku VPC musisz wybrać VPC, w którym istnieją instancje EC2. W przeciwnym razie nie możesz dodać instancji EC2 do grupy docelowej.

Możesz także skonfigurować kontrole zdrowia, aby w przypadku zmniejszenia celu wyważający ładowanie automatycznie przestanie wysyłać ruch sieciowy do tego celu.

Teraz musisz zarejestrować swoje instancje do grupy docelowej. Żądania użytkowników zostaną przekazane do zarejestrowanych celów.

Aby zarejestrować cel, po prostu wybierz te cele lub instancję w tym przypadku i kliknij „Dołącz się jak toczy się poniżej”. Tutaj wybraliśmy instancje należące do różnych stref dostępności, aby utrzymać naszą aplikację, nawet jeśli AZ spadnie.

Na koniec kliknij Utwórz grupę docelową, a jesteś gotowy.

Teraz utworzymy nasz moduł równoważenia obciążenia sieciowego, więc otwórz sekcję Balancera obciążenia z menu i kliknij Utwórz balansowanie obciążenia.

Na podstawie następujących typów wybierz Balancer z ładunkiem sieci:

Najpierw zdefiniuj nazwę swojego malantu na obciążenie sieciowe w sekcji konfiguracji podstawowej.

Teraz wybierz schemat sieciowy, i.mi., Albo chcesz, aby Twój równoważenie obciążenia było publiczne, albo po prostu chcesz go używać w swojej prywatnej sieci (VPC).

Typ adresu IP określa, czy instancje EC2 używają adresów IPv4 lub IPv6. Jeśli twoje instancje EC2 używają tylko adresów IPv4, możesz wybrać IPv4 opcja. W przeciwnym razie wybierz Podwójny stos opcja.

Wybierz VPC dla balansu obciążenia. Musi być taki sam jak instancje i grupy docelowe.

Następnie możesz wybrać strefy dostępności i podsieci, w których istnieją twoje docelowe instancje EC2. Więcej stref dostępności oznacza, że ​​im więcej aplikacji jest wysoce dostępne. Podczas uruchamiania aplikacji w więcej niż jednej instancji EC2 upewnij się, że instancje EC2 działają w różnych strefach dostępności.

Ponieważ nasze przypadki należą do każdej ze stref dostępności obecnych w regionie, wybierzemy je wszystkie za pomocą ich odpowiednich podsieci.

US-WEAST-2A

US-WEAST-2B

US-WEAST-2C

Teraz musimy ustawić protokół sieciowy i port oraz wybrać naszą grupę docelową dla naszego balansu obciążenia. Balancer obciążenia będzie kierował cały ruch do tego celu.

Wreszcie, nasza konfiguracja jest kompletna. Po prostu kliknij na balancer Utwórz w prawym rogu przycisku, a my jesteśmy gotowi iść.

Po skonfigurowaniu znajdziesz punkt końcowy dla równoważenia obciążenia w sekcji opis. Użyjesz tego punktu końcowego, aby uzyskać dostęp do aplikacji.

Żądania użytkowników zostaną odebrane za pośrednictwem punktu końcowego Balancer, który będzie kierował go do instancji skonfigurowanej za pośrednictwem grupy docelowej. Jeśli wypróbujesz wiele żądań, Twoje żądania zostaną losowo wypełnione przez dowolną instancję.

Tak więc pomyślnie utworzyliśmy i skonfigurowaliśmy moduł równoważenia obciążenia sieciowego za pomocą konsoli zarządzania AWS.

Tworzenie bilanta obciążenia sieciowego za pomocą AWS CLI

Konsola AWS jest łatwa w użyciu i zarządzanie usługami i zasobami na Twoim koncie, ale większość specjalistów branżowych preferuje interfejs wiersza poleceń. Właśnie dlatego AWS wymyśliło rozwiązanie dostarczania CLI dla użytkowników, które można skonfigurować w dowolnym środowisku, systemu Windows, Linux lub Mac. Zobaczmy więc, w jaki sposób możemy utworzyć moduł równoważenia obciążenia za pomocą interfejsu wiersza polecenia.

Tak więc po skonfigurowaniu CLI po prostu uruchom następujące polecenie, aby utworzyć malantrator obciążenia sieciowego:

$: AWS ELBV2 Create-Load-Balancer-Nazwa --Wpisz sieć -podwodne

Następnie musimy utworzyć grupę docelową dla tego wyważonego na obciążenie sieci.

$: AWS elbv2 create-cel-group --Name --Protocol TCP --port 80 --vpc-id

Następnie musimy dodać cele do naszej grupy docelowej za pomocą następującego polecenia:

$: AWS ELBV2 rejestr-cel-cel-group-arn --Targów id =

Wreszcie, jako słuchacz, dołączymy naszą grupę docelową do naszego równoważenia obciążenia.

$: AWS ELBV2 Create-Listener-Load-Balancer-Arn --Protocol TCP --port 80-Default-Działania typu = napastnik, TargetGrouparn =

Tak więc z powodzeniem utworzyliśmy malancer z obciążenia sieci i dodaliśmy grupę docelową jako słuchacz do balansu obciążenia za pomocą interfejsu linii poleceń AWS.

Wniosek

Równoważenie obciążenia ma kluczowe znaczenie dla każdej aplikacji internetowej, ponieważ pomaga to zapewnić satysfakcję użytkowników poprzez obiecującą dostępność i dobry czas odpowiedzi. Zmniejszają przesto. Aby obsłużyć ogromne żądania na naszym serwerze, możemy zwiększyć zasoby naszej instancji, takie jak więcej procesora, pamięci i więcej przepustowości sieciowej. Ale można to osiągnąć tylko na określonym poziomie i nie odniesie sukcesu i odpowiednich w wielu aspektach, takich jak koszt, niezawodność i skalowalność. Zdecydowanie będziemy musieli zastosować więcej serwerów do naszej aplikacji. Tylko warto pamiętać, że równoważenie obciążenia Elastic (ELB) AWS jest odpowiedzialne tylko za routing i dystrybucję żądań użytkownika. To nie doda ani nie usunie serwerów ani instancji w infrastrukturze. Używamy AWS Auto Scaling Group (ASG). Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby uzyskać więcej wskazówek i samouczków.