EC2 Placement Groups

3 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

New words

  • placement/ˈpleɪs.mənt/: một vị trí hoặc công việc tạm thời trong một tổ chức

EC2 Placement Groups

  • Đôi khi bạn muốn kiểm soát chiến lược phân bố của các EC2 instance.
  • Chiến lược này có thể được định nghĩa thông qua placement group.
  • Khi bạn tạo một placement group, bạn sẽ chỉ định một trong các chiến lược sau:

Cluster

  • Gom các instance vào một Cluster có độ trễ thấp, nằm trong cùng một Availability Zone
✅ Ưu điểm:
  • Mạng rất mạnh (băng thông 10 Gbps giữa các instance)
❌ Nhược điểm:
  • Nếu rack gặp sự cố, tất cả các instance sẽ bị lỗi cùng lúc
🧩 Trường hợp sử dụng:
  • Công việc Big Data cần xử lý nhanh
  • Ứng dụng yêu cầu độ trễ cực thấp và băng thông cao

Spead

  • Phân tán các instance trên các phần cứng vật lý khác nhau để giảm thiểu rủi ro sự cố ảnh hưởng đồng thời đến nhiều instance.
  • Mỗi placement group chỉ được tối đa 7 instance trên mỗi AZ.
✅ Ưu điểm:
  • Có thể trải dài qua nhiều Availability Zones (AZ)
  • Giảm rủi ro bị lỗi đồng thời
  • Các EC2 instance được đặt trên phần cứng vật lý khác nhau
❌ Nhược điểm:
  • Giới hạn tối đa 7 instance trên mỗi AZ cho mỗi placement group
🧩 Trường hợp sử dụng:
  • Ứng dụng cần tối đa hóa tính sẵn sàng cao
  • Ứng dụng quan trọng (Critical Applications) mà mỗi instance cần được cách ly để không bị ảnh hưởng lẫn nhau khi xảy ra lỗi

Partition

  • Phân tán các instance qua nhiều phân vùng (partition), mỗi phân vùng sử dụng một nhóm rack phần cứng riêng biệt.
  • Có thể hiểu rack là tập hợp nhiều hardware
  • Tối đa 7 partition cho mỗi Availability Zone (AZ)
  • Có thể trải dài qua nhiều AZ trong cùng một khu vực (region)
  • Hỗ trợ lên đến hàng trăm EC2 instances
  • Các instance trong cùng một partition không chia sẻ cùng rack với các instance ở partition khác
  • Một partition bị lỗi có thể ảnh hưởng đến nhiều EC2, nhưng sẽ không ảnh hưởng đến các partition khác
  • Các EC2 instance có thể truy cập thông tin partition dưới dạng metadata

🧩 Trường hợp sử dụng:

  • HDFS, HBase, Cassandra, Kafka

Phân biệt Spead và Partition

Đã tạo hình ảnh
Tóm tắt dễ nhớ:
  • Spread = mỗi EC2 đứng riêng lẻ, tránh rủi ro tập trung.
  • Partition = nhóm EC2 theo cụm riêng biệt để cách ly lỗi theo cụm.
Đặc điểmSpreadPartition
🔐 Mức độ cách ly lỗiRất cao – từng EC2 trên phần cứng riêngCao – cách ly theo nhóm (partition)
📈 Quy mô hỗ trợNhỏ – tối đa 7 EC2/AZLớn – lên đến hàng trăm EC2
🧠 Kiến trúc cụm (cluster aware)KhôngCó – EC2 biết nó nằm trong partition nào
💼 Dùng cho loại ứng dụng nào?App quan trọng, độc lập, cần độ sẵn sàng tối đaApp phân tán như Kafka, Cassandra, HDFS…
⚙️ Quản lý cụm dữ liệu lớnKhông phù hợpRất phù hợp
🔥 Ví dụ thực tế:

Nếu bạn đang chạy 7 web server cho một hệ thống live-critical, bạn dùng Spread.

Nếu bạn chạy Kafka với 100 EC2 node, bạn dùng Partition để group chúng thành 3–5 partition.

👉 Kết luận nhanh:

| Spread cách ly lỗi tốt hơn, nhưng không mở rộng được tốt. | | Partition cách ly theo nhóm, và thiết kế để scale, đặc biệt cho cluster-based workload. |

Bạn thấy bài này thế nào?