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

กลุ่มเป้าหมายและการตรวจสอบสถานะ

ลงทะเบียนอินสแตนซ์ EC2 ที่อยู่ IP หรือฟังก์ชัน Lambda เป็นเป้าหมาย และกำหนดค่าเส้นทาง เกณฑ์ และช่วงเวลาสำหรับการตรวจสอบสถานะ

บทเรียน 2 จาก 413 ขั้นตอน

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

กลุ่มเป้าหมายคืออะไร

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

กลุ่มเป้าหมายเชื่อมโยงกับตัวรับฟังของตัวโหลดบาลานเซอร์ผ่านกฎของตัวรับฟัง ตัวรับฟังหนึ่งรายการสามารถส่งคำขอไปยังหลายกลุ่มเป้าหมายตามคุณลักษณะของคำขอ กลไกนี้เป็นพื้นฐานของการเลือกเส้นทางตามพาธและตามโฮสต์ใน ALB

# Create a target group for an ALB
aws elbv2 create-target-group \
  --name my-web-targets \
  --protocol HTTP \
  --port 80 \
  --vpc-id vpc-12345678 \
  --target-type instance \
  --health-check-path /health \
  --health-check-interval-seconds 30

ประเภทเป้าหมาย: อินสแตนซ์, IP, Lambda

กลุ่มเป้าหมายรองรับเป้าหมายสามประเภท:

  • instance: ส่งเส้นทางไปยังอินสแตนซ์ EC2 ตาม ID อินสแตนซ์ ตัวโหลดบาลานเซอร์จะส่งทราฟฟิกไปยังอินเทอร์เฟซเครือข่ายหลักของอินสแตนซ์ที่พอร์ตที่ระบุ
  • ip: ส่งเส้นทางไปยังที่อยู่ IP ส่วนตัว—มีประโยชน์สำหรับเป้าหมายในคอนเทนเนอร์ (ECS/EKS) เซิร์ฟเวอร์ภายในองค์กรที่เข้าถึงได้ผ่าน VPN/Direct Connect หรือ IP สำรองของอินสแตนซ์ EC2
  • lambda: ส่งเส้นทางไปยังฟังก์ชัน Lambda เดียว (เฉพาะ ALB); ALB จะแปลงคำขอ HTTP เป็นเหตุการณ์ JSON แล้วเรียกใช้ฟังก์ชันแบบพร้อมกัน

ต้องใช้ประเภทเป้าหมาย IP สำหรับงาน ECS ที่ใช้โหมดเครือข่าย awsvpc (แต่ละงานจะมี IP ของตนเอง) สำหรับพ็อด EKS และสำหรับสถาปัตยกรรมแบบไฮบริดที่มีเป้าหมายภายในองค์กร

การลงทะเบียนเป้าหมาย

คุณลงทะเบียนเป้าหมายกับกลุ่มเป้าหมายได้ด้วยตนเอง (ในคอนโซลหรือ CLI) หรือโดยอัตโนมัติ (ผ่านการแนบ Auto Scaling Group หรือการกำหนดค่าบริการ ECS) เป้าหมายที่ลงทะเบียนด้วยตนเองจะยังคงอยู่ในกลุ่มจนกว่าคุณจะยกเลิกการลงทะเบียนอย่างชัดเจน

สำหรับ ASG คุณจะแนบ ASG เข้ากับกลุ่มเป้าหมาย จากนั้น ASG จะลงทะเบียนอินสแตนซ์ที่เปิดใช้งานใหม่โดยอัตโนมัติ และยกเลิกการลงทะเบียนอินสแตนซ์ที่สิ้นสุดการทำงานแล้ว การผสานรวมกับ ASG อย่างแน่นหนานี้เป็นรูปแบบมาตรฐานสำหรับระดับการประมวลผลแบบยืดหยุ่น อินสแตนซ์ใหม่จะเริ่มทำงานและรับทราฟฟิกทันทีที่ผ่านการตรวจสอบสถานะ

# Register EC2 instances with a target group
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --targets Id=i-1234567890abcdef0 Id=i-0987654321fedcba0

# Register IP targets (for containers/ECS awsvpc)
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-ip-targets/def456 \
  --targets Id=10.0.0.5,Port=8080 Id=10.0.0.6,Port=8080

