Cấu hình AWS Lambda cho môi trường production
Triển khai Ứng dụng trên AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Chạy tốt khi test
Hàm vượt qua mọi bài kiểm thử
Lên production thì bị timeout và throttling
Mã ổn; cấu hình thì không
Cấu hình Lambda quan trọng trong production
Memory
: đồng thời tăng CPU và mạng
Timeout
: số giây tối đa trước khi bị dừng
Ephemeral storage
: không gian tạm tại /tmp
Concurrency
: số phiên bản chạy đồng thời
Chọn bộ nhớ và mối liên hệ với CPU
Thêm bộ nhớ =
tăng CPU theo tỷ lệ
Hàm bị giới hạn CPU chạy nhanh hơn khi tăng bộ nhớ
Thời gian ngắn hơn có thể
giảm chi phí
Chọn kích cỡ bằng thử nghiệm, không phỏng đoán
Concurrency: reserved vs provisioned
Reserved concurrency
Giới hạn số lượt thực thi đồng thời tối đa
Bảo vệ hệ thống phía sau và các hàm khác
Provisioned concurrency
Làm ấm sẵn phiên bản, loại bỏ cold start
Dành cho hàm nhạy độ trễ, hướng người dùng
Đóng gói cấu hình và mã dùng chung
Environment variables
: cấu hình theo môi trường
Layers
: chia sẻ mã và phụ thuộc giữa các hàm
Extensions
: chạy kèm hàm để hỗ trợ công cụ
Tách cấu hình khỏi gói triển khai
Kết nối Lambda với VPC
Gắn Lambda vào
private subnets
để truy cập nội bộ
Lambda tạo
ENIs
trong VPC của bạn
Security groups
kiểm soát phạm vi truy cập
Cần NAT hoặc VPC endpoint để ra ngoài
Xử lý lỗi với destinations và DLQ
Gọi bất đồng bộ sẽ
tự động retry
khi lỗi
Lambda Destinations
: định tuyến onSuccess và onFailure
Dead-letter queue
: giữ sự kiện không bao giờ thành công
Không bao giờ âm thầm bỏ sự kiện lỗi
Cùng luyện tập nào!
Triển khai Ứng dụng trên AWS
Preparing Video For Download...