Skip to content

Amazon API Gateway là gì?

Amazon API Gateway là dịch vụ fully managed cho phép bạn tạo, triển khai và quản lý các API ở quy mô lớn. API Gateway thường được sử dụng để kết nối client (web, mobile) với backend serverless (Lambda, v.v.).

Với API Gateway, bạn có thể dễ dàng tạo ra các API RESTful hoặc HTTP để ứng dụng client có thể gọi tới mà không cần vận hành máy chủ.

Hiểu đơn giản thì API Gateway = “cổng” để client gọi Lambda hoặc backend service khác.

Các loại API hỗ trợ

  • REST API: đầy đủ tính năng (authentication, throttling, caching).
  • HTTP API: nhẹ hơn, chi phí thấp, tối ưu cho kết nối Lambda hoặc HTTP backend.
  • WebSocket API: cho phép giao tiếp hai chiều theo thời gian thực (chat, IoT).

Tính năng chính

  • Kết nối Lambda và các backend khác: xử lý logic nghiệp vụ bằng Lambda, hoặc gọi tới dịch vụ khác qua HTTP.
  • Authentication & Authorization:
    • IAM - kiểm soát quyền truy cập thông qua AWS IAM.
    • Cognito - quản lý người dùng và đăng nhập.
    • Lambda Authorizer - viết logic tuỳ chỉnh để xác thực request.
  • Throttling & Rate limiting: hạn chế số lượng request để tránh quá tải backend.
  • Caching: giảm tải cho backend bằng cách cache response.
  • Monitoring: tích hợp với CloudWatch để theo dõi logs và metrics.

Quy trình hoạt động

  1. Client (web, mobile) gửi request đến API Gateway.
  2. API Gateway xác thực request (nếu có).
  3. API Gateway gửi request đến backend (Lambda, DynamoDB, hoặc service khác).
  4. Kết quả được trả về cho client.

Ưu điểm

  • Không cần quản lý server để chạy API.
  • Tích hợp chặt chẽ với Lambda và các dịch vụ AWS.
  • Hỗ trợ scale tự động.
  • Hỗ trợ nhiều cơ chế bảo mật.

Hạn chế

  • Có thể tăng độ trễ do phải đi qua nhiều lớp (Gateway → Lambda → Backend).
  • REST API có chi phí cao hơn HTTP API.
  • Cần thiết kế cẩn thận nếu lượng request quá lớn để tối ưu chi phí.