0Pricing
Cloud & IT Cert Prep · บทเรียน

ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด

ทำความเข้าใจความแตกต่างระหว่าง Application Load Balancer, Network Load Balancer และ Gateway Load Balancer พร้อมจับคู่แต่ละแบบกับกรณีใช้งานที่เหมาะสม

ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

ภาพรวม Elastic Load Balancing

Elastic Load Balancing (ELB) กระจายทราฟฟิกแอปพลิเคชันขาเข้าไปยังเป้าหมายหลายรายการโดยอัตโนมัติ เช่น อินสแตนซ์ EC2 คอนเทนเนอร์ ฟังก์ชัน Lambda หรือที่อยู่ IP ELB เป็นบริการที่มีการจัดการ ซึ่งหมายความว่า AWS จะจัดการการจัดเตรียมทรัพยากร การปรับขนาด และความพร้อมใช้งานของตัวโหลดบาลานเซอร์เองในหลาย AZ

AWS มีตัวโหลดบาลานเซอร์สามประเภทภายใต้ ELB ได้แก่ Application Load Balancer (ALB), Network Load Balancer (NLB) และ Gateway Load Balancer (GWLB) แต่ละประเภททำงานในเลเยอร์ที่แตกต่างกันของโมเดล OSI และเหมาะกับกรณีการใช้งานที่แตกต่างกัน

Application Load Balancer (ALB)

ALB ทำงานที่ เลเยอร์ 7 (HTTP/HTTPS) ของโมเดล OSI โดยสามารถตรวจสอบส่วนหัว HTTP พาธ สตริงคำค้น ชื่อโฮสต์ และคุกกี้ เพื่อตัดสินใจเลือกเส้นทางอย่างชาญฉลาด ALB เป็นตัวเลือกหลักสำหรับเว็บแอปพลิเคชัน ไมโครเซอร์วิส และปลายทาง API ที่ต้องการการเลือกเส้นทางตามเนื้อหา

