Bỏ qua tới nội dung
CloudDojo
Phần 2/4 · 5 phút

Vận hành Lambda function trong môi trường production

0/12
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

Một function chạy tốt khi thử nghiệm vẫn có thể gặp vấn đề trong môi trường production: kết nối mạng khi gắn VPC, cold start, concurrency quota và cách lưu thông tin xác thực (credentials).

Một số vấn đề chỉ xuất hiện khi triển khai lên production: function gắn vào VPC không truy cập được Internet, độ trễ tăng cao vào giờ cao điểm do cold start, thông báo bị throttle khi vượt concurrency quota, mật khẩu database lưu trong cấu hình. Chọn từng tình huống, chạy thử, sau đó bật tuỳ chọn để khắc phục:

POST https://api.giaohang.vn/orders
VPC của MFTECHLambdaprivate subnetRoute tablechỉ có route localNAT gateway(chưa cấu hình)API giao hàngtrên Internet

Chọn một tình huống vận hành Lambda của MFTECH và chạy thử; sau đó bật tuỳ chọn khắc phục và chạy lại.

Xem thợ thời vụ Lambda mất đường ra Internet khi vào khuôn viên VPC, tới chậm lúc cao điểm, và bị throttle khi hết quota.
Xem thợ thời vụ Lambda mở ngân hàng RDS bằng mật khẩu hay bằng token của role, và vào kho của account khác.

Hai lưu ý bổ sung. Mỗi lần thực thi Lambda function tiêu chuẩn tối đa 15 phút (900 giây; Lambda Managed Instances cho phép tới 90 phút với lời gọi bất đồng bộ hoặc qua event source mapping, trừ Amazon MQ và Amazon DocumentDB); job dài hơn nên chạy bằng container trên Fargate (bài Containers). Khi chưa gắn vào VPC, Lambda function vẫn gọi được Internet và các AWS API công khai; chỉ gắn VPC khi cần truy cập tài nguyên private như RDS, và khi đó cần NAT gateway như mô phỏng trên. Cách định cỡ memory, /tmp, timeout và đóng gói (layer, container image) được trình bày ở phần 3.

Ghi nhớ:
  • Lambda trong VPC cần NAT gateway để truy cập Internet.
  • Cold start vào giờ cao điểm: provisioned concurrency.
  • Concurrency có quota theo account và Region; cấu hình alarm trên ConcurrentExecutions.
  • Không lưu mật khẩu: IAM database authentication.
  • Truy cập cross-account: cả execution role và bucket policy đều phải cho phép.
Part 2/4 · 5 phút

Running Lambda functions in production

0/12
Từ khóa của phần nàyChọn một từ để xem nghĩa trước khi đọc

A function that works in testing can still run into problems in production: networking after VPC attachment, cold starts, concurrency quotas and how credentials are stored.

Some problems appear only after deploying to production: a function attached to a VPC cannot reach the internet, latency rises at peak hours because of cold starts, notifications are throttled when the concurrency quota is exceeded, the database password is stored in configuration. Pick each scenario, try it, then turn on the option to fix it:

POST https://api.giaohang.vn/orders
VPC của MFTECHLambdaprivate subnetRoute tablechỉ có route localNAT gateway(chưa cấu hình)API giao hàngtrên Internet

Chọn một tình huống vận hành Lambda của MFTECH và chạy thử; sau đó bật tuỳ chọn khắc phục và chạy lại.

Xem thợ thời vụ Lambda mất đường ra Internet khi vào khuôn viên VPC, tới chậm lúc cao điểm, và bị throttle khi hết quota.
Xem thợ thời vụ Lambda mở ngân hàng RDS bằng mật khẩu hay bằng token của role, và vào kho của account khác.

Two more notes. Each invocation of a standard Lambda function runs at most 15 minutes (900 seconds; Lambda Managed Instances allows up to 90 minutes for asynchronous invocations or through an event source mapping, except Amazon MQ and Amazon DocumentDB); longer jobs should run as containers on Fargate (Containers lesson). A Lambda function that is not attached to a VPC can already reach the internet and public AWS APIs; attach it to a VPC only when it needs private resources such as RDS, and then it needs a NAT gateway as in the simulation above. Sizing memory, /tmp and the timeout, and packaging (layers, container images), are covered in part 3.

Ghi nhớ:
  • Lambda in a VPC needs a NAT gateway to reach the internet.
  • Cold starts at peak hours: provisioned concurrency.
  • Concurrency has a quota per account and Region; configure an alarm on ConcurrentExecutions.
  • Do not store passwords: IAM database authentication.
  • Cross-account access: both the execution role and the bucket policy must allow it.

Kiểm tra nhanh

Trả lời để ghi nhận đã đọc phần này. Câu trả lời sai sẽ được nhắc ôn lại vào những ngày sau.

Sau khi gắn Lambda function vào VPC để truy cập RDS, function không gọi được API của đối tác trên internet. Cần bổ sung gì?
Độ trễ của API tăng cao vào giờ cao điểm do cold start của Lambda. Cấu hình nào khắc phục?

Đã trả lời 0/2 câu