Các stage của API Gateway và cấu hình lúc chạy

Tự động hóa triển khai trên AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Ba URL, một API

url

  • Cùng một checkout API cần dev, staging, và prod
  • Mỗi môi trường truy cập các tài nguyên downstream khác nhau
  • Hardcode giá trị buộc phải rebuild theo môi trường
  • Stage variables giải quyết điều này lúc runtime
Tự động hóa triển khai trên AWS

Stage của API Gateway là gì

api

  • Một stage là bản triển khai của một API
  • Mỗi stage có URL riêng
  • Stage phổ biến: dev, staging, prod
  • Một định nghĩa API, nhiều stage
Tự động hóa triển khai trên AWS

Vì sao stage quan trọng khi triển khai

stages

  • Test trong dev mà không ảnh hưởng prod
  • Thăng cấp cùng một API qua các môi trường
  • Roll back một stage mà không đụng đến stage khác
  • Mỗi stage theo dõi lịch sử triển khai riêng
Tự động hóa triển khai trên AWS

Stage variables

  • Cặp khóa-giá trị phạm vi theo từng stage
  • Tham chiếu bằng ${stageVariables.varName}
  • Dùng cho cấu hình theo môi trường
  • Không cần đổi code khi giá trị khác nhau

variables

Tự động hóa triển khai trên AWS

Stage variables hoạt động ra sao

  • checkout-api -> dev stage: lambdaAlias = dev
  • checkout-api -> prod stage: lambdaAlias = prod
  • Integration gọi payments:${stageVariables.lambdaAlias}
  • Một API gọi tới hai alias Lambda khác nhau

action

Tự động hóa triển khai trên AWS

Tên miền tùy chỉnh

  • URL mặc định xấu: abc123.execute-api.us-east-1.amazonaws.com/dev
  • Tên miền tùy chỉnh: api.example.com
    • Cần chứng chỉ ACM cho TLS
  • Base path mapping nối đường dẫn với stage
    • api.example.com/v1 → prod stage

custom

Tự động hóa triển khai trên AWS

Liên kết tất cả như thế nào

all

  • Stage variables <-> Lambda aliases từ video 2.3
  • Ý tưởng tương tự cho phiên bản ECS task definition và tên bảng DynamoDB
  • Phiên bản đã duyệt theo môi trường, không đổi code
  • Chương 3 mở rộng điều này giữa các dịch vụ
Tự động hóa triển khai trên AWS

Cùng luyện tập nào!

Tự động hóa triển khai trên AWS

Preparing Video For Download...