การกำหนดค่าการตรวจสอบสถานะ

แต่ละกลุ่มเป้าหมายจะมีการตรวจสอบสถานะที่เกี่ยวข้อง ซึ่งตัวจัดสมดุลโหลดใช้เพื่อพิจารณาว่าเป้าหมายมีสถานะปกติและพร้อมรับทราฟฟิกหรือไม่ การตรวจสอบสถานะจะส่งคำขอไปยังแต่ละเป้าหมายเป็นระยะ และประเมินการตอบกลับดังนี้:

  • Protocol: HTTP, HTTPS หรือ TCP (สำหรับ NLB)
  • เส้นทาง: เส้นทาง URL ที่จะขอ เช่น /health หรือ /ping
  • Port: พอร์ตที่จะตรวจสอบ (ค่าเริ่มต้นคือพอร์ตของกลุ่มเป้าหมาย)
  • เกณฑ์สถานะปกติ: จำนวนครั้งที่สำเร็จติดต่อกันก่อนกำหนดให้มีสถานะปกติ
  • เกณฑ์สถานะผิดปกติ: จำนวนครั้งที่ล้มเหลวติดต่อกันก่อนกำหนดให้มีสถานะผิดปกติ
  • ช่วงเวลา: จำนวนวินาทีระหว่างการตรวจสอบสถานะ (5–300)
  • หมดเวลา: จำนวนวินาทีที่จะรอการตอบกลับ

รหัสความสำเร็จของการตรวจสอบสถานะ

สำหรับการตรวจสอบสถานะผ่าน HTTP/HTTPS คุณจะระบุว่ารหัสการตอบกลับ HTTP ใดบ่งชี้ว่าเป้าหมายมีสถานะปกติ ค่าเริ่มต้นคือ 200 แต่คุณสามารถกำหนดช่วง เช่น 200-299 หรือค่าที่คั่นด้วยจุลภาค เช่น 200,301,302 ได้

แนวทางปฏิบัติที่ดีคือสร้างจุดปลายทาง /health เฉพาะในแอปพลิเคชันของคุณ ซึ่งจะส่งคืน 200 ก็ต่อเมื่อส่วนเชื่อมต่อที่สำคัญทั้งหมดพร้อมใช้งาน (การเชื่อมต่อฐานข้อมูล แคช และบริการปลายทาง) อย่าใช้ URL ราก (/) เป็นเส้นทางตรวจสอบสถานะ หากเส้นทางดังกล่าวทำงานที่ใช้ทรัพยากรมากหรือต้องผ่านการยืนยันตัวตน

# Modify health check to accept 200-299
aws elbv2 modify-target-group \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --health-check-path /health \
  --matcher HttpCode=200-299 \
  --healthy-threshold-count 2 \
  --unhealthy-threshold-count 3 \
  --health-check-interval-seconds 15

สถานะของเป้าหมาย: เริ่มต้น ปกติ ผิดปกติ

หลังจากลงทะเบียนแล้ว เป้าหมายจะเปลี่ยนผ่านสถานะต่อไปนี้:

  • เริ่มต้น: ELB กำลังดำเนินการตรวจสอบสถานะครั้งแรก
  • มีสถานะปกติ: ผ่านการตรวจสอบสถานะติดต่อกันตามจำนวนที่กำหนด และรับทราฟฟิก
  • มีสถานะผิดปกติ: ไม่ผ่านการตรวจสอบสถานะติดต่อกันตามจำนวนที่กำหนด และถูกนำออกจากการหมุนเวียน
  • กำลังระบายการเชื่อมต่อ: การยกเลิกการลงทะเบียนกำลังดำเนินอยู่ การเชื่อมต่อที่มีอยู่จะปล่อยให้เสร็จสิ้น แต่จะไม่มีการส่งการเชื่อมต่อใหม่มา
  • ไม่ได้ใช้งาน: ลงทะเบียนอยู่ในกลุ่ม แต่ขณะนี้ไม่มีกฎของตัวรับฟังใดกำหนดเส้นทางมายังกลุ่มนี้

ตรวจสอบเมตริก CloudWatch UnHealthyHostCount และ HealthyHostCount เพื่อค้นหาปัญหาในกลุ่มเป้าหมายของคุณ

