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

การตรวจสอบสถานะและการสลับระบบ DNS

ตั้งค่าการตรวจสอบสถานะของปลายทาง แบบคำนวณ และการแจ้งเตือน CloudWatch เพื่อให้ Route 53 เปลี่ยนเส้นทางการรับส่งข้อมูลออกจากปลายทางที่ไม่พร้อมใช้งานโดยอัตโนมัติ

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

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

การตรวจสอบสถานะของ Route 53 คืออะไร

การตรวจสอบสถานะของ Route 53 จะตรวจสอบสถานะของจุดปลายทางอย่างต่อเนื่อง ไม่ว่าจะเป็นเว็บเซิร์ฟเวอร์ ตัวกระจายโหลด หรือจุดปลายทาง HTTP/HTTPS/TCP ใด ๆ ที่เข้าถึงได้ผ่านอินเทอร์เน็ต จากผลการตรวจสอบสถานะ Route 53 สามารถปรับการกำหนดเส้นทาง DNS โดยอัตโนมัติ เพื่อหลีกเลี่ยงการส่งทราฟฟิกไปยังทรัพยากรที่ไม่พร้อมใช้งาน

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

การตรวจสอบสถานะของจุดปลายทาง

การตรวจสอบสถานะของจุดปลายทาง จะตรวจสอบที่อยู่ IP หรือชื่อโดเมนที่ระบุ โดยใช้โพรโทคอล (HTTP, HTTPS หรือ TCP) พอร์ต และเส้นทางที่เลือกได้ สำหรับการตรวจสอบ HTTP/HTTPS Route 53 จะตรวจสอบว่าจุดปลายทางส่งคืนรหัสสถานะ HTTP 2xx หรือ 3xx ภายในช่วงเวลาหมดเวลาหรือไม่ สำหรับการตรวจสอบ HTTPS ระบบยังสามารถตรวจสอบใบรับรอง TLS ได้ด้วย

ตัวเลือกการกำหนดค่าที่สำคัญ ได้แก่ ช่วงเวลาระหว่างคำขอ (10 หรือ 30 วินาที—10 วินาทีตรวจพบได้เร็วกว่าแต่มีค่าใช้จ่ายสูงกว่า) เกณฑ์ความล้มเหลว (ความล้มเหลวติดต่อกัน 1–10 ครั้งก่อนทำเครื่องหมายว่าไม่พร้อมใช้งาน) และ การจับคู่สตริง (ตรวจสอบเพิ่มเติมได้ว่าเนื้อหาการตอบกลับมีสตริงที่ระบุหรือไม่)

# Create an HTTP health check
aws route53 create-health-check \
  --caller-reference hc-2026-06-20 \
  --health-check-config '{
    "Type": "HTTP",
    "IPAddress": "54.100.1.1",
    "Port": 80,
    "ResourcePath": "/health",
    "FailureThreshold": 3,
    "RequestInterval": 30
  }'

การตรวจสอบสถานะแบบคำนวณ

การตรวจสอบสถานะแบบคำนวณ จะรวมผลลัพธ์จากการตรวจสอบสถานะย่อยหลายรายการโดยใช้ตรรกะบูลีน (AND, OR, NOT) ทำให้คุณกำหนดสถานะของแอปพลิเคชันจากสัญญาณหลายรายการได้ โดยไม่ต้องสร้างสายการกำหนดเส้นทางที่ซับซ้อน

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

# Create a calculated health check (AND of two child checks)
aws route53 create-health-check \
  --caller-reference hc-calc-2026 \
  --health-check-config '{
    "Type": "CALCULATED",
    "ChildHealthChecks": [
      "hc-api-id",
      "hc-db-id"
    ],
    "HealthThreshold": 2
  }'

การตรวจสอบสถานะจากสัญญาณเตือนของ CloudWatch

