High Availability และ Fault Tolerance
ออกแบบให้ระบบไม่ล่มแม้บางส่วนพัง
High Availability (HA) เหมือนมีบันไดหนีไฟสำรองเมื่อลิฟต์เสีย (ยังเดินต่อได้ แต่อาจต้องเดินลงบันไดช้าลงนิดนึง) · Fault Tolerance เหมือนเครื่องบินที่มีหลายเครื่องยนต์ ถ้าเครื่องดับไปตัวหนึ่งก็ยังบินต่อได้เนียนๆ ผู้โดยสารไม่รู้ตัวเลย
พื้นฐานที่ควรรู้: กฎเหล็กของระบบคลาวด์คือ "จงออกแบบโดยคิดเสมอว่าทุกอย่างพังได้ (Design for Failure)" เราต้องเตรียมความพร้อมเพื่อไม่ให้ระบบล่มเมื่อเซิร์ฟเวอร์หรือแม้แต่ศูนย์ข้อมูลของ AWS ดับไป
- High Availability (HA - ความพร้อมใช้งานสูง) — ออกแบบให้ช่วงเวลาที่ระบบใช้งานไม่ได้ (Downtime) น้อยที่สุด เช่น กระจายเครื่องข้ามหลาย Availability Zones (AZ), ใช้ Auto Scaling ชดเชยเครื่องที่พัง, ใช้ RDS Multi-AZ
- Fault Tolerance (ความทนทานต่อความล้มเหลว) — ระบบสามารถทนทานต่ออุปกรณ์พังได้ โดยที่ผู้ใช้งานแทบไม่ได้รับผลกระทบเลย (มักต้องเช่าทรัพยากรเผื่อความจุไว้)
- หลักสำคัญที่สุด: หลีกเลี่ยง Single Point of Failure (จุดล้มเหลวจุดเดียว) — ต้องมีอุปกรณ์/ทรัพยากรสำรองอย่างน้อย 2 ชิ้น ในแต่ละชั้น (Tier) และกระจายอยู่ข้าม AZ เสมอ
AutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
MinSize: '2'
MaxSize: '4'
VPCZoneIdentifier:
- subnet-11111111 # AZ-a
- subnet-22222222 # AZ-b
LaunchConfigurationName: !Ref MyLaunchConfigสรุป Key Takeaways
- HA = downtime น้อย (multi-AZ, ASG, Multi-AZ DB)
- Fault Tolerance = ทนล้มเหลวโดยไม่กระทบผู้ใช้
- เลี่ยง single point of failure: อย่างน้อย 2 ของทุกอย่าง ข้าม AZ
คำถามที่พบบ่อย
High Availability กับ Fault Tolerance ต่างกันยังไง
HA = ล่มได้แต่ฟื้นเร็ว/สะดุดน้อย (Multi-AZ failover มี downtime สั้นๆ) ส่วน FT = พังแล้วผู้ใช้ "ไม่รู้สึกเลย" (ระบบสำรองรับต่อทันที เช่น active-active) — FT แพงกว่ามาก ข้อสอบวัดว่าโจทย์ต้องการระดับไหนจริงๆ อย่าเลือก FT ถ้าโจทย์แค่ขอ HA
ออกแบบให้ stateless ช่วยเรื่อง HA ยังไง
เครื่องไหนตายก็แทนได้ทันทีเพราะไม่มีข้อมูลติดเครื่อง — ย้าย session ไป ElastiCache/DynamoDB, ไฟล์ไป S3/EFS แล้ว ASG replace เครื่องได้อิสระ — โจทย์ "ผู้ใช้หลุด session เมื่อเครื่องถูกแทนที่" = ย้าย session ออกจากเครื่อง ไม่ใช่เปิด sticky session (ซึ่งเป็นตัวเลือกหลอก)
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

