AWS App Runner là một dịch vụ fully managed service do Amazon Web Services cung cấp, giúp triển khai nhanh chóng và dễ dàng các web application và API ở quy mô lớn mà không yêu cầu người dùng phải có kiến thức chuyên sâu về hạ tầng hoặc container.
Xem thêm:
1. Cách hoạt động
Với App Runner, người dùng chỉ cần bắt đầu với một trong hai nguồn:
- Mã nguồn (source code) từ repository như GitHub hoặc CodeCommit
- Hoặc một Docker container image được lưu trữ trên Amazon ECR hoặc public registry
Sau đó, bạn sẽ cấu hình một số thông số cơ bản như:
- Số lượng vCPU và dung lượng bộ nhớ cho container
- Chính sách tự động mở rộng (auto scaling)
- Các cấu hình kiểm tra tình trạng ứng dụng (health checks)
Khi cấu hình xong, App Runner sẽ tự động thực hiện các bước sau:
- Build mã nguồn hoặc lấy image container
- Triển khai ứng dụng lên hạ tầng AWS
- Cung cấp một URL để truy cập trực tiếp ứng dụng
2. Lợi ích nổi bật
App Runner mang đến nhiều lợi ích nổi bật giúp đơn giản hóa quá trình triển khai ứng dụng:
- Triển khai nhanh chóng: Không cần quản lý server, container orchestrator hay load balancer.
- Tự động mở rộng: Khả năng scale ứng dụng dựa trên lưu lượng thực tế.
- Khả dụng cao (high availability): Được tích hợp mặc định trong dịch vụ.
- Load balancing tích hợp: Không cần cấu hình thủ công.
- Bảo mật: Hỗ trợ mã hóa dữ liệu và cấu hình kết nối với dịch vụ trong VPC (như cơ sở dữ liệu, cache, queue…).
3. Trường hợp sử dụng phổ biến
App Runner phù hợp với các tình huống triển khai sau:
- Triển khai nhanh các ứng dụng web hoặc API
- Triển khai các microservices độc lập
- Phát hành phiên bản sản phẩm mới liên tục (CI/CD)
4. Mục tiêu
Mục tiêu: Deploy a containerized HTTP server using AWS App Runner
Trong bài lab này, bạn sẽ sử dụng AWS App Runner để triển khai một ứng dụng HTTP đơn giản từ Amazon ECR Public Registry. App Runner giúp triển khai ứng dụng container mà không cần quản lý cơ sở hạ tầng.
Bước 1: Chuẩn bị container image
Truy cập Amazon ECR Public Gallery. Tìm kiếm httpd (Apache HTTP Server). Sao chép đường dẫn container, ví dụ:
public.ecr.aws/docker/library/httpd:latest
Bước 2: Tạo dịch vụ App Runner
- Đăng nhập vào AWS Console: https://console.aws.amazon.com/
- Tìm App Runner và chọn Create service.
- Ở phần Source, chọn:
- Container registry
- Amazon ECR Public
- Dán URL container image:
public.ecr.aws/docker/library/httpd:latest - Deployment setting: chọn Manual
- Chọn Next
Bước 3: Định cấu hình dịch vụ
- Service name:
DemoHTTP - CPU & Memory: 1 vCPU, 2 GB RAM (mức tối thiểu)
- Port: 80 (HTTP default port cho httpd)
- Environment variables: để trống hoặc tuỳ chỉnh
- Auto Scaling:
- Sử dụng thiết lập mặc định: 1–25 instances
- Concurrency per instance: 100 requests
- Health Check: để mặc định
- Security: không cần instance role
- Networking:
- Chọn Public access
- Observability:
- AWS X-Ray: có thể bật/tắt tuỳ theo nhu cầu
Chọn Next.
Bước 4: Review và Deploy
- Kiểm tra lại các thông tin: image, port, scaling, access.
- Chọn Create and deploy.
App Runner sẽ tự động:
- Tạo load balancer
- Tạo autoscaling group
- Gán tên miền public mặc định
Bước 5: Truy cập dịch vụ
- Sau khi deploy hoàn tất, truy cập Default domain URL của App Runner.
- Nếu thành công, trình duyệt sẽ hiển thị: “It works!”
Bước 6: Theo dõi và quản lý
- Trên giao diện dịch vụ App Runner:
- Xem Logs, Events, Auto scaling metrics
- Cấu hình lại nếu cần (port, memory, scaling)
- Kết nối domain tuỳ chỉnh nếu có
Bước 7: Xoá dịch vụ
- Trong giao diện dịch vụ App Runner, chọn Delete.
- Gõ lại tên dịch vụ để xác nhận xoá.