Skip to content

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:

TypeMô tả
Public AMIAMI do AWS hoặc cộng đồng cung cấp
Private AMIAMI do bạn tạo và chỉ dùng trong tài khoản của bạn
Marketplace AMIAMI 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.html

Hibernate 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 InstanceMô tả
Nitro-basedSử dụng Nitro System, cung cấp hiệu suất cao và bảo mật tốt hơn
Non-NitroSử dụng kiến trúc truyền thống, không hỗ trợ Nitro System