การตรวจสอบสถานะจากสัญญาณเตือนของ CloudWatch จะเชื่อมการตรวจสอบสถานะของ Route 53 เข้ากับสถานะของสัญญาณเตือน CloudWatch หากสัญญาณเตือนอยู่ในสถานะ ALARM การตรวจสอบสถานะจะถูกทำเครื่องหมายว่าไม่พร้อมใช้งาน หากอยู่ในสถานะ OK หรือ INSUFFICIENT_DATA จะถูกทำเครื่องหมายว่าพร้อมใช้งาน

รูปแบบนี้มีประโยชน์อย่างมากสำหรับจุดปลายทางภายใน VPC ซึ่งตัวตรวจสอบสถานะภายนอกของ Route 53 ไม่สามารถเข้าถึงได้ แทนที่จะตรวจสอบจุดปลายทางส่วนตัวโดยตรง ให้สร้างเมตริกและสัญญาณเตือน CloudWatch สำหรับจุดปลายทางนั้น แล้วใช้สถานะของสัญญาณเตือนเป็นพื้นฐานของการตรวจสอบสถานะ Route 53 นอกจากนี้ยังทำให้ตรวจสอบสถานะตามเมตริกทางธุรกิจ เช่น อัตราข้อผิดพลาดหรือความลึกของคิวได้ด้วย

# Create a health check based on a CloudWatch alarm
aws route53 create-health-check \
  --caller-reference hc-cw-2026 \
  --health-check-config '{
    "Type": "CLOUDWATCH_METRIC",
    "AlarmIdentifier": {
      "Region": "us-east-1",
      "Name": "HighErrorRate-Alarm"
    },
    "InsufficientDataHealthStatus": "Healthy"
  }'

การตรวจสอบสถานะของจุดปลายทางส่วนตัว

ตัวตรวจสอบสถานะของ Route 53 เป็นเซิร์ฟเวอร์ที่ AWS จัดการ ซึ่งอยู่นอก VPC ของคุณและเข้าถึงจุดปลายทางผ่านอินเทอร์เน็ตสาธารณะ ซับเน็ตส่วนตัวจึงไม่สามารถเข้าถึงได้ด้วยการตรวจสอบสถานะจุดปลายทางมาตรฐาน สำหรับจุดปลายทางส่วนตัว ให้ใช้แนวทางใดแนวทางหนึ่งต่อไปนี้:

  • เผยแพร่เมตริก CloudWatch แบบกำหนดเองจากภายใน VPC (เช่น สัญญาณสำเร็จ/ล้มเหลวจากแอปพลิเคชัน) สร้างสัญญาณเตือน แล้วใช้การตรวจสอบสถานะจากสัญญาณเตือน CloudWatch
  • ใช้สัญญาณเตือนแบบรวมของ CloudWatch ที่รวบรวมเมตริกของ ELB, RDS หรือแอปพลิเคชันภายใน VPC

รูปแบบนี้สำคัญอย่างยิ่งสำหรับฐานข้อมูลในซับเน็ตส่วนตัว ตัวกระจายโหลดภายใน และบริการแบ็กเอนด์

สถานะและการตรวจสอบการทำงานของการตรวจสอบสถานะ

คุณสามารถดูสถานะการตรวจสอบสถานะได้ในคอนโซล Route 53 ภายใต้ การตรวจสอบสถานะ หรือเรียกดูผ่าน API Route 53 จะเผยแพร่เมตริกการตรวจสอบสถานะไปยัง CloudWatch ในเนมสเปซ AWS/Route53 ซึ่งรวมถึง HealthCheckStatus (1 = พร้อมใช้งาน, 0 = ไม่พร้อมใช้งาน) และ HealthCheckPercentageHealthy (เปอร์เซ็นต์ของตัวตรวจสอบ Route 53 ที่รายงานว่าจุดปลายทางพร้อมใช้งาน)

ตั้งค่าสัญญาณเตือน CloudWatch สำหรับ HealthCheckStatus เพื่อรับการแจ้งเตือน SNS เมื่อจุดปลายทางไม่พร้อมใช้งาน ทำให้คุณมองเห็นเหตุการณ์ได้ก่อนที่ทีมเวรประจำจะสังเกตพบว่าการสลับระบบ DNS เกิดขึ้นแล้ว

