Set up budget of usage AWS service and alert exceed upcoming cost.
ปัญหา: เมื่อเราใช้งาน AWS service ไปสักพัก โดยเฉพาะหากใช้เกิน Free tier ที่ AWS กำหนด ก็จะเกิดการเรียกเก็บเงินขึ้น ซึ่งถ้าหากปล่อยปะละเลย หรือไม่ได้เข้ามาดู ยอดอาจพุ่งสูงขึ้นได้ หรือจะเป็นอีกกรณี ที่เราต้องการจะคุม cost หรือ budget ของการใช้ AWS service ให้เหมาะสม และอยากให้มีการแจ้งเตือนด้วย เมื่อ cost เริ่มเข้าใกล้กับงบที่กำหนดเอาไว้
…พอที่จะมี AWS service ไหนบ้างที่เข้ามาช่วยเราในกรณีแบบนี้ได้บ้าง 🤔 ?
💡 เจ้าตัวที่จะเข้ามาช่วยเรานั่นคือ AWS Budget นั่นเอง โดย service นี้จะอยู่ในหมวดของ Billing ใน topic ของ Cost management
AWS management console > AWS Billing> Cost management > Budgets
มาเริ่มสร้าง budget กัน: โดยจะใช้เป็น template ที่ AWS มีให้อยู่แล้ว และในบทความนี้จะ set up 2 ตัวคือ Zero spend budget และ Monthly cost budget
Zero Spend Budget
: ก็ตามชื่อเลยคือ การตั้ง budget ให้มีค่าใช้จ่ายเป็น 0 หรือไม่มีค่าใช้จ่ายเลย ซึ่งนั่นก็คือ free tier นั่นเอง ซึ่งตัว budget นี้จะทำการแจ้งเตือนไปยัง email ที่เราระบุไว้ เมื่อมีการใช้งานเกินขอบเขตที่ AWS free tier
Hands on
Create budget โดยใช้ simplified template และเลือกเป็น Zero spend budget type
ผลลัพธ์เมื่อสร้าง budget ที่หน้า overview
จะเห็นว่าตัว budget ของผมมี สถานะ threshold เป็น Exceeded เนื่องจาก ผมได้ใช้งาน service เกินโควต้าของ AWS free tier ไปแล้วนั่นเอง
AWS จะ alert ด้วยการส่งรายละเอียดมาทางเมลล์
และจะเห็นว่ามีค่า budget เป็น $1 และค่า threshole เป็น $0.01 ซึ่งเป็นค่า default เมื่อตอนสร้าง budget โดยเราสามารถ update ค่าได้ ด้วยการ update ตัว budget (select budget target > Actions > Edit)
สามารถ edit
- budget period type
- budget renewable type
- budge tmethod
- budget amount
- budget scope
- budget alert threshold (default = $0.01) and email to send alert
🔧 โดยผมจะปรับ amount budget เป็น $2 และthreshold เป็น $0.5
ก็ได้ผลลัพธ์ดังนี้
Monthly Cost Budget
: ก็ตามชื่อเลยคือ การตั้ง budget ให้มีค่าใช้จ่ายเป็นลักษณะรายเดือน 0 ซึ่งจะมีการแจ้งเตือน ถ้ามีการใช้เกิน หรือการคาดการณ์จาก AWS ว่าจะมีการใช้เกินจาก amount budget
Hands on
Create budget โดยใช้ simplified template และเลือกเป็น Monthly Cost Budget type. ผมตั้ง budget amount ไว้ที่ $3 และให้มีการแจ้งเตือนไปที่เมลล์ ในเงื่อนไขถ้า
- ค่าใช้จ่ายจิงเป็น 85% ของ budget amount
- ค่าใช้จ่ายจิงเป็น 100% ของ budget amount
- ค่าใช้จ่ายที่คาดการณ์ไว้(โดย AWS) คาดว่าจะถึง 100% ของ budget amount
ผลลัพธ์เมื่อสร้าง budget ที่หน้า overview
*ps การ edit การตั้งค่า budget สามารถทำได้เหมือนกับที่ edit เจ้าตัว Zero Spend Budget
*สำหรับ template อื่นๆที่ไม่ได้กล่าวถึงสามารถค้นหาเพิ่มเติมได้ที่ link
Reference:
- https://aws.amazon.com/free/?trk=f42fef03-b1e6-4841-b001-c44b4eccaf41&sc_channel=ps&ef_id=CjwKCAjwysipBhBXEiwApJOcu8Zc52ZqMnMc4Ybew9zeRAIzbBxCX_l_0UL_HW4LAjeJgf94LMRUxxoCLu4QAvD_BwE:G:s&s_kwcid=AL!4422!3!637354294245!e!!g!!aws%20free%20tier!19044205571!139090166770&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all
- https://aws.amazon.com/aws-cost-management/aws-budgets/