ความล่าช้าในการยกเลิกการลงทะเบียน (การระบายการเชื่อมต่อ)

ความล่าช้าในการยกเลิกการลงทะเบียน (เดิมเรียกว่า การระบายการเชื่อมต่อ) คือเวลาที่ ELB รอให้การเชื่อมต่อที่มีอยู่เสร็จสิ้น ก่อนยกเลิกการลงทะเบียนเป้าหมายในท้ายที่สุด ค่าเริ่มต้นคือ 300 วินาที (5 นาที) ในช่วงเวลานี้ จะไม่มีการส่งคำขอใหม่ไปยังเป้าหมายที่กำลังยกเลิกการลงทะเบียน แต่คำขอที่กำลังดำเนินการอยู่จะได้รับอนุญาตให้ทำงานจนเสร็จ

สำหรับการปรับใช้ที่รวดเร็วและการสิ้นสุดการทำงานของอินสแตนซ์จากการปรับขนาดอัตโนมัติ คุณอาจลดค่านี้เหลือ 30–60 วินาทีได้ หากแอปพลิเคชันของคุณจัดการคำขอได้รวดเร็ว สำหรับการดำเนินการที่ใช้เวลานาน เช่น การอัปโหลดไฟล์หรือการประมวลผลวิดีโอ ควรตั้งเวลาให้นานพอที่การดำเนินการเหล่านั้นจะเสร็จสิ้นโดยไม่ถูกขัดจังหวะ

# Reduce deregistration delay to 30 seconds
aws elbv2 modify-target-group-attributes \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --attributes Key=deregistration_delay.timeout_seconds,Value=30

อัลกอริทึมการกระจายโหลด

กลุ่มเป้าหมายรองรับอัลกอริทึมการกระจายโหลดที่แตกต่างกัน:

  • วนรอบ (ค่าเริ่มต้นของ ALB): กระจายคำขออย่างเท่าเทียมตามลำดับการวนรอบ เหมาะที่สุดเมื่อเป้าหมายทั้งหมดมีคุณสมบัติเทียบเท่ากัน
  • คำขอที่ค้างอยู่น้อยที่สุด (ALB): ส่งคำขอใหม่แต่ละรายการไปยังเป้าหมายที่มีคำขอระหว่างดำเนินการน้อยที่สุด เหมาะกว่าสำหรับงานที่มีระยะเวลาแตกต่างกัน ซึ่งคำขอบางรายการใช้เวลานานกว่ารายการอื่น
  • แฮชโฟลว์ (NLB): กระจายตามโพรโทคอล IP ต้นทาง/ปลายทาง พอร์ตต้นทาง/ปลายทาง และหมายเลขลำดับ TCP เพื่อให้แน่ใจว่าแพ็กเก็ตทั้งหมดในโฟลว์ TCP/UDP เดียวกันจะไปยังเป้าหมายเดียวกัน

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

กลุ่มเป้าหมายหลายกลุ่มและการกำหนดเส้นทางแบบถ่วงน้ำหนัก

กฎตัวรับฟัง ALB เพียงกฎเดียวสามารถกระจายทราฟฟิกไปยังกลุ่มเป้าหมายหลายกลุ่มด้วยกลุ่มเป้าหมายแบบถ่วงน้ำหนักได้ ตัวอย่างเช่น กำหนดเส้นทาง 90% ของทราฟฟิกไปยังกลุ่มเป้าหมายที่เสถียร และ 10% ไปยังกลุ่มเป้าหมายแบบคานารีสำหรับการปรับใช้แบบ blue-green โดยไม่ต้องใช้การกำหนดเส้นทางแบบถ่วงน้ำหนักของ Route 53

กลุ่มเป้าหมายแบบถ่วงน้ำหนักจะกำหนดค่าที่ระดับกฎตัวรับฟัง น้ำหนักเป็นค่าเปรียบเทียบกันเอง: 90/10 จะส่ง 90% ไปยังกลุ่มแรก และ 10% ไปยังกลุ่มที่สอง ซึ่งแตกต่างจากการกำหนดเส้นทางแบบถ่วงน้ำหนักระหว่าง ALB หลายตัว ในกรณีนี้ การถ่วงน้ำหนักเกิดขึ้นภายในกฎตัวรับฟังของ ALB เพียงตัวเดียว

กลุ่มเป้าหมายและการผสานรวมกับ ECS

เมื่อปรับใช้บริการ ECS ไว้ด้านหลัง ALB งาน ECS แต่ละงานจะลงทะเบียนกับกลุ่มเป้าหมายของ ALB โดยใช้ประเภทเป้าหมาย IP (สำหรับโหมดเครือข่าย awsvpc) บริการ ECS จะจัดการการลงทะเบียนและการยกเลิกการลงทะเบียนโดยอัตโนมัติ งานใหม่จะได้รับการลงทะเบียนหลังจากผ่านการตรวจสอบสถานะ และงานที่กำลังหยุดจะเริ่มความล่าช้าในการยกเลิกการลงทะเบียนก่อนสิ้นสุดการทำงาน

บริการ ECS แต่ละบริการสามารถลงทะเบียนด้วยการแทนที่พอร์ตที่ระบุได้ ทำให้บริการ ECS หลายบริการใช้ ALB เดียวกันผ่านกฎตัวรับฟังที่แตกต่างกัน (ตามเส้นทางหรือตามโฮสต์) และใช้กลุ่มเป้าหมายที่แตกต่างกัน ซึ่งเป็นรูปแบบทั่วไปของไมโครเซอร์วิส

การตรวจสอบสถานะของ NLB

พฤติกรรมการตรวจสอบสถานะของ NLB แตกต่างจาก ALB ดังนี้:

  • NLB รองรับโพรโทคอลการตรวจสอบสถานะ TCP, HTTP และ HTTPS โดยไม่ขึ้นอยู่กับโพรโทคอลของตัวรับฟัง
  • การตรวจสอบสถานะของ NLB จะส่งมาจากที่อยู่ IP ของ NLB ในแต่ละ AZ ดังนั้นควรตรวจสอบให้แน่ใจว่ากลุ่มความปลอดภัยอนุญาตทราฟฟิกจาก IP ของซับเน็ตของ NLB หรือใช้กลุ่มความปลอดภัยของ NLB เอง
  • สำหรับการตรวจสอบสถานะด้วย TCP NLB จะถือว่าเป้าหมายมีสถานะปกติ หากเป้าหมายยอมรับการเชื่อมต่อ TCP บนพอร์ตที่ระบุ
  • เป้าหมายของ NLB ที่ไม่ผ่านการตรวจสอบสถานะจะถูกนำออกตามแต่ละ AZ หากเป้าหมายทั้งหมดใน AZ ใดมีสถานะผิดปกติ NLB อาจกระจายโหลดข้ามโซนไปยังเป้าหมายที่มีสถานะปกติใน AZ อื่น (หากเปิดใช้การกระจายโหลดข้ามโซน)

ตรวจสอบความเข้าใจ

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

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า กลุ่มเป้าหมายประกอบด้วยเป้าหมายที่ลงทะเบียนและมีสถานะปกติ ซึ่งมีประเภทเป็นอินสแตนซ์ IP หรือ Lambda, การตรวจสอบสถานะจะตรวจสอบเป้าหมายเป็นระยะเพื่อนำเป้าหมายที่มีสถานะผิดปกติออกจากการหมุนเวียน และความล่าช้าในการยกเลิกการลงทะเบียนช่วยให้การระบายคำขอที่กำลังดำเนินการเป็นไปอย่างราบรื่นก่อนนำเป้าหมายออก บทถัดไปเราจะศึกษาเกี่ยวกับกฎตัวรับฟังและการกำหนดเส้นทางตามเส้นทางบน ALB

เริ่มต้นได้ฟรี

เรียนรู้ Cloud & IT Cert Prep ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
150
บทเรียน
600

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

บทเรียน “กลุ่มเป้าหมายและการตรวจสอบสถานะ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กลุ่มเป้าหมายและการตรวจสอบสถานะ”

ลงทะเบียนอินสแตนซ์ EC2 ที่อยู่ IP หรือฟังก์ชัน Lambda เป็นเป้าหมาย และกำหนดค่าเส้นทาง เกณฑ์ และช่วงเวลาสำหรับการตรวจสอบสถานะ คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

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

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

บทเรียน “กลุ่มเป้าหมายและการตรวจสอบสถานะ” ใช้เวลานานแค่ไหน

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

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

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

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

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