# Get health check status
aws route53 get-health-check-status \
  --health-check-id a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  --query 'CheckerIpRanges'

การสลับระบบ DNS ด้วยการกำหนดเส้นทางแบบสลับระบบสำรอง

เมื่อ Route 53 ตรวจพบว่าการตรวจสอบสถานะของระเบียนหลักล้มเหลว ระบบจะนำระเบียนหลักออกจากการตอบกลับ DNS และส่งคืนที่อยู่ของระเบียนสำรอง การทำงานนี้เรียกว่า การสลับระบบ DNS การสลับจะเกิดขึ้นภายในช่วงเวลาประเมินผล (จำนวนครั้งที่ตัวตรวจสอบสถานะล้มเหลว × ช่วงเวลาระหว่างคำขอ) บวกกับ TTL ของระเบียน

ตัวอย่างเช่น ช่วงเวลาระหว่างคำขอ = 30 วินาที เกณฑ์ความล้มเหลว = 3 และ TTL = 60 วินาที เวลาสลับระบบที่นานที่สุดโดยประมาณคือ 3 × 30 + 60 = 150 วินาที การตั้งค่า TTL ให้ต่ำลง (เช่น 10 วินาที) และใช้ช่วงเวลาการตรวจสอบสถานะที่เร็วขึ้น (10 วินาที) อาจลดเวลาเหลือ 3 × 10 + 10 = 40 วินาที

การตรวจสอบสถานะสำหรับระเบียนแบบถ่วงน้ำหนักและตามเวลาแฝง

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

การทำเช่นนี้ทำให้นโยบายการกำหนดเส้นทางแบบถ่วงน้ำหนักและตามเวลาแฝงทนทานต่อความล้มเหลวของจุดปลายทาง โดยไม่ต้องสร้างระเบียนแบบสลับระบบสำรองโดยเฉพาะ นี่เป็นรูปแบบที่พบได้บ่อยใน SAA-C03: การกำหนดเส้นทางตามเวลาแฝงข้าม Region ร่วมกับการตรวจสอบสถานะ ช่วยให้ทั้งการเพิ่มประสิทธิภาพและการกู้คืนจากภัยพิบัติโดยอัตโนมัติ

แอ็กทีฟ-แอ็กทีฟหลาย Region พร้อมการตรวจสอบสถานะ

รูปแบบแอ็กทีฟ-แอ็กทีฟหลาย Region ที่ทนทานโดยใช้ Route 53:

  1. สร้าง ระเบียนตามเวลาแฝง สำหรับแต่ละ Region (us-east-1, eu-west-1, ap-southeast-1) โดยแต่ละรายการมีการตรวจสอบสถานะ
  2. เมื่อทุก Region พร้อมใช้งาน ผู้ใช้จะถูกส่งไปยัง Region ที่มีเวลาแฝงต่ำที่สุด
  3. หากการตรวจสอบสถานะของ Region ใดล้มเหลว (แอปพลิเคชันหยุดทำงานหรือไม่ตอบสนอง) Route 53 จะนำ Region นั้นออกจากการตอบกลับ DNS โดยอัตโนมัติ และกำหนดเส้นทางคำขอไปยัง Region ถัดไปที่พร้อมใช้งานและเหมาะสมที่สุด
  4. เมื่อ Region ที่ล้มเหลวกลับมาทำงาน การตรวจสอบสถานะจะผ่าน และ Route 53 จะนำ Region นั้นกลับเข้าสู่การหมุนเวียน

รูปแบบนี้ช่วยให้สลับระบบทั่วโลกโดยอัตโนมัติพร้อมเพิ่มประสิทธิภาพ โดยไม่ต้องดำเนินการด้วยตนเอง

ช่วง IP สำหรับตัวตรวจสอบสถานะของ Route 53

ตัวตรวจสอบสถานะของ Route 53 เริ่มต้นการเชื่อมต่อจากช่วง IP ที่เผยแพร่ไว้ในส่วน ROUTE53_HEALTHCHECKS ของไฟล์ JSON ช่วง IP ของ AWS หากจุดปลายทางของคุณได้รับการป้องกันด้วยไฟร์วอลล์หรือกลุ่มความปลอดภัยที่จำกัดการเข้าถึงขาเข้า คุณต้อง อนุญาตทราฟฟิกจากช่วง IP เหล่านี้ เพื่อให้การตรวจสอบสถานะสำเร็จ

