Skip to main content

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 หรือไม่