AWS Global Infrastructure
AWS แบ่ง Infrastructure เป็น Region, Availability Zone และ Edge Location เพื่อช่วยให้ระบบวางใกล้ผู้ใช้, กระจายความเสี่ยง และออกแบบ Availability ได้ดีขึ้น
Region
Region คือพื้นที่ทางภูมิศาสตร์ที่ AWS ให้บริการ เช่น Singapore, Tokyo หรือ N. Virginia แต่ละ Region แยกจากกัน เพื่อช่วยเรื่อง Data residency, Latency, Availability และ Service availability
เวลาเลือก Region ให้ดูอย่างน้อย 4 เรื่อง: ผู้ใช้อยู่ที่ไหน, Service ที่ต้องใช้เปิดใน Region นั้นหรือไม่, ข้อกำหนดด้านกฎหมาย/ข้อมูล, และค่าใช้จ่ายของ Resource/Data transfer
Availability Zone
Availability Zone หรือ AZ คือกลุ่ม Data center หนึ่งชุดภายใน Region ที่มี power, networking และ connectivity แยกจาก AZ อื่น แต่ยังเชื่อมกันด้วย network latency ต่ำพอสำหรับการทำระบบ High Availability
การกระจาย Application อย่างน้อย 2 AZ ช่วยลดความเสี่ยงเมื่อ AZ หนึ่งมีปัญหา แต่ไม่ได้แปลว่าระบบ HA อัตโนมัติ คุณยังต้องออกแบบ Load Balancer, Auto Scaling, Database replication และ Health check ให้ถูกต้อง
Edge Location
Edge Location คือจุดที่อยู่ใกล้ผู้ใช้มากกว่า Region หลัก มักใช้กับบริการอย่าง Amazon CloudFront และ Route 53 เพื่อช่วยลด Latency และกระจาย Content
Real-world use case
ถ้า Application มีผู้ใช้หลักในไทย อาจเริ่มจาก Region ใกล้เช่น Singapore หรือ Bangkok Region เมื่อพร้อมใช้งานตามข้อกำหนดขององค์กร จากนั้นวาง Public Subnet และ Private Subnet กระจาย 2 AZ, วาง ALB ใน Public Subnet และวาง Application กับ Database ใน Private Subnet เพื่อแยก Network boundary
Common mistakes
- เลือก Region จากความคุ้นเคย แต่ไม่ได้ดู Latency, Service availability หรือ Compliance
- สร้างทุก Resource ใน AZ เดียว แล้วคิดว่าการอยู่บน AWS เท่ากับ HA แล้ว
- ใช้หลาย Region เร็วเกินไปจน Operation, Cost และ Data consistency ซับซ้อนเกินจำเป็น
Review questions
- เลือก Region โดยอธิบายเหตุผลด้าน latency, service และ compliance ได้
- อธิบายได้ว่า AZ ช่วยลด failure domain อย่างไร
- รู้ว่า Edge Location ใช้กับ DNS/CDN ไม่ใช่ที่วาง database หลัก
- Region กับ Availability Zone ต่างกันอย่างไร?
- ทำไม Production workload ควรกระจายมากกว่าหนึ่ง AZ?
- Edge Location เหมาะกับปัญหาแบบใด?