อีกทางเลือกหนึ่งคือใช้จุดปลายทางที่เปิดให้เข้าถึงจากสาธารณะ ซึ่งทำหน้าที่ส่งต่อไปยังแบ็กเอนด์ส่วนตัว (เช่น ALB) สำหรับการตรวจสอบสถานะ กลุ่มความปลอดภัยของ ALB ต้องอนุญาตเฉพาะช่วง IP ของ Route 53 ส่วนกลุ่มความปลอดภัยของแบ็กเอนด์ต้องอนุญาตเฉพาะกลุ่มความปลอดภัยของ ALB ซึ่งช่วยรักษาแนวทางการป้องกันแบบหลายชั้น

# Fetch Route 53 health checker IP ranges
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | \
  python3 -c "
import json,sys
data=json.load(sys.stdin)
ranges=[p['ip_prefix'] for p in data['prefixes'] if p['service']=='ROUTE53_HEALTHCHECKS']
print('\n'.join(ranges))
"

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบสถานะ

แนวทางปฏิบัติที่ดีที่สุดสำหรับการตรวจสอบสถานะของ Route 53:

  • สร้างจุดปลายทาง /health โดยเฉพาะ เพื่อตรวจสอบการพึ่งพาที่สำคัญทั้งหมด (การเชื่อมต่อฐานข้อมูล การเข้าถึงแคช) และส่งคืน 200 เฉพาะเมื่อระบบทำงานได้อย่างสมบูรณ์
  • ใช้ ช่วงเวลาระหว่างคำขอ 10 วินาที สำหรับจุดปลายทางการใช้งานจริงที่สำคัญ เพื่อให้ตรวจพบความล้มเหลวได้เร็วขึ้น
  • ตรวจสอบ HealthCheckPercentageHealthy ใน CloudWatch—ความล้มเหลวเพียงบางส่วน (ตัวตรวจสอบ Route 53 ล้มเหลวเพียงบางตัว ไม่ใช่ทั้งหมด) อาจบ่งชี้ถึงปัญหาเครือข่ายระดับภูมิภาคหรือปัญหาที่เกิดเป็นครั้งคราว
  • สำหรับทรัพยากรส่วนตัวใน VPC ให้ใช้ การตรวจสอบสถานะจากสัญญาณเตือน CloudWatch โดยอิงจากเมตริกของแอปพลิเคชัน
  • ทดสอบการสลับระบบในสภาพแวดล้อมที่ไม่ใช่การใช้งานจริงก่อนพึ่งพาการทำงานนี้ในระบบจริง

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

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

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า การตรวจสอบสถานะของจุดปลายทางจะตรวจสอบ HTTP/HTTPS/TCP จากตัวตรวจสอบ Route 53 ภายนอก การตรวจสอบสถานะจากสัญญาณเตือน CloudWatch ทำให้ตรวจสอบทรัพยากรส่วนตัวใน VPC ได้ และ การตรวจสอบสถานะแบบคำนวณจะรวมสัญญาณหลายรายการ ด้วยตรรกะบูลีน ความเร็วในการสลับระบบ DNS ขึ้นอยู่กับช่วงเวลาการตรวจสอบสถานะ เกณฑ์ความล้มเหลว และ TTL ต่อไปเราจะศึกษาเกี่ยวกับดิสทริบิวชันและต้นทางของ CloudFront

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. โซนโฮสต์และประเภทระเบียน DNS
  2. นโยบายการกำหนดเส้นทาง: แบบง่าย แบบถ่วงน้ำหนัก และแบบหน่วงต่ำ
  3. การสลับระบบสำรองและการกำหนดเส้นทางตามภูมิศาสตร์
  4. การตรวจสอบสถานะและการสลับระบบ DNS
← กลับไปที่ Cloud & IT Cert Prep