Domain 3 · 11 phút đọc

Dịch vụ Compute: EC2, Lambda, Container

Compute Services: EC2, Lambda, Containers

Compute là nhóm dịch vụ giúp bạn chạy code và ứng dụng trên AWS. Trọng tâm thi là phân biệt EC2, serverless và container, cùng các mô hình giá của EC2.

Amazon EC2

Amazon EC2 Amazon Elastic Compute Cloud cung cấp máy chủ ảo (gọi là instance) mà bạn toàn quyền kiểm soát hệ điều hành. Các khái niệm cốt lõi:

  • Instance families: nhóm tối ưu theo nhu cầu — General purpose (cân bằng), Compute optimized (CPU mạnh), Memory optimized (RAM lớn), Storage optimized, Accelerated computing (GPU).
  • AMI Amazon Machine Image: ảnh mẫu chứa HĐH + phần mềm để khởi tạo instance.
  • User data User data: script chạy một lần lúc khởi động instance (ví dụ cài đặt phần mềm tự động).

Mô hình giá EC2 (rất hay thi)

Mô hìnhKhi nào dùng
On-DemandTrả theo giờ/giây, không cam kết. Cho tải biến động, ngắn hạn, test.
Reserved InstancesCam kết 1 hoặc 3 năm cho tải ổn định, giảm giá lớn so với On-Demand.
Savings PlansCam kết mức chi tiêu ($/giờ) trong 1–3 năm, linh hoạt hơn RI.
Spot InstancesDùng dung lượng dư với giảm giá tới ~90%, nhưng AWS có thể thu hồi. Cho tải chịu gián đoạn (batch, xử lý nền).

Trọng tâm thi

Tải chạy liên tục, ổn định → Reserved/Savings Plans. Tải xử lý hàng loạt chịu được ngắt quãng và muốn rẻ nhất → Spot. Tải khó đoán, ngắn hạn → On-Demand.

Auto Scaling và Elastic Load Balancing

  • Auto Scaling Amazon EC2 Auto Scaling: tự động thêm/bớt instance theo nhu cầu (ví dụ theo mức CPU). Giúp tiết kiệm chi phí và đáp ứng tải tăng đột biến.
  • Elastic Load Balancing (ELB) Elastic Load Balancing: phân phối lưu lượng đến nhiều instance/nhiều AZ, tăng độ chịu lỗi.

Kết hợp ELB + Auto Scaling trên nhiều AZ là kiến trúc co giãn và sẵn sàng cao kinh điển.

Serverless: Lambda và Fargate

  • AWS Lambda AWS Lambda: chạy code theo sự kiệnkhông cần quản lý máy chủ. Trả tiền theo số lần gọi và thời gian thực thi. Lý tưởng cho hàm ngắn, xử lý sự kiện (ví dụ xử lý ảnh khi upload lên S3).
  • AWS Fargate AWS Fargate: chạy container serverless — bạn không phải quản lý máy chủ EC2 nền cho container.

Mẹo

Nếu đề bài nói "không muốn quản lý máy chủ", "trả tiền chỉ khi code chạy", "theo sự kiện" → nghĩ ngay đến Lambda.

Container: ECS, EKS, ECR

  • Amazon ECS Amazon Elastic Container Service: dịch vụ điều phối container của AWS.
  • Amazon EKS Amazon Elastic Kubernetes Service: chạy Kubernetes được quản lý.
  • Amazon ECR Amazon Elastic Container Registry: kho lưu trữ image container.

ECS/EKS có thể chạy trên EC2 (bạn quản lý máy chủ) hoặc trên Fargate (serverless).

Beanstalk và Lightsail

  • Elastic Beanstalk AWS Elastic Beanstalk: PaaS — bạn chỉ tải code lên, AWS tự lo provisioning, load balancing, scaling. Tốt cho lập trình viên muốn triển khai nhanh mà vẫn dùng EC2 phía dưới.
  • Amazon Lightsail Amazon Lightsail: máy chủ ảo đơn giản, giá trọn gói cố định, phù hợp dự án nhỏ, website, người mới bắt đầu.

Đừng nhầm

Beanstalk triển khai ứng dụng của bạn lên hạ tầng AWS một cách tự động (không phải hosting trọn gói giá rẻ). Lightsail mới là lựa chọn đơn giản, giá cố định cho dự án nhỏ.

Tóm tắt

  • EC2 = máy chủ ảo, toàn quyền HĐH; chọn instance family theo nhu cầu.
  • Giá EC2: On-Demand (linh hoạt), Reserved/Savings Plans (ổn định, rẻ hơn), Spot (rẻ nhất, chịu gián đoạn).
  • Auto Scaling + ELB = co giãn và sẵn sàng cao.
  • Serverless: Lambda (code theo sự kiện), Fargate (container không cần quản lý máy chủ).
  • Container: ECS, EKS (Kubernetes), ECR (registry). Beanstalk = PaaS; Lightsail = đơn giản, giá cố định.