GNU/Linux >> Znalost Linux >  >> Linux

Jak nakonfigurovat směrování založené na hostiteli na nástroji pro vyrovnávání zatížení aplikací AWS

V AWS je ELB nebo Elastic Load Balancing koncept, kdy lze servery přidávat nebo uvolňovat podle požadavků naší aplikace. Příchozí provoz z aplikace je distribuován mezi více cílů. Těmito cíli mohou být instance EC2, kontejnery a adresy IP v jedné nebo několika zónách dostupnosti. Podporované typy AWS Elastic Load Balancers jsou Application Load Balancers (ALB), Network Load Balancers (NLB), Gateway Load Balancers (nedávno spuštěné) a Classic Load Balancers. Tyto nástroje pro vyrovnávání zatížení mají různé konfigurace, např. 

  1. Application Load Balancer:Funguje tak, že automaticky rozděluje příchozí provoz aplikací mezi dvě nebo více instancí EC2. Můžeme definovat pravidla směrování podle obsahu požadavku (směrování založené na obsahu). Jedná se o nástroj pro vyrovnávání zatížení vrstvy 7.
  2. Network Load Balancers:NLB používá data protokolu IP (TCP a UDP) ke směrování připojení ke zdrojům AWS, jako jsou EC2, mikroslužby a kontejnery. Jedná se o nástroj pro vyrovnávání zatížení vrstvy 4.
  3. Gateway Load Balancer:Používají se s virtuálními zařízeními třetích stran, jako jsou firewally NextGen (NGFW), IPS, IDS atd. běžící na instancích EC2. Funguje to tak, že umístíte jedinou bránu pro provoz z více virtuálních zařízení a tato více virtuálních zařízení lze zvětšit nebo zmenšit podle potřeby. To je dobré pro stabilitu sítě. Jedná se o vrstvu 3 (brána) plus vrstvu 4 (vyrovnávání zátěže) pro vyrovnávání zátěže.
  4. Klasický Load Balancer:CLB je starší nástroj pro vyrovnávání zátěže AWS, který se používá pro vyrovnávání zátěže napříč více instancemi EC2. Doporučuje se pro aplikace navržené v síti EC2-Classic. Jedná se o vyrovnávač zatížení vrstvy 4/7. Společnost AWS doporučuje vyhnout se tomuto nástroji pro vyrovnávání zatížení.

Přehled tohoto průvodce


V tomto tutoriálu nakonfigurujeme směrování založené na cestě pro Application Load Balancer na AWS. Pro tento úkol použijeme uživatelský účet IAM s omezenými oprávněními. Pro tento experiment máme následující zdroje:

  1. Dvě zóny dostupnosti, z nichž každá obsahuje alespoň jednu instanci EC2.
  2. VPC má minimálně jednu veřejnou podsíť v každé ze dvou výše uvedených zón dostupnosti. Tato veřejná podsíť bude použita pro konfiguraci nástroje pro vyrovnávání zatížení.
  3. Nainstalujte webový server do každé instance a povolte v těchto instancích přístup k portu 80 pomocí skupiny zabezpečení.

Konfigurace instancí EC2

Pro tuto příručku jsme nakonfigurovali dvě instance Amazon Linux EC2 s nainstalovaným apache Httpd na obou z nich. Na jednom serveru máme adresář ‚signin‘ a v něm soubor index.html s obsahem:„Vítejte uživatele? Chcete-li pokračovat, přihlaste se...”

Na jiném serveru máme adresář ‚signup‘ a v něm soubor index.html s obsahem:„Nový uživatel? Nejprve se zaregistrujte...”

Adresář 'signin' i 'signup' jsou v kořenovém adresáři (/var/www/html).

Konfigurace cílové skupiny

Krok 1. Pro směrování požadavku nejprve vytvoříme dvě cílové skupiny, jednu pro každý server. Otevřete konzolu EC2 a na levém bočním panelu najděte a vyberte „Cílové skupiny“ (nachází se v části Vyrovnávání zátěže):

Krok 2. Na nové stránce klikněte na tlačítko ‚Vytvořit cílovou skupinu‘:


Krok 3. Nyní jsme na stránce ‚Zadat podrobnosti o skupině‘. V základní konfiguraci proveďte následující:

  1. Vyberte typ cíle:Zde vyberte možnost Instance.
  2. Název cílové skupiny:Zadejte vhodný název cílové skupiny (v našem případě ‚Přihlášení‘.)
  3. Protokol:HTTP
  4. Port:80
  5. VPC:Zde vyberte název VPC.
  6. Verze protokolu:Ponechte výchozí vybranou. (HTTP1)

V nastavení Kontroly stavu:

Protokol kontroly stavu:HTTP

Cesta ke kontrole stavu:‘Cesta, kterou chcete použít’ (v našem případě ‘/signin’)

Ponechejte „Pokročilá nastavení kontroly stavu“ jako výchozí. Přidejte značky, pokud je potřebujete (Volitelné). Pokračujte kliknutím na „Další“.

Registrace instancí EC2 do cílových skupin

Krok 3. Nyní přidejte jednu z instancí EC2 k výše uvedeným cílovým skupinám. Vyberte instanci a poté klikněte na tlačítko „Zahrnout jako čekající níže“


Výše vybraná instance se zobrazí v části Cíle kontroly. Nyní klikněte na „Vytvořit cílovou skupinu“.


V dalším okně znovu klikněte na ‚pokračovat‘. Nyní opakujte stejný postup pro další cílovou skupinu a pojmenujte ji jako „Zaregistrujte se“. Použijte jinou instanci (v jiné zóně dostupnosti) s touto cílovou skupinou a použijte jinou cestu ke kontrole stavu (v našem případě ‘/registrace’):



