Skip to content
Khoá học AWSContainers trong AWSGiới thiệu AWS App Runner

AWS App Runner là gì?

AWS App Runner là một dịch vụ fully managed giúp bạn dễ dàng triển khai ứng dụng Web và API containerized mà không cần quản lý servers, clusters, hay orchestrators.

Bạn chỉ cần:

  • Trỏ App Runner đến source code (GitHub, CodeCommit) hoặc container image (Amazon ECR).
  • AWS App Runner sẽ build, deploy, scale và load balance tự động.

Đặc điểm nổi bật của App Runner

  • Serverless: không cần lo lắng về EC2, ECS, hay Kubernetes.
  • Triển khai trực tiếp từ source: Hỗ trợ auto build từ GitHub/CodeCommit hoặc từ container image trong ECR.
  • Auto Scaling: tăng/giảm instance theo traffic thực tế.
  • Load Balancer tích hợp sẵn: không cần cấu hình thủ công.
  • TLS/HTTPS mặc định: bảo mật có sẵn.
  • Monitoring: tích hợp CloudWatch Logs & Metrics.

Cách App Runner hoạt động

  1. Nguồn ứng dụng
  • Source code (Node.js, Python, v.v.) → App Runner sẽ tự build thành container.
  • Container image từ Amazon ECR.
  1. Triển khai

    • App Runner khởi chạy môi trường, tạo load balancer, và expose endpoint HTTPS.
  2. Quản lý & Scaling

    • Tự động scale theo traffic (có thể xuống 0 để tiết kiệm chi phí).

So sánh App Runner với ECS/Fargate và EKS

Tiêu chíApp RunnerECS/FargateEKS (Kubernetes)
Độ phức tạpThấp, chỉ cần source/imageTrung bình, cần định nghĩa Task & ServiceCao, cần quản lý Kubernetes objects
Tính tuỳ biếnHạn chếLinh hoạt hơn (task, networking, scaling)Rất cao, full Kubernetes features
Use caseWeb apps, APIs đơn giảnMicroservices AWS-nativeComplex, hybrid/multi-cloud apps
Quản lý hạ tầngAWS quản lý toàn bộNgười dùng quyết định EC2/FargateNgười dùng quản lý worker nodes (hoặc Fargate)

Khi nào nên dùng App Runner?

  • Khi bạn muốn triển khai ứng dụng web/API đơn giản mà không cần học Kubernetes/ECS.
  • Khi bạn muốn tập trung phát triển code, không quan tâm đến hạ tầng.
  • Khi ứng dụng cần HTTPS, auto scaling, load balancing mặc định.
  • Khi bạn muốn CI/CD liền mạch từ GitHub/CodeCommit.

Khi không nên dùng App Runner?

  • Khi ứng dụng yêu cầu kiểm soát chi tiết về networking, storage, hay container orchestration.
  • Khi workload quá phức tạp, nhiều microservices phụ thuộc lẫn nhau (nên dùng ECS hoặc EKS).