Trong bài viết này, chúng ta sẽ tìm hiểu về Amazon EC2 là gì: các tính năng chính, các loại instance phổ biến và cách sử dụng EC2 hiệu quả nhất.
Xem thêm:
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. Amazon EC2 là gì?
Amazon EC2 (Elastic Compute Cloud) là dịch vụ cho phép bạn thuê máy chủ ảo (instance) để chạy ứng dụng của mình. Thay vì phải mua máy chủ vật lý, bạn chỉ cần vài dòng cấu hình và vài cú nhấp chuột là có thể tạo ra một máy chủ ảo chạy ngay trên nền tảng cloud của AWS.
EC2 thuộc loại dịch vụ IaaS (Infrastructure as a Service), tức là bạn thuê hạ tầng từ Amazon và tự cấu hình theo nhu cầu.
2. Vì sao nên dùng EC2
Khi dùng EC2, bạn sẽ được:
- Tự chọn cấu hình máy: CPU, RAM, dung lượng, mạng…
- Thanh toán theo nhu cầu thực tế (pay-as-you-go): Giống như trả tiền điện – dùng bao nhiêu trả bấy nhiêu.
- Tự động mở rộng khi cần: Tăng thêm máy khi số lượng người dùng tăng.
- Dễ tích hợp DevOps: Hỗ trợ script khởi tạo tự động.
- Quản lý bảo mật rõ ràng: Dùng Security Group để kiểm soát truy cập.
3. Các tuỳ chọn khi tạo EC2 Instances
Khi tạo một EC2 instance, bạn có thể chọn:
- Hệ điều hành: Windows, Linux, hoặc MacOS.
- Cấu hình máy: Số vCPU, RAM.
- Lưu trữ: Chọn EBS hoặc ổ đĩa cục bộ.
- Mạng: Có IP public hay không.
- Security Group: Kiểm soát ai được vào máy.
- EC2 User Data: Script tự chạy khi máy khởi động lần đầu.
Tự động hóa với EC2 User Data:
Bootstrapping là quá trình chạy các lệnh khi máy chủ khởi động lần đầu. Bạn có thể sử dụng EC2 User Data để tự động hóa các công việc như cài đặt cập nhật, phần mềm, hoặc tải các file từ Internet.
EC2 User Data chạy với quyền root, nên các lệnh sẽ có quyền truy cập cao nhất. Điều này cho phép bạn thực hiện bất kỳ tác vụ nào mà bạn cần tự động hóa khi khởi động instance.
Lưu ý rằng script này chỉ chạy một lần khi instance khởi động.
4. Phân loại EC2 Instances
AWS cung cấp rất nhiều loại EC2 instance phù hợp với nhiều nhu cầu khác nhau (https://aws.amazon.com/ec2/instance-types/):
- T2 Micro: Đây là loại cơ bản, có 1 vCPU và 1GB RAM. Nó thuộc AWS Free Tier (sử dụng 750 giờ miễn phí mỗi tháng).
- T2.Xlarge: Nâng cấp từ T2 Micro, cung cấp 4 vCPU và 16GB RAM, với hiệu suất mạng ở mức trung bình.
- C5d.4xlarge: Cung cấp 16 vCPU, 32GB RAM và ổ cứng NVMe SSD dung lượng 400GB, mạng có băng thông lên tới 10Gbps.
- R5.16xlarge hoặc M5.8xlarge: Các loại này cung cấp nhiều tùy chọn khác nhau về CPU, RAM, và lưu trữ, phù hợp với các ứng dụng yêu cầu tài nguyên lớn.

Trên AWS, hiện có 7 loại EC2 instance chính, bao gồm: General Purpose, Compute Optimized, Memory Optimized, và nhiều loại khác. AWS sử dụng quy ước đặt tên để phân loại các instance. Ví dụ, loại M5.2xlarge có nghĩa là gì?
- M: Là Instance Class, đại diện cho loại instance – trong trường hợp này là loại General Purpose.
- 5: Là thế hệ của instance. AWS liên tục cải tiến phần cứng và phát hành các thế hệ mới hơn, ví dụ từ M5 sẽ nâng cấp lên M6 nếu có phần cứng mới.
- 2xlarge: Kích thước của instance trong lớp đó, từ nhỏ nhất lên đến lớn nhất như xlarge, 2xlarge, 4xlarge, và tiếp tục.
Kích thước càng lớn thì lượng CPU, RAM, và hiệu suất mạng càng cao.
4.1. General Purpose (Loại phổ thông – M5, T3)
Loại này có sự cân bằng giữa CPU, RAM, và Network card, thích hợp cho nhiều loại công việc như web servers hoặc code repositories.
4.2. Compute Optimized (C5, C6)
Dành cho các công việc yêu cầu xử lý tính toán cao, như:
- Xử lý batch data
- Media transcoding
- Web server hiệu suất cao
- High Performance Computing (HPC)
- Machine learning và gaming servers
Những instance tối ưu hóa cho tính toán thường bắt đầu với chữ C (ví dụ: C5, C6).
4.3. Memory Optimized (R5, X1)
Được thiết kế để xử lý các tập dữ liệu lớn trong RAM, phù hợp với:
- Relational databases và non-relational databases chạy trong bộ nhớ
- Hệ thống cache quy mô lớn
- Các ứng dụng Business Intelligence (BI) và xử lý dữ liệu lớn trong thời gian thực
Các instance tối ưu hóa bộ nhớ thường có ký hiệu R, ví dụ như R5, đại diện cho bộ nhớ RAM. Ngoài ra còn có các loại như X1 và Z1.
4.4. Storage Optimized (I3, D2, H1)
Loại này tối ưu cho các công việc yêu cầu truy cập dữ liệu cường độ cao trên bộ nhớ cục bộ, ví dụ:
- Hệ thống xử lý giao dịch trực tuyến (OLTP)
- Relational và NoSQL databases
- Ứng dụng data warehousing và hệ thống file phân tán
Những instance lưu trữ tối ưu thường bắt đầu với các ký tự I, G, hoặc H.
5. Các lựa chọn thanh toán, tối ưu chi phí sử dụng
5.1. EC2 On-Demand Instances
On-Demand là lựa chọn linh hoạt nhất, cho phép bạn trả tiền theo mức sử dụng mà không cần cam kết dài hạn.
Tính năng chính:
- Thanh toán theo mức sử dụng: Tính phí theo giây (Linux/Windows) hoặc theo giờ (hệ điều hành khác).
- Không có cam kết dài hạn: Phù hợp với các khối lượng công việc ngắn hạn, không thể đoán trước.
- Chi phí cao nhất: Đắt nhất trong tất cả các tùy chọn nhưng mang lại sự linh hoạt tối đa.
Trường hợp sử dụng tốt nhất: Môi trường thử nghiệm và phát triển ngắn hạn.
5.2. EC2 Reserved Instances (RIs)
EC2 Reserved Instances mang lại mức giảm giá lớn so với On-Demand khi bạn cam kết sử dụng lâu dài.
Tính năng chính:
- Tiết kiệm đến 72% so với On-Demand.
- Cam kết sử dụng: 1 năm hoặc 3 năm.
- Lựa chọn thanh toán: No Upfront (trả trước), Partial Upfront (trả một phần), All Upfront (trả toàn bộ)
Loại Reserved Instances:
- Standard Reserved Instances – Cố định thông số (loại instance, khu vực, hệ điều hành, tenancy).
- Convertible Reserved Instances – Linh hoạt thay đổi loại instance, hệ điều hành, nhưng giảm giá ít hơn (tối đa 66%).
Trường hợp sử dụng tốt nhất:
- Môi trường ứng dụng dài hạn, hoạt động liên tục, ổn định.
- Doanh nghiệp muốn tối ưu chi phí sử dụng AWS.
5.3. EC2 Savings Plans
Savings Plans cung cấp mức giảm giá tương tự như EC2 Reserved Instances nhưng linh hoạt hơn.
Tính năng chính:
- Tiết kiệm đến 70%, tương tự Reserved Instances.
- Mức chi phí cố định (10$/h trong 1-3 năm).
- Linh hoạt hơn RIs: Không cần cam kết vào một loại instance cụ thể.
Trường hợp sử dụng tốt nhất: Doanh nghiệp dự đoán được trước chi phí nhưng cần linh hoạt về loại instance.
5.4. EC2 Spot Instances
Spot Instances có mức giảm giá cao nhất (tới 90% so với On-demand) nhưng có nguy cơ bị AWS thu hồi bất cứ lúc nào.
Tính năng chính:
- Giá rẻ nhất: Phù hợp với công việc cần tối ưu chi phí.
- Có thể bị thu hồi bất cứ lúc nào: Khi AWS cần tài nguyên.
Trường hợp sử dụng tốt nhất:
- Xử lý hàng loạt, phân tích dữ liệu, đào tạo máy học.
- Ứng dụng có thể chịu gián đoạn.
- Công việc có thời gian bắt đầu và kết thúc linh hoạt.
5.5. EC2 Dedicated Hosts
EC2 Dedicated Host cung cấp một máy chủ vật lý hoàn toàn dành riêng, giúp kiểm soát hoàn toàn việc phân bổ instances.
Tính năng chính:
- Không chia sẻ phần cứng với khách hàng khác.
- Đáp ứng yêu cầu tuân thủ pháp lý.
- Chi phí cao nhất: Có thể trả theo On-Demand hoặc Reserved (1 – 3 năm)
Trường hợp sử dụng tốt nhất:
- Doanh nghiệp có yêu cầu tuân thủ bảo mật cao.
- Phần mềm có bản quyền yêu cầu cài đặt trên máy chủ riêng.
5.6. EC2 Dedicated Instances
EC2 Dedicated Instances chạy trên phần cứng dành riêng cho một tài khoản AWS nhưng không cung cấp quyền kiểm soát toàn bộ máy chủ.
Tính năng chính:
- Không chia sẻ phần cứng với tài khoản AWS khác.
- Ít quyền kiểm soát hơn so với Dedicated Hosts.
- Tính phí theo On-Demand.
Trường hợp sử dụng tốt nhất:
- Ứng dụng yêu cầu phần cứng riêng nhưng không cần kiểm soát máy chủ vật lý.
- Công ty có nhu cầu bảo mật cao.
5.7. EC2 Capacity Reservations
Capacity Reservations cho phép bạn đặt trước instances On-Demand trong một AZ cụ thể mà không có cam kết dài hạn.
Tính năng chính:
- Không có giảm giá: Tính phí theo On-Demand.
- Đảm bảo dung lượng: Luôn có instance khi cần.
- Có thể hủy đặt chỗ bất cứ lúc nào.
Trường hợp sử dụng tốt nhất:
- Ứng dụng cần đảm bảo có sẵn tài nguyên.
- Công việc quan trọng nhưng ngắn hạn.
5.8. So sánh các lựa chọn mua EC2
| Loại Instance | Giảm Giá (%) | Cam Kết | Linh Hoạt | Ứng Dụng Tốt Nhất |
|---|---|---|---|---|
| On-Demand | 0% | Không | Cao | Công việc ngắn hạn, không đoán trước |
| Reserved Instances | Tới 72% | 1-3 năm | Thấp (ngoại trừ Convertible RIs) | Khối lượng công việc dài hạn |
| Savings Plans | Tới 70% | 1-3 năm | Trung bình | Cam kết chi tiêu nhưng cần linh hoạt |
| Spot Instances | Tới 90% | Không | Thấp (có thể bị thu hồi) | Công việc không quan trọng, đào tạo ML |
| Dedicated Hosts | Tới 70% | 1-3 năm | Cao | Yêu cầu tuân thủ pháp lý, bản quyền phần mềm |
| Dedicated Instances | 0% | Không | Trung bình | Bảo mật cao, không cần kiểm soát toàn bộ máy chủ |
| Capacity Reservations | 0% | Không | Cao | Đảm bảo tài nguyên trong AZ |
6. EC2 Spot Instance: Cơ chế hoạt động và chi phí
6.1. EC2 Spot Instance là gì?
EC2 Spot Instance là các máy ảo trên AWS được cung cấp từ nguồn tài nguyên dư thừa của Amazon với giá thấp hơn On-Demand Instance. Tuy nhiên, AWS có thể thu hồi Spot Instance bất cứ lúc nào.
Ưu điểm:
- Tiết kiệm chi phí (giảm đến 90% so với On-Demand).
- Mở rộng quy mô linh hoạt mà không tốn quá nhiều chi phí.
- Hỗ trợ nhiều loại khối lượng công việc khác nhau, từ phân tích dữ liệu đến CI/CD pipelines.
Nhược điểm:
- Có thể bị AWS thu hồi.
- Không phù hợp với ứng dụng quan trọng, như cơ sở dữ liệu hoặc hệ thống yêu cầu tính sẵn sàng cao.
Khi nào nên sử dụng Spot Instance:
- Xử lý hàng loạt (Batch Processing) – Phân tích dữ liệu, AI/ML training.
- CI/CD Pipelines – Chạy thử nghiệm tự động, xây dựng ứng dụng.
- Dịch vụ web không trạng thái (Stateless Applications) – Backend có thể mở rộng.
- Xử lý video (Rendering & Transcoding) – Chỉnh sửa, mã hóa video.
Không phù hợp với:
- Cơ sở dữ liệu (Databases) – Dữ liệu dễ mất khi bị thu hồi.
- Dịch vụ quan trọng (Critical Applications) – Không thể bị gián đoạn.
6.2. Chi phí Spot Instance
AWS sử dụng mô hình định giá động dựa trên cung và cầu. Giá Spot Instance thay đổi liên tục, do đó bạn phải đặt một mức giá tối đa (Max Price) mà bạn sẵn sàng trả.
Nguyên tắc hoạt động:
- Nếu giá Spot thấp hơn giá tối đa của bạn, phiên bản EC2 tiếp tục chạy.
- Nếu giá Spot cao hơn giá tối đa, phiên bản EC2 bị thu hồi.
Các yếu tố ảnh hưởng đến giá Spot:
- Khả dụng của tài nguyên AWS – Nếu còn dư nhiều tài nguyên, giá sẽ rẻ.
- Loại phiên bản EC2 – Các phiên bản phổ biến có thể có giá cao hơn.
- Khu vực và vùng sẵn sàng AWS (AZ) – Mỗi khu vực có mức giá khác nhau.
6.3. Quản lý việc bị thu hồi của Spot Instance
Vì Spot Instance có thể bị thu hồi, AWS cung cấp một thời gian gia hạn 2 phút để bạn chuẩn bị. Trong thời gian này, bạn có hai lựa chọn:
Dừng (Stop) Instance:
- EC2 sẽ tắt nhưng giữ lại dữ liệu trên EBS (Elastic Block Store).
- Khi giá Spot giảm xuống mức cho phép, bạn có thể khởi động lại phiên bản.
Xóa (Terminate) Instance:
- Phiên bản EC2 bị xóa hoàn toàn.
- Phù hợp với khối lượng công việc không yêu cầu trạng thái (stateless workloads).
6.4. Quy trình tạo và xóa AWS EC2 Spot Instances
Quy trình xử lý request Spot Instance:
1. Tạo yêu cầu Spot (Create request) với các thông tin:
- Giá tối đa
- Số lượng instance mong muốn
- Thông số kỹ thuật của instance
- Loại yêu cầu: one-time (một lần) hoặc persistent (liên tục)
- Thời gian hiệu lực (Valid from, Valid until)
2. Kết quả của request Spot
- Nếu không thành công, yêu cầu sẽ bị từ chối (Request failed).
- Nếu thành công, Spot Instances sẽ được khởi chạy (Launch instances).
3. Quản lý vòng đời của Spot Instances:
- Nếu là yêu cầu one-time, instance sẽ bị ngắt vĩnh viễn.
- Nếu là yêu cầu persistent, nó có thể được tự động khởi động lại (Start) hoặc bị dừng (Stop) tùy theo chính sách.
Trạng thái của request Spot Instances:
- Khi request được tạo, nó sẽ ở trạng thái open.
- Nếu request không thành công, nó sẽ chuyển sang trạng thái failed.
- Nếu được chấp nhận, nó sẽ chuyển sang active.
- Một request active có thể chuyển sang:
- cancelled (bị hủy)
- closed (đóng) nếu là yêu cầu one-time
- disabled nếu là yêu cầu persistent nhưng không còn hoạt động
- Yêu cầu có thể quay lại trạng thái open nếu là loại persistent.

Lưu ý:
Chỉ có thể hủy yêu cầu Spot Instance ở trạng thái open, active, hoặc disabled.
Nếu bạn xóa Spot Instance trước, Spot Request vẫn còn và AWS sẽ tạo lại phiên bản mới.
Vì vậy, luôn phải hủy Spot Request trước, rồi mới xóa phiên bản.
6.5. Spot Block
Nếu không muốn Spot Instance bị thu hồi trong một khoảng thời gian nhất định, bạn có thể sử dụng Spot Block.
Đặc điểm của Spot Block:
- Giữ nguyên Spot Instance trong 1 đến 6 giờ.
- Không bị gián đoạn, trừ trường hợp hiếm hoi AWS thu hồi do hết tài nguyên.
6.6. Spot Fleet
Spot Fleet là một tập hợp Spot Instances và On-Demand Instances, giúp tự động tìm kiếm tài nguyên với giá thấp nhất và khả dụng cao nhất, giúp tối ưu chi phí mà vẫn đảm bảo hiệu suất.
Cách hoạt động:
- Bạn định nghĩa nhiều loại instance, vùng, giá tối đa.
- AWS chọn lựa thông minh các instance có giá tốt nhất.
- Giúp đảm bảo công suất tối đa với chi phí tối thiểu.
Chiến lược phân bổ Spot Fleet:
- Lowest Price – Chọn instance rẻ nhất.
- Diversified – Phân bổ phiên bản trên nhiều nhóm để tăng tính sẵn sàng.
- Capacity Optimized – Ưu tiên nhóm có dung lượng lớn nhất.
- Price-Capacity Optimized – Cân bằng giữa giá và dung lượng.
Amazon EC2 là một dịch vụ mạnh mẽ, linh hoạt và dễ dàng triển khai trên AWS. Bạn có thể lựa chọn cấu hình máy chủ ảo phù hợp với nhu cầu và sử dụng chỉ trong vài phút. Cảm ơn bạn đã tham khảo AWS Certified Solutions Architect Associate trên ttnguyen.net
Bài viết cùng chủ đề:
Hướng dẫn tạo EC2 Instance chạy Amazon Linux trên AWS – Bài 5
