AWS Fargate
Container không cần server
Nền tảng chạy container cho ECS/EKS mà không phải quản lý EC2: chỉ khai báo CPU/RAM cho mỗi task.
- Chi phí$$ Vừa phải
- Độ khó●●●●●
- Để không có tốn tiền?Có
- Serverless
- Có trong đềSAA · DVA · SOA
Hình dungNhư gửi hàng qua dịch vụ chuyển phát thay vì tự mua xe tải.
Fargate đứng ở đâu trong hệ thống?
Gọi tới Fargate
Một ví dụ thật, từng bước
- Bạn có một worker xử lý video, mỗi lần chạy mất khoảng 40 phút, quá dài để dùng Lambda.
- Bạn đóng gói worker thành container và khai báo task cần 2 vCPU, 4 GB RAM.
- Khi có video mới, ECS chạy một task trên Fargate; bạn không phải chọn máy, vá hệ điều hành hay lo cụm máy.
- Task chạy xong thì dừng và bạn chỉ trả tiền cho đúng 40 phút dùng 2 vCPU và 4 GB RAM đó.
- Video không gấp thì chạy bằng Fargate Spot để rẻ hơn nhiều, chấp nhận thỉnh thoảng bị ngắt và chạy lại.
Khi nào nên dùng
✓ Nên dùng khi
Muốn chạy container mà không vá lỗi, không scale máy chủ.
✗ Không nên dùng khi
Cần GPU đặc thù hoặc tối ưu chi phí cho tải rất lớn, đều → ECS/EKS trên EC2.
Ví dụ hay gặp
- Chạy container mà không quản lý máy chủ
- Tác vụ ngắn hoặc định kỳ dạng container
- Workload tải thay đổi, đội vận hành nhỏ
Fargate, Lambda hay EC2?
Tốn bao nhiêu tiền?
- Cách tính: Theo vCPU-giờ (~$0,04048) và GB-giờ bộ nhớ (~$0,004445), tính theo giây (tối thiểu 1 phút). Fargate Spot rẻ hơn tới ~70%.
- Miễn phí: Không.
Đắt hơn EC2 khi tải lớn và đều đặn; kéo image qua NAT Gateway; dung lượng lưu trữ tạm vượt 20 GB tính thêm.
Đề có “container” + “không muốn quản lý máy chủ” → Fargate. Tác vụ dài hơn 15 phút mà vẫn muốn serverless → Fargate thay cho Lambda. Cần GPU hoặc tối ưu chi phí cho tải rất lớn, đều → EC2.
Thử sức với câu hỏi thi thật
1A company is running a multi-tier web application on premises. The web application is containerized and runs on a number of Linux hosts connected to a PostgreSQL database that contains user records. The operational overhead of maintaining the infrastructure and capacity planning is limiting the company's growth. A solutions architect must improve the application's infrastructure. Which combination of actions should the solutions architect take to accomplish this? (Choose two.)
- AMigrate the PostgreSQL database to Amazon Aurora.
- BMigrate the web application to be hosted on Amazon EC2 instances.
- CSet up an Amazon CloudFront distribution for the web application content.
- DSet up Amazon ElastiCache between the web application and the PostgreSQL database.
- EMigrate the web application to be hosted on AWS Fargate with Amazon Elastic Container Service (Amazon ECS).
Xem đáp án
Đáp án đúng: A, E
Chuyển database sang Aurora (dịch vụ được quản lý) và chạy container trên Fargate với ECS: không còn máy chủ để vận hành hay phải tính trước công suất. Chuyển sang EC2 vẫn phải tự quản lý máy.
2A company's near-real-time streaming application is running on AWS. As the data is ingested, a job runs on the data and takes 30 minutes to complete. The workload frequently experiences high latency due to large amounts of incoming data. A solutions architect needs to design a scalable and serverless solution to enhance performance. Which combination of steps should the solutions architect take? (Choose two.)
- AUse Amazon Kinesis Data Firehose to ingest the data.
- BUse AWS Lambda with AWS Step Functions to process the data.
- CUse AWS Database Migration Service (AWS DMS) to ingest the data.
- DUse Amazon EC2 instances in an Auto Scaling group to process the data.
- EUse AWS Fargate with Amazon Elastic Container Service (Amazon ECS) to process the data.
Xem đáp án
Đáp án đúng: A, E
Kinesis Data Firehose nhận dữ liệu streaming không cần quản lý máy chủ. Job chạy 30 phút vượt giới hạn 15 phút của Lambda, nên xử lý bằng Fargate với ECS. EC2 Auto Scaling không phải serverless.
Câu hỏi thường gặp
Fargate khác gì ECS?
ECS (hoặc EKS) là nơi điều phối container. Fargate là nơi container chạy mà không cần quản lý máy chủ. Nói cách khác, bạn dùng ECS để mô tả chạy gì, và chọn Fargate để AWS lo phần máy.
Khi nào không nên dùng Fargate?
Khi cần GPU hoặc cấu hình máy đặc thù, cần truy cập sâu vào hệ điều hành, hoặc tải rất lớn và đều mà chạy trên EC2 (nhất là với Savings Plans hay Spot) rẻ hơn.
Fargate tính tiền thế nào?
Theo vCPU và bộ nhớ mà mỗi task hoặc pod yêu cầu, tính theo giây trong thời gian chạy. Fargate Spot rẻ hơn nhiều nhưng task có thể bị dừng khi AWS cần lại công suất.
Đề thi AWS hay hỏi gì về Fargate?
Tình huống cần chạy container mà không muốn quản lý máy chủ, so sánh với Lambda (tác vụ dài hơn 15 phút thì dùng Fargate) và với EC2 launch type về chi phí và quyền kiểm soát.