AWS App Runner – Bài 24

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 applicationAPI ở 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:

Amazon Kinesis Data Streams- Bài 21

Amazon ECS – Bài 22

Amazon EKS (Elastic Kubernetes Service) – Bài 23

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:

  1. Build mã nguồn hoặc lấy image container
  2. Triển khai ứng dụng lên hạ tầng AWS
  3. 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

  1. Đăng nhập vào AWS Console: https://console.aws.amazon.com/
  2. Tìm App Runner và chọn Create service.
  3. Ở 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
  1. Chọn Next

Bước 3: Định cấu hình dịch vụ

  • Service nameDemoHTTP
  • 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 LogsEventsAuto 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á.

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em