Placement groups in AWS EC2 là cách để kiểm soát việc đặt các instance trong hạ tầng AWS. Trong bài này, chúng ta sẽ cùng nhau tìm hiểu về Placement Group, một khái niệm quan trọng giúp bạn kiểm soát cách đặt các EC2 instance trong hạ tầng AWS để tối ưu hiệu suất, tính sẵn sàng, hoặc khả năng mở rộng hệ thống.
Xem thêm:
Tổng quan về AWS Cloud | Region & AZ – Bài 1
Giới thiệu về IAM: Users, Groups, Policys – Bài 2
AWS Budget – Thiết lập ngân sách và cảnh báo chi phí – Bài 3
1. Placement Group là gì?
Khi bạn tạo các EC2 instance trên AWS, bạn không thể quyết định cụ thể nó được đặt ở đâu trong hạ tầng vật lý của AWS. Tuy nhiên, Placement Group là công cụ giúp bạn “gợi ý” cho AWS biết bạn muốn nhóm (hoặc phân tán) các instance như thế nào để đạt được mục tiêu cụ thể như:
- Hiệu suất cao (ví dụ như cần băng thông mạng lớn, độ trễ thấp).
- Tính sẵn sàng cao (đảm bảo nếu một phần cứng bị hỏng thì các instance khác vẫn sống).
- Mở rộng hệ thống (phân bổ workload hợp lý giữa các phân vùng phần cứng).
Có 3 loại placement group, mỗi loại phục vụ cho mục đích khác nhau:
1.1. Cluster Placement Group
Cluster Placement Group được thiết kế cho các ứng dụng yêu cầu độ trễ thấp và băng thông mạng cao. Khi bạn sử dụng strategy này, tất cả các instance EC2 sẽ được đặt trong cùng một AZ, cho phép giao tiếp với nhau với tốc độ cao lên đến 10 Gbps.

Ưu điểm: Băng thông cao và độ trễ thấp, phù hợp cho các ứng dụng đòi hỏi hiệu suất cao.
Nhược điểm: Rủi ro cao, nếu AZ gặp sự cố, tất cả các instance trong cluster sẽ bị lỗi cùng lúc.
Trường hợp sử dụng:
- Các ứng dụng big data yêu cầu thời gian xử lý nhanh.
- Các ứng dụng cần độ trễ thấp và băng thông cao, như phân tích dữ liệu thời gian thực và phần mềm mô phỏng.
1.2. Spread Placement Group
Spread Placement Group nhằm mục đích giảm thiểu rủi ro bằng cách phân phối các instance qua các phần cứng khác nhau. Cấu hình này giới hạn mỗi placement group chỉ có 7 instance EC2 cho mỗi AZ. Mục đích là tối đa hóa tính sẵn sàng và giảm thiểu khả năng các instance cùng gặp sự cố.

Ưu điểm:
- Độ sẵn sàng cao nhờ phân tách các instance trên nhiều phần cứng khác nhau.
- Giảm rủi ro các instance bị lỗi cùng lúc.
Nhược điểm: Giới hạn tối đa bảy instance cho mỗi AZ, do đó khả năng mở rộng bị hạn chế.
Trường hợp sử dụng:
- Các ứng dụng quan trọng mà việc giảm thiểu rủi ro của các instance là vô cùng quan trọng.
- Các ứng dụng yêu cầu tính sẵn sàng cao và sự cách ly giữa các instance.
1.3. Partition Placement Group
Partition Placement Group cung cấp sự cân bằng giữa việc phân tán và khả năng mở rộng. Các instance được phân tán qua các partition, mỗi partition tương ứng với một dàn phần cứng trong một AZ. AWS cho phép tối đa 7 partition cho mỗi AZ, và các partition có thể trải rộng trên nhiều AZ trong cùng một vùng.

Ưu điểm:
- Mỗi partition cách ly các instance khỏi sự cố ở các partition khác, giảm thiểu rủi ro.
- Có thể mở rộng lên đến hàng trăm instance EC2, lý tưởng cho các ứng dụng lớn.
Nhược điểm: Các ứng dụng cần hỗ trợ partition để tận dụng tối đa lợi ích.
Trường hợp sử dụng: Các ứng dụng big data như Hadoop, Cassandra hoặc Apache Kafka có khả năng quản lý dữ liệu và máy chủ trên nhiều partition.
2. Nên chọn Placement Group nào?
Tuỳ vào yêu cầu của ứng dụng, bạn nên chọn loại phù hợp:
| Loại Placement Group | Khi nào dùng? | Ưu điểm chính |
|---|---|---|
| Cluster | Cần hiệu suất cao, độ trễ thấp | Băng thông cao giữa các instance |
| Spread | Cần độ sẵn sàng cao, ít instance | Tăng khả năng chịu lỗi |
| Partition | Cần mở rộng lớn và cách ly lỗi | Quản lý theo partition độc lập |
3. Một số lưu ý khi dùng Placement Group
- Placement group cần được tạo trước khi bạn khởi tạo instance (hoặc tạo cùng lúc).
- Không thể thay đổi placement group của một instance sau khi nó được tạo – muốn đổi phải stop rồi recreate.
- Nếu instance bị launch thất bại trong cluster group, có thể do tài nguyên phần cứng không đủ – lúc này bạn nên thử lại hoặc chọn loại instance khác.
4. Mẹo nhớ nhanh
Cluster Placement Group: Bạn có 5 bạn học sinh cùng làm bài tập nhóm, nên bạn xếp cả 5 bạn ngồi cùng một bàn, sát nhau nhất có thể. Việc trao đổi rất nhanh, chuyền giấy tờ rất tiện. Nhưng nếu cái bàn đó bị gãy hay khu vực đó mất điện → cả nhóm không thể làm việc.
Spread Placement Group: Bạn có 5 bạn học sinh rất giỏi, không muốn ai bị ảnh hưởng nếu có sự cố, nên xếp mỗi bạn vào một phòng học khác nhau. Nếu một phòng bị hỏng điện → chỉ một người bị ảnh hưởng, còn các bạn khác vẫn tiếp tục học bình thường.
Partition Placement Group: Bạn chia thành nhiều nhóm (partition), mỗi nhóm ngồi ở một phòng học riêng biệt. Nếu một phòng gặp sự cố (ví dụ hỏng máy chiếu) thì chỉ một nhóm bị ảnh hưởng, các nhóm khác vẫn tiếp tục.
Placement groups là công cụ trong AWS EC2 giúp tối ưu hóa vị trí các instance dựa trên nhu cầu về hiệu suất, tính sẵn sàng và khả năng mở rộng. Cảm ơn bạn đã tham khảo AWS Certified Solutions Architect Associate trên ttnguyen.net
Bài viết cùng chủ đề:
Amazon EC2 là gì? Các loại EC2 Instance phổ biến – Bài 4
Hướng dẫn tạo EC2 Instance chạy Amazon Linux trên AWS – Bài 5