Vytvoření nástroje pro vyrovnávání zatížení aplikací

Krok 1. Z konzole EC2 přejděte na Load Balancers a klikněte na tlačítko Create Load Balancer a poté vyberte ‘Application Load Balancer’ zobrazený na nové stránce:


Krok 2. Zadejte vhodný název (zde „Moje cesta-ALB“) vyvažovač zátěže. Ponechte schéma jako výchozí („Internet-facing“), vyberte typ adresy IP jako IPv4



Krok 3. V části Mapování sítě vyberte cílové VPC a V části Mapování vyberte dvě zóny dostupnosti obsahující vaše cíle, do kterých bude nástroj pro vyrovnávání zatížení směrovat provoz.


Krok 4. Nakonfigurujte skupiny zabezpečení pro nástroj pro vyrovnávání zatížení a povolte cílový port (port 80 v náš případ) k poslechu na:


Krok 5.  Vyberte posluchač (v našem případě HTTP) a zadejte port, na kterém chcete poslouchat nebo zvolte zůstat u výchozího portu 80 pro požadavky HTTP. V části Výchozí akce vyberte cíl „Přihlášení“ pro sloupec „Přeposlat do“:



Krok 6. Volitelné kroky lze přeskočit. Nyní si prohlédněte souhrn a stiskněte tlačítko „Vytvořit nástroj pro vyrovnávání zatížení“:

Přidání pravidel pro předávání na základě hostitele

Krok 1. Nyní znovu přejděte na stránku Vyrovnávání zatížení a zde najděte svůj cílový nástroj pro vyrovnávání zatížení:


 

Krok 2. Jakmile se stav ALB změní na Aktivní, budeme pokračovat v pravidlech přeposílání. Klikněte na název Load Balancer a poté přejděte na kartu Listeners

Krok 3. Klikněte na „Zobrazit/Upravit pravidla“ ve sloupci „Pravidla“ a poté klikněte na symbol „+“ a poté na „Vložit pravidlo“:




Krok 4. Ve sloupci „IF(all match) klikněte na rozbalovací šipku „+ Přidat podmínku“, jako typ pravidla vyberte „Hostitel“ a zadejte název hostitele nebo název domény (v našem případě 'www.signin.tecofers.com') v textovém poli odpovídajícím štítku 'je'.

Krok 5. Ve sloupci „Pak“ klikněte na šipku rozbalovací nabídky „+Přidat akci“ a jako akci vyberte „Přeposlat na“. Zde vyberte cílovou skupinu ‚Přihlášení‘.
Opakujte výše uvedené kroky 2 a 3 pro cílovou skupinu ‚SignUp‘ s názvem hostitele nebo názvem domény (v našem případě ‚www.signup.tecofers.com‘). Po uložení pravidel budeme mít dvě pravidla:

Poslední pravidlo je pro výchozí akci, pokud nejsou splněny dvě výše uvedené podmínky.

Registrace domény na Route 53

Chceme-li zaregistrovat hostitele/domény pro směrování založené na hostiteli přes internet, musíme přidat název DNS jejich odpovídajících instancí EC2 s jejich názvem hostitele/názvu domény uvnitř Route 53 .

Krok 1. Otevřete řídicí panel Route 53 z konzoly pro správu a klikněte na „Vytvořit hostovanou zónu“:


Krok 2. Na konfigurační stránce hostované zóny zadejte název domény a vyberte typ jako ' Veřejná hostovaná zóna“ a vyberte „Vytvořit hostovanou zónu“:


Krok 3. Na nové stránce klikněte na ‚Vytvořit záznam‘:


Krok 4. Na  nové stránce klikněte na štítek „Přepnout na průvodce“ a vyberte Možnost „Simple Routing“


Krok 5. Zde klikněte na 'Definovat jednoduchý záznam'


Krok 6. Zadejte různé podrobnosti pro tento záznam:

Doména:subdoména odpovídající vaší hostované zóně.

Typ záznamu:Zde vyberte typ A.

Hodnota/směrovat provoz na:

  1. Vyberte „Alias ​​to Application and Classic Load Balancer“
  2. Vyberte oblast, kde je nástroj pro vyrovnávání zatížení
  3. Vyberte cílový nástroj pro vyrovnávání zatížení.




Konečně klikněte na 'Definovat jednoduchý záznam'.

Výše uvedený záznam se nyní zobrazí zde:


Opakujte výše uvedené kroky pro druhého hostitele.

Ověřování nastavení…

Chcete-li zkontrolovat, zda vše funguje podle očekávání, otevřete webový prohlížeč a vložte DNS nástroje pro vyrovnávání zatížení a připojte jej:

1) Název hostitele pro cíl „Zaregistrovat se“



2) Název hostitele pro cíl „Přihlášení“





Závěr

Blahopřejeme, konečně jsme nakonfigurovali funkční scénář pro směrování založené na hostiteli na nástroji pro vyrovnávání zatížení aplikací AWS.


Linux
  1. Jak nainstalovat a nakonfigurovat HAProxy load balancer na Debian 11

  2. Jak nainstalovat a nakonfigurovat HAProxy load balancer na Rocky Linux/Alma Linux 8

  3. Jak nainstalovat a nakonfigurovat nástroj pro vyrovnávání zatížení HAProxy na Ubuntu 20.04

  1. Jak nakonfigurovat NGINX jako TCP/UDP Load Balancer v Linuxu

  2. Jak spustit instanci AWS EC2 pomocí Terraform

  3. Jak nakonfigurovat HAProxy load balancer

  1. Jak nastavit aplikaci Elastic Beanstalk na AWS

  2. Jak odesílat protokoly aplikací pro Linux do AWS CloudWatch

  3. Jak spravovat instance AWS EC2 pomocí aws-cli