ALB, NLB ja GLB: milloin mitäkin käytetään
Ymmärrätte Application-, Network- ja Gateway Load Balancerien erot ja yhdistätte kunkin sopivimpaan käyttötapaukseen.
ALB, NLB ja GLB: milloin mitäkin käytetään on ilmainen AWS Solutions Architect-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS Solutions Architect-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
Elastic Load Balancingin yleiskatsaus
Elastic Load Balancing (ELB) jakaa saapuvan sovellusliikenteen automaattisesti useille kohteille — EC2-instansseille, konteille, Lambda-funktioille tai IP-osoitteille. ELB on hallittu palvelu, joten AWS huolehtii itse kuormantasaajan käyttöönotosta, skaalauksesta ja käytettävyydestä useilla saatavuusalueilla.
AWS tarjoaa ELB:n alla kolme kuormantasaajatyyppiä: Application Load Balancer (ALB), Network Load Balancer (NLB) ja Gateway Load Balancer (GWLB). Kukin toimii OSI-mallin eri kerroksessa ja on optimoitu erilaisiin käyttötapauksiin.
Application Load Balancer (ALB)
ALB toimii OSI-mallin kerroksessa 7 (HTTP/HTTPS). Se voi tutkia HTTP-otsakkeita, polkuja, kyselymerkkijonoja, isäntänimiä ja evästeitä tehdäkseen älykkäitä reitityspäätöksiä. ALB on ensisijainen valinta verkkosovelluksille, mikropalveluille ja sisältöön perustuvaa reititystä tarvitseville API-päätepisteille.
ALB:n keskeisiä ominaisuuksia ovat polkuihin perustuva reititys (/api/* yhteen kohderyhmään, /static/* toiseen), isäntänimeen perustuva reititys (eri virtuaali-isännät eri taustajärjestelmiin), HTTP-otsakkeisiin ja kyselymerkkijonoihin perustuva reititys, WebSocket-tuki ja HTTP/2-tuki. ALB voi reitittää EC2-instansseille, konteille (ECS/EKS), Lambda-funktioille ja IP-osoitteisiin.
# Create an ALB
aws elbv2 create-load-balancer \
--name my-alb \
--subnets subnet-aaaa1111 subnet-bbbb2222 \
--security-groups sg-12345678 \
--type applicationNetwork Load Balancer (NLB)
NLB toimii OSI-mallin kerroksessa 4 (TCP/UDP/TLS). Se reitittää paketit IP-protokollan tietojen perusteella tutkimatta sovelluksen sisältöä. NLB on suunniteltu erittäin suorituskykyiseksi: se käsittelee miljoonia pyyntöjä sekunnissa ja tarjoaa erittäin pienen viiveen (tyypillisesti alle 100 mikrosekuntia).
NLB:n keskeisiä ominaisuuksia ovat staattiset IP-osoitteet saatavuusaluetta kohden (yksi Elastic IP aliverkkoa kohden), TLS:n välitys (salatun liikenteen välittäminen ilman salauksen purkamista), asiakkaan IP-osoitteen säilyttäminen ja UDP-protokollien tuki (esimerkiksi DNS, RADIUS ja pelipalvelimet). NLB ei voi tehdä sisältöön perustuvaa reititystä tai tutkia HTTP-otsakkeita.
# Create an NLB
aws elbv2 create-load-balancer \
--name my-nlb \
--subnets subnet-aaaa1111 subnet-bbbb2222 \
--type networkGateway Load Balancer (GWLB)
GWLB toimii kerroksessa 3 (verkkokerros), ja se on suunniteltu yksinomaan kolmansien osapuolten virtuaalisten verkkolaitteiden — palomuurien, tunkeutumisen havaitsemis- ja estojärjestelmien (IDS/IPS) sekä syvällisen pakettitarkastuksen järjestelmien — käyttöönottoon, skaalaukseen ja hallintaan.
GWLB käyttää GENEVE-protokollaa (portti 6081) liikenteen kapselointiin ja lähettämiseen laitejoukolle. Laite tutkii paketin ja palauttaa sen saman GWLB-päätepisteen kautta. Liikenne kulkee läpinäkyvästi ilman, että lähde-VPC:n reititystä tarvitsee muuttaa. Tämä on vakiomalli keskitetyn tietoturvatarkastuksen lisäämiseen AWS:n VPC-liikennevirtoihin.
ALB:n käyttötapaukset
Valitkaa ALB, kun:
- Tarvitsette HTTP/HTTPS-sisältöön perustuvaa reititystä (polku, isäntä, otsake, kyselymerkkijono)
- Taustajärjestelmäänne kuuluu Lambda-funktioita tai ECS-kontteja
- Tarvitsette WebSocket- tai HTTP/2-yhteyksiä
- Haluatte integroida AWS WAF:n kuormantasaajatason verkkosovellusten tietoturvaan
- Rakennatte mikropalveluarkkitehtuuria, jossa useita palveluita sijaitsee eri URL-polkujen takana
- Tarvitsette SSL/TLS-terminoinnin kuormantasaajassa
ALB on oikea vastaus useimpiin verkkosovellusten ja REST-rajapintojen kuormantasausta koskeviin SAA-C03-kokeen kysymyksiin.
NLB:n käyttötapaukset
Valitkaa NLB, kun:
- Tarvitsette erittäin suurta suorituskykyä (miljoonia pyyntöjä sekunnissa, alle millisekunnin viive)
- Tarvitsette staattisia IP-osoitteita, jotka kumppanit tai palomuurit voivat lisätä sallittujen luetteloon
- Teidän on käsiteltävä UDP-liikennettä (pelaaminen, DNS, RADIUS, IoT)
- Haluatte TLS:n välityksen ilman salauksen purkamista kuormantasaajassa (päästä päähän -salaus kohteeseen)
- Teidän on säilytettävä asiakkaan lähde-IP natiivisti TCP-tasolla
- Käytätte AWS PrivateLinkiä palveluiden tarjoamiseen muille VPC:ille tai tileille (PrivateLink edellyttää NLB:tä)
GWLB:n käyttötapaukset ja arkkitehtuuri
Valitkaa GWLB, kun haluatte:
- Lisätä kolmansien osapuolten palomuurilaitteita (Palo Alto, Fortinet, Check Point) verkkoliikenteen kulkuun
- Suorittaa syvällistä pakettitarkastusta VPC-tasolla kaikelle saapuvalle tai lähtevälle liikenteelle
- Skaalata IDS/IPS-laitteiden joukkoa vaakasuunnassa automaattisen kuormantasauksen avulla
Arkkitehtuuri: liikenne kulkee lähde-VPC:stä → GWLB-päätepisteeseen → laite-VPC:hen (jossa GWLB jakaa liikenteen laiteinstansseille) → laite palauttaa liikenteen GWLB:lle → GWLB välittää sen alkuperäiseen kohteeseen. Lähde ja kohde eivät tiedä niiden välissä tapahtuvasta tarkastuksesta.
Saatavuusalueiden välinen kuormantasaus
Saatavuusalueiden välinen kuormantasaus jakaa liikenteen tasaisesti kaikille rekisteröidyille kohteille kaikilla käytössä olevilla saatavuusalueilla riippumatta siitä, millä saatavuusalueella oleva kuormantasaajan solmu vastaanotti pyynnön. Ilman saatavuusalueiden välistä kuormantasausta kunkin saatavuusalueen solmu jakaa liikennettä vain oman saatavuusalueensa kohteille.
ALB:ssa saatavuusalueiden välinen kuormantasaus on oletusarvoisesti käytössä ilman lisäkustannuksia. NLB:ssa se on oletusarvoisesti poissa käytöstä — käyttöönotto aiheuttaa saatavuusalueiden välisen tiedonsiirron maksuja. GWLB:ssa saatavuusalueiden välinen kuormantasaus on oletusarvoisesti poissa käytöstä. Ottakaa saatavuusalueiden välinen kuormantasaus käyttöön, kun kohteiden määrät vaihtelevat saatavuusalueittain, jotta kuormitushuiput vältetään.
Protokollien ja ominaisuuksien vertailu
Nopea vertailutaulukko koetta varten:
- OSI-kerros: ALB = 7 (HTTP), NLB = 4 (TCP/UDP), GWLB = 3 (IP)
- Protokollat: ALB = HTTP, HTTPS, WebSocket; NLB = TCP, UDP, TLS; GWLB = kaikki IP-protokollat GENEVE:n kautta
- Staattinen IP: ALB = Ei (käyttäkää NLB + ALB -mallia); NLB = Kyllä (1 saatavuusaluetta kohden); GWLB = Ei sovellu
- WAF-integraatio: ALB = Kyllä; NLB = Ei; GWLB = Ei
- Lambda-kohde: ALB = Kyllä; NLB = Ei; GWLB = Ei
- Yhteyksien tyhjennys: kaikki kolme tukevat rekisteröinnin poistamisen viivettä
ALB ja AWS WAF
ALB integroituu natiivisti AWS WAF:n kanssa alueellista suojausta varten (toisin kuin CloudFrontin WAF, joka tarjoaa maailmanlaajuista reunasuojausta). Liittämällä WAF Web ACL:n ALB:hen voitte suodattaa HTTP-pyynnöt ennen niiden saapumista sovellukseen ja estää SQL-injektiot, XSS-hyökkäykset, tunnetut haitalliset IP-osoitteet ja liikaa pyyntöjä lähettävät asiakkaat.
Käyttäkää yhdistelmää ALB + WAF, kun haluatte tietoturvatarkastuksen kuormantasaajatasolla (esimerkiksi suojataksenne rajapintoja, joita ei tarjota CloudFrontin kautta). ALB:hin liitettyjen WAF Web ACL:ien on sijaittava samalla alueella kuin ALB:n ja niiden laajuuden on oltava REGIONAL (toisin kuin CloudFront WAF:ssa, joka edellyttää laajuutta CLOUDFRONT alueella us-east-1).
NLB ja PrivateLink
AWS PrivateLink käyttää NLB:tä palveluiden tarjoamiseen yhdestä VPC:stä muiden VPC:iden tai AWS-tilien kuluttajille ilman VPC-peerausta, internet-yhdyskäytävää tai NAT:ia. Palveluntarjoaja luo palvelunsa eteen NLB:n ja luo VPC Endpoint Service -palvelun. Kuluttajat luovat omaan VPC:hensä Interface VPC Endpoint -päätepisteen, joka osoittaa palveluun.
Liikenne kulkee AWS:n yksityisessä verkossa eikä koskaan kulje internetin kautta. PrivateLink on AWS:n SaaS-palveluntarjoajien vakiomalli sekä malli jaettujen palveluiden (esimerkiksi keskitetyn tietoturvapalvelun) tarjoamiseen useille sisäisille AWS-tileille.
Pikatarkistus
Testatkaa tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteiden ymmärrystänne.
Oppitunnin yhteenveto
Tässä oppitunnissa opitte, että ALB reitittää kerroksessa 7 (HTTP) sisältöön perustuvien sääntöjen avulla ja tukee WAF-integraatiota sekä Lambda-kohteita, NLB reitittää kerroksessa 4 (TCP/UDP) staattisilla IP-osoitteilla ja erittäin suurella läpäisykyvyllä ja GWLB ottaa käyttöön virtuaalisia verkkolaitteita kerroksessa 3 GENEVE-protokollan avulla. Valitkaa kuormantasaaja protokolla- ja ominaisuusvaatimusten perusteella. Seuraavaksi tutustumme kohderyhmiin ja kuntotarkistuksiin.
Opi AWS Solutions Architect tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”ALB, NLB ja GLB: milloin mitäkin käytetään” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS Solutions Architect-oppimispolun 3 oppituntia, myös oppitunnin “ALB, NLB ja GLB: milloin mitäkin käytetään”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”ALB, NLB ja GLB: milloin mitäkin käytetään”?
Ymmärrätte Application-, Network- ja Gateway Load Balancerien erot ja yhdistätte kunkin sopivimpaan käyttötapaukseen. Harjoittelet AWS Solutions Architect-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni AWS Solutions Architect-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin AWS Solutions Architect-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”ALB, NLB ja GLB: milloin mitäkin käytetään”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä AWS Solutions Architect-oppitunnilla?
Kyllä. Jokainen AWS Solutions Architect-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- ALB, NLB ja GLB: milloin mitäkin käytetään
- Target Groupit ja kuntotarkistukset
- Listener-säännöt ja polkupohjainen reititys
- SSL-terminointi ja tahmeat istunnot