ความสามารถสำคัญของ ALB ได้แก่ การเลือกเส้นทางตามพาธ (/api/* ไปยังกลุ่มเป้าหมายหนึ่ง และ /static/* ไปยังอีกกลุ่มหนึ่ง) การเลือกเส้นทางตามโฮสต์ (โฮสต์เสมือนที่แตกต่างกันไปยังแบ็กเอนด์ที่แตกต่างกัน) การเลือกเส้นทางตามส่วนหัว HTTP และสตริงคำค้น การรองรับ WebSocket และการรองรับ HTTP/2 ALB สามารถเลือกเส้นทางไปยังอินสแตนซ์ EC2 คอนเทนเนอร์ (ECS/EKS) ฟังก์ชัน Lambda และที่อยู่ IP ได้

# Create an ALB
aws elbv2 create-load-balancer \
  --name my-alb \
  --subnets subnet-aaaa1111 subnet-bbbb2222 \
  --security-groups sg-12345678 \
  --type application

Network Load Balancer (NLB)

NLB ทำงานที่ เลเยอร์ 4 (TCP/UDP/TLS) โดยเลือกเส้นทางแพ็กเกจตามข้อมูลโพรโทคอล IP โดยไม่ตรวจสอบเนื้อหาของแอปพลิเคชัน NLB ออกแบบมาเพื่อ ประสิทธิภาพสูงมาก: รองรับคำขอหลายล้านรายการต่อวินาทีด้วย เวลาแฝงต่ำมาก (โดยทั่วไปต่ำกว่า 100 ไมโครวินาที)

ความสามารถสำคัญของ NLB ได้แก่ ที่อยู่ IP แบบคงที่ ต่อ AZ (หนึ่ง Elastic IP ต่อซับเน็ต), การส่งต่อ TLS โดยไม่ถอดรหัส (ส่งต่อทราฟฟิกที่เข้ารหัสโดยไม่ถอดรหัส) การคงที่อยู่ IP ของไคลเอ็นต์ และการรองรับโพรโทคอล UDP (เช่น DNS, RADIUS และเซิร์ฟเวอร์เกม) NLB ไม่สามารถเลือกเส้นทางตามเนื้อหาหรือตรวจสอบส่วนหัว HTTP ได้

# Create an NLB
aws elbv2 create-load-balancer \
  --name my-nlb \
  --subnets subnet-aaaa1111 subnet-bbbb2222 \
  --type network

Gateway Load Balancer (GWLB)

GWLB ทำงานที่ เลเยอร์ 3 (เลเยอร์เครือข่าย) และออกแบบมาโดยเฉพาะสำหรับการนำอุปกรณ์เครือข่ายเสมือนของผู้ให้บริการรายอื่นมาใช้งาน ปรับขนาด และจัดการ เช่น ไฟร์วอลล์ ระบบตรวจจับและป้องกันการบุกรุก (IDS/IPS) และระบบตรวจสอบแพ็กเกจเชิงลึก

GWLB ใช้ โพรโทคอล GENEVE (พอร์ต 6081) เพื่อห่อหุ้มทราฟฟิกและส่งไปยังกลุ่มอุปกรณ์ของคุณ อุปกรณ์จะตรวจสอบแพ็กเกจแล้วส่งกลับผ่านปลายทาง GWLB เดิม ทราฟฟิกจะไหลผ่านอย่างโปร่งใสโดยไม่ต้องเปลี่ยนแปลงการกำหนดเส้นทางใน VPC ต้นทาง นี่เป็นรูปแบบมาตรฐานสำหรับแทรกการตรวจสอบความปลอดภัยแบบรวมศูนย์ลงในโฟลว์ทราฟฟิก VPC ของ AWS

กรณีการใช้งาน ALB

เลือก ALB เมื่อ:

  • คุณต้องการ การเลือกเส้นทางตามเนื้อหา HTTP/HTTPS (พาธ โฮสต์ ส่วนหัว สตริงคำค้น)
  • แบ็กเอนด์ของคุณมี ฟังก์ชัน Lambda หรือ คอนเทนเนอร์ ECS
  • คุณต้องการการเชื่อมต่อ WebSocket หรือ HTTP/2
  • คุณต้องการผสานรวมกับ AWS WAF เพื่อรักษาความปลอดภัยเว็บแอปพลิเคชันที่ชั้นตัวโหลดบาลานเซอร์
  • คุณกำลังสร้าง สถาปัตยกรรมไมโครเซอร์วิส ที่มีบริการจำนวนมากอยู่บนพาธ URL ที่แตกต่างกัน
  • คุณต้องการ ยุติการเชื่อมต่อ SSL/TLS ที่ตัวโหลดบาลานเซอร์

ALB เป็นคำตอบที่ถูกต้องสำหรับคำถามส่วนใหญ่เกี่ยวกับการทำโหลดบาลานซ์เว็บแอปพลิเคชันและ REST API ในการสอบ SAA-C03

กรณีการใช้งาน NLB

เลือก NLB เมื่อ:

  • คุณต้องการ ประสิทธิภาพสูงมาก (คำขอหลายล้านรายการต่อวินาที เวลาแฝงต่ำกว่าหนึ่งมิลลิวินาที)
  • คุณต้องใช้ ที่อยู่ IP แบบคงที่ ซึ่งพาร์ตเนอร์หรือไฟร์วอลล์สามารถอนุญาตในรายการได้
  • คุณต้องจัดการ ทราฟฟิก UDP (เกม DNS RADIUS IoT)
  • คุณต้องการ ส่งต่อ TLS โดยไม่ถอดรหัส ที่ตัวโหลดบาลานเซอร์ (เข้ารหัสตั้งแต่ต้นทางถึงเป้าหมาย)
  • คุณต้องการคง IP ต้นทางของไคลเอ็นต์ ไว้โดยตรงที่ระดับ TCP
  • คุณกำลังใช้ AWS PrivateLink เพื่อเปิดเผยบริการแก่ VPC หรือบัญชีอื่น (PrivateLink ต้องใช้ NLB)

กรณีการใช้งานและสถาปัตยกรรม GWLB

เลือก GWLB เมื่อคุณต้องการ:

  • แทรก อุปกรณ์ไฟร์วอลล์ ของผู้ให้บริการรายอื่น (Palo Alto, Fortinet, Check Point) ลงในโฟลว์ทราฟฟิกเครือข่าย
  • ทำ การตรวจสอบแพ็กเกจเชิงลึก ที่ระดับ VPC สำหรับทราฟฟิกขาเข้าหรือขาออกทั้งหมด
  • ปรับขนาดกลุ่ม อุปกรณ์ IDS/IPS ในแนวนอนพร้อมการทำโหลดบาลานซ์อัตโนมัติ

สถาปัตยกรรม: ทราฟฟิกไหลจาก VPC ต้นทาง → ปลายทาง GWLB → VPC ของอุปกรณ์ (ซึ่ง GWLB จะกระจายทราฟฟิกไปยังอินสแตนซ์ของอุปกรณ์) → อุปกรณ์ส่งทราฟฟิกกลับไปยัง GWLB → GWLB ส่งต่อไปยังปลายทางเดิม ต้นทางและปลายทางจะไม่รับรู้ว่ามีการตรวจสอบอยู่ระหว่างทาง

การทำโหลดบาลานซ์ข้าม AZ

การทำโหลดบาลานซ์ข้ามโซน กระจายทราฟฟิกอย่างเท่าเทียมไปยังเป้าหมายที่ลงทะเบียนไว้ทั้งหมดใน AZ ที่เปิดใช้งาน โดยไม่คำนึงว่าโหนดตัวโหลดบาลานเซอร์ได้รับคำขอจาก AZ ใด หากไม่เปิดใช้การทำโหลดบาลานซ์ข้ามโซน โหนดของแต่ละ AZ จะแจกจ่ายทราฟฟิกไปยังเป้าหมายใน AZ ของตนเองเท่านั้น

ALB เปิดใช้การทำโหลดบาลานซ์ข้ามโซนเป็นค่าเริ่มต้นโดยไม่มีค่าใช้จ่ายเพิ่มเติม NLB ปิดใช้การทำโหลดบาลานซ์ข้ามโซนเป็นค่าเริ่มต้น—การเปิดใช้จะมีค่าถ่ายโอนข้อมูลระหว่าง AZ ส่วน GWLB ปิดใช้การทำโหลดบาลานซ์ข้ามโซนเป็นค่าเริ่มต้น ให้เปิดใช้การทำโหลดบาลานซ์ข้ามโซนเมื่อจำนวนเป้าหมายในแต่ละ AZ ไม่เท่ากัน เพื่อหลีกเลี่ยงจุดที่มีภาระงานหนาแน่น

การเปรียบเทียบโพรโทคอลและความสามารถ

ตารางเปรียบเทียบอย่างรวดเร็วสำหรับการสอบ:

  • เลเยอร์ OSI: ALB = 7 (HTTP), NLB = 4 (TCP/UDP), GWLB = 3 (IP)
  • โพรโทคอล: ALB = HTTP, HTTPS, WebSocket; NLB = TCP, UDP, TLS; GWLB = โพรโทคอล IP ทั้งหมดผ่าน GENEVE
  • IP แบบคงที่: ALB = ไม่มี (ใช้รูปแบบ NLB + ALB); NLB = มี (1 รายการต่อ AZ); GWLB = ไม่เกี่ยวข้อง
  • การผสานรวมกับ WAF: ALB = ได้; NLB = ไม่ได้; GWLB = ไม่ได้
  • เป้าหมาย Lambda: ALB = ได้; NLB = ไม่ได้; GWLB = ไม่ได้
  • การระบายการเชื่อมต่อ: ทั้งสามประเภทรองรับระยะหน่วงก่อนยกเลิกการลงทะเบียน

ALB กับ AWS WAF

ALB ผสานรวมกับ AWS WAF ได้โดยตรงเพื่อการป้องกันระดับรีเจียน (ตรงข้ามกับ WAF บน CloudFront ที่ให้การป้องกันระดับขอบเครือข่ายทั่วโลก) เมื่อแนบ WAF Web ACL กับ ALB คุณจะกรองคำขอ HTTP ก่อนถึงแอปพลิเคชันได้ โดยบล็อกการแทรก SQL, XSS, IP ที่เป็นอันตราย และไคลเอ็นต์ที่ใช้คำขอเกินอัตรา

ใช้ ALB + WAF เมื่อคุณต้องการตรวจสอบความปลอดภัยที่ชั้นตัวโหลดบาลานเซอร์ (เช่น เพื่อปกป้อง API ที่ไม่ได้ให้บริการผ่าน CloudFront) WAF Web ACL ที่แนบกับ ALB ต้องอยู่ในรีเจียนเดียวกับ ALB และต้องมีสโคปเป็น REGIONAL (ต่างจาก WAF ของ CloudFront ซึ่งต้องใช้สโคป CLOUDFRONT ใน us-east-1)

NLB กับ PrivateLink

AWS PrivateLink ใช้ NLB เพื่อเปิดเผยบริการใน VPC หนึ่งแก่ผู้ใช้บริการใน VPC หรือบัญชี AWS อื่น โดยไม่ต้องใช้การเพียร์ VPC อินเทอร์เน็ตเกตเวย์ หรือ NAT ผู้ให้บริการจะสร้าง NLB ไว้ด้านหน้าบริการของตนและสร้าง VPC Endpoint Service ส่วนผู้ใช้บริการจะสร้าง Interface VPC Endpoint ใน VPC ของตนเพื่อชี้ไปยังบริการดังกล่าว

ทราฟฟิกจะไหลผ่านเครือข่ายส่วนตัวของ AWS และไม่ผ่านอินเทอร์เน็ตเลย PrivateLink เป็นรูปแบบมาตรฐานสำหรับผู้ให้บริการ SaaS บน AWS และการเปิดเผยบริการที่ใช้ร่วมกัน (เช่น บริการรักษาความปลอดภัยแบบรวมศูนย์) แก่บัญชี AWS ภายในหลายบัญชี

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจแนวคิดของ AWS Solutions Architect (SAA-C03) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า ALB เลือกเส้นทางที่เลเยอร์ 7 (HTTP) ด้วยกฎตามเนื้อหา การผสานรวมกับ WAF และเป้าหมาย Lambda, NLB เลือกเส้นทางที่เลเยอร์ 4 (TCP/UDP) พร้อม IP แบบคงที่และอัตราการรับส่งข้อมูลสูงมาก และ GWLB นำอุปกรณ์เครือข่ายเสมือนมาใช้งาน ที่เลเยอร์ 3 โดยใช้ GENEVE ให้จับคู่ตัวโหลดบาลานเซอร์กับข้อกำหนดด้านโพรโทคอลและความสามารถ บทถัดไปเราจะสำรวจกลุ่มเป้าหมายและการตรวจสอบสถานะ

คำถามที่พบบ่อย

บทเรียน “ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด”

ทำความเข้าใจความแตกต่างระหว่าง Application Load Balancer, Network Load Balancer และ Gateway Load Balancer พร้อมจับคู่แต่ละแบบกับกรณีใช้งานที่เหมาะสม คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม

ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ALB เทียบกับ NLB เทียบกับ GLB: ควรใช้แบบใด
  2. กลุ่มเป้าหมายและการตรวจสอบสถานะ
  3. กฎผู้รับฟังและการกำหนดเส้นทางตามเส้นทาง
  4. การสิ้นสุด SSL และเซสชันแบบยึดติด
← กลับไปที่ Cloud & IT Cert Prep