Lambda Limits
ก่อนสอบ การรู้ข้อจำกัดของ AWS Lambda เป็นสิ่งสำคัญ เนื่องจากข้อสอบมักจะถามเกี่ยวกับข้อจำกัดเหล่านี้ ข้อจำกัดจะแตกต่างกันตาม region และแบ่งออกเป็น ข้อจำกัดด้านการทำงาน (Execution Limits) และ ข้อจำกัดด้านการ deploy (Deployment Limits)
ข้อจำกัดด้านการทำงาน (Execution Limits)
-
การจัดสรรหน่วยความจำ (Memory Allocation): 128 MB ถึง 10 GB
-
การเพิ่มหน่วยความจำ: ทำเป็นขั้นตอนละ 64 MB
-
vCPU: การเพิ่มหน่วยความจำจะเพิ่มจำนวน vCPU ด้วย
-
เวลาในการทำงานสูงสุดของ Lambda: 900 วินาที (15 นาที)
- การทำงานเกิน 15 นาทีไม่เหมาะกับ use case ของ Lambda
ตัวแปรสภาพแวดล้อมและพื้นที่ชั่วคราว
-
Environment variables: ใช้ได้สูงสุด 4 KB
-
สำหรับไฟล์ใหญ่ สามารถใช้ พื้นที่ชั่วคราว (/tmp)
- /tmp ให้พื้นที่ชั่วคราวสูงสุด 10 GB
- ใช้เก็บไฟล์ขนาดใหญ่ในระหว่างการทำงานของ Lambda
ข้อจำกัดด้าน Concurrency และ Deployment
-
Concurrency: Lambda รองรับ 1000 การเรียกใช้งานพร้อมกัน ตามค่าเริ่มต้น
- สามารถขอเพิ่มได้ตามต้องการ
- แนะนำให้ใช้ Reserved Concurrency เพื่อจัดการข้อจำกัดการทำงาน
-
Deployment package size:
- ขนาด zip file แบบบีบอัดสูงสุด: 50 MB
- ขนาดไม่บีบอัดสูงสุด: 250 MB
- สำหรับไฟล์ใหญ่กว่าข้อจำกัดนี้ ให้ใช้พื้นที่ชั่วคราว (/tmp)
สรุป
การรู้ข้อจำกัดเหล่านี้ช่วยให้คุณตัดสินใจได้ว่า Lambda เหมาะสมกับ workload ของคุณหรือไม่
- ตัวอย่าง: หากต้องการ RAM 30 GB, เวลาทำงาน 30 นาที หรือจัดการไฟล์ขนาด 3 GB Lambda จะไม่เหมาะ
- ควรพิจารณาใช้บริการหรือสถาปัตยกรรมอื่นแทน
ข้อสรุปสำคัญ (Key Takeaways)
- การจัดสรรหน่วยความจำของ Lambda อยู่ระหว่าง 128 MB ถึง 10 GB เพิ่มทีละ 64 MB
- เวลาในการทำงานสูงสุดคือ 900 วินาที (15 นาที)
- Environment variables จำกัดที่ 4 KB และ /tmp ให้พื้นที่ชั่วคราวสูงสุด 10 GB
- ขนาด deployment package สูงสุด: 50 MB (compressed) และ 250 MB (uncompressed); ไฟล์ใหญ่ใช้ /tmp
- รองรับการเรียกใช้งานพร้อมกันสูงสุด 1000 ครั้งตามค่าเริ่มต้น สามารถขอเพิ่มได้
- การเข้าใจข้อจำกัดเหล่านี้ช่วยตัดสินใจว่า Lambda เหมาะกับ workload หรือไม่