EC2 - AMI, User Data, Hibernate & Nitro
AMI là gì
Amazon Machine Image (AMI) là một mẫu máy ảo được sử dụng để khởi tạo các EC2 instance. Nó bao gồm:
- Hệ điều hành (OS): Phiên bản OS bạn muốn chạy (Linux, Windows, v.v.)
- Software: Các ứng dụng và cấu hình đã được cài đặt sẵn
- Configuration: Thiết lập mạng, bảo mật, và các thông số khác
AMI cho phép bạn nhanh chóng tạo ra các instance mới với cấu hình giống hệt nhau, giúp tiết kiệm thời gian và công sức trong việc triển khai.
Các loại AMI:
| Type | Mô tả |
|---|---|
| Public AMI | AMI do AWS hoặc cộng đồng cung cấp |
| Private AMI | AMI do bạn tạo và chỉ dùng trong tài khoản của bạn |
| Marketplace AMI | AMI có bản quyền từ nhà cung cấp bên thứ ba |
User Data là gì
User Data là một tính năng cho phép bạn chạy các lệnh hoặc script tự động khi EC2 instance khởi động lần đầu tiên. Bạn có thể sử dụng User Data để:
- Cài đặt phần mềm
- Cấu hình hệ thống
- Thực hiện các tác vụ khởi tạo khác User Data có thể được cung cấp dưới dạng script shell (bash) hoặc cloud-init, và nó sẽ được thực thi khi instance khởi động.
# Ví dụ về User Data script
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "Hello from EC2!" > /var/www/html/index.htmlHibernate EC2
Hibernate là một tính năng cho phép bạn lưu trạng thái của EC2 instance vào EBS volume và tạm dừng hoạt động của nó. Khi bạn khởi động lại instance, nó sẽ tiếp tục từ trạng thái trước đó, bao gồm cả các tiến trình đang chạy và dữ liệu trong bộ nhớ.
Lợi ích của Hibernate
- Tiết kiệm chi phí: Bạn chỉ phải trả tiền cho EBS volume và không phải trả tiền cho instance khi nó đang ở trạng thái Hibernate.
- Tiếp tục công việc: Giữ nguyên trạng thái của ứng dụng, giúp bạn không mất thời gian khởi động lại và cấu hình lại.
- Tiết kiệm thời gian: Không cần phải khởi động lại và cấu hình lại ứng dụng, giúp tiết kiệm thời gian khởi động lại.
Amazon Nitro System
Nitro System là một kiến trúc phần cứng và phần mềm mới của AWS, được thiết kế để cung cấp hiệu suất cao hơn và bảo mật tốt hơn cho EC2 instance. Nitro sử dụng phần cứng chuyên dụng để xử lý các tác vụ như lưu trữ, mạng và bảo mật, giúp giảm tải cho CPU của instance.
Lợi ích của Nitro System
- Hiệu suất cao: Nitro cung cấp hiệu suất I/O cao hơn so với các instance truyền thống.
- Bảo mật tốt hơn: Nitro tách biệt các tác vụ bảo mật và quản lý khỏi hệ điều hành, giúp giảm thiểu rủi ro bảo mật.
- Tính linh hoạt: Nitro hỗ trợ nhiều loại instance với các cấu hình khác nhau, từ các instance nhỏ đến các instance hiệu suất cao.
Các loại Nitro Instance
| Loại Instance | Mô tả |
|---|---|
| Nitro-based | Sử dụng Nitro System, cung cấp hiệu suất cao và bảo mật tốt hơn |
| Non-Nitro | Sử dụng kiến trúc truyền thống, không hỗ trợ Nitro System |