Khi làm việc với EC2, bạn có thể dừng (stop) hoặc hủy (terminate) một instance. Khi stop instance, dữ liệu trên ổ EBS sẽ được giữ nguyên cho đến khi bạn khởi động lại. Nếu bạn terminate instance và đã cấu hình để ổ root volume bị xóa cùng với instance, ổ này sẽ bị xóa.
Khi khởi động lại instance, hệ điều hành sẽ khởi động và các script trong EC2 User Data sẽ được thực thi, sau đó các ứng dụng của bạn sẽ bắt đầu hoạt động. Quá trình này có thể mất thời gian.
Vậy làm sao để giữ nguyên trạng thái RAM của Instance? Sau đây, hãy cùng mình tìm hiểu EC2 Hibernate – một tính năng giúp tăng tốc khởi động Instamce.
Xem thêm:
EC2 Placement Groups trong AWS
1. EC2 Hibernate AWS là gì?
Tính năng EC2 Hibernate giúp giữ nguyên trạng thái bộ nhớ RAM của instance khi stopped. Điều này có nghĩa là khi bạn restart lại máy, thời gian khởi động sẽ nhanh hơn vì hệ điều hành không phải khởi động lại từ đầu; thay vào đó, nó chỉ được “đóng băng” và duy trì trạng thái ban đầu.
Dữ liệu trong RAM sẽ được ghi vào một file trên ổ EBS root. Để sử dụng tính năng này, yêu cầu ổ EBS root phải được mã hóa và có đủ dung lượng để chứa toàn bộ dữ liệu RAM.
EC2 Hibernate được dùng trong trường hợp nào:
Hibernate phù hợp khi bạn muốn duy trì các tiến trình lâu dài mà không muốn dừng. Bạn cũng có thể sử dụng khi bạn muốn tiết kiệm trạng thái RAM, khởi động nhanh mà không phải khởi động lại các dịch vụ tốn thời gian. Nó giúp giữ nguyên trạng thái các dịch vụ đang chạy ngay cả khi bạn hibernate instance.
2. Cách EC2 Hibernate hoạt động
- Đầu tiên, instance đang chạy và có dữ liệu trong RAM.
- Khi quá trình hibernate bắt đầu, instance sẽ chuyển sang trạng thái dừng và dữ liệu RAM sẽ được lưu vào ổ EBS.
- Sau đó, instance sẽ tắt và dữ liệu RAM biến mất (vì khi instance dừng, RAM sẽ bị giải phóng), nhưng ổ EBS vẫn giữ lại file chứa dữ liệu RAM.
- Khi instance khởi động lại, dữ liệu RAM sẽ được tải lại từ ổ EBS vào bộ nhớ của instance.
3. Một số lưu ý
- Hỗ trợ nhiều dòng instance khác nhau: C3, C4, C5, I3, M3, M4, R3, R4, T2, T3, …
- Dung lượng RAM của instance phải nhỏ hơn 150 GB.
- Không hỗ trợ cho các instance loại bare metal.
- Hỗ trợ trên nhiều hệ điều hành như: Amazon Linux 2, Linux AMI, Ubuntu, RHEL, CentOS & Windows…
- Yêu cầu ổ EBS root phải được mã hóa và có đủ dung lượng để chứa dữ liệu RAM.
- Có thể áp dụng cho các loại instance như on-demand, reserved, và spot.
- Thời gian hibernate tối đa hiện tại là 60 ngày.
Hy vọng bài viết đã giúp bạn hiểu rõ hơn về tính năng EC2 Hibernate. Cảm ơn bạn đã tham khảo AWS Certified Solutions Architect Associate trên ttnguyen.net.
Bài viết cùng chủ đề:
Cách lựa chọn, tối ưu chi phí sử dụng EC2 Instances