การตั้งค่าแจ้งเตือน AWS Budgets ไปที่ slack
Step 1: การตั้งค่า SNS และ AWS Chatbot
สามารถดูขั้นตอนการเตรียม resources ได้ที่บทความนี้ ส่วนของหัวข้อ การตั้งค่า Amazon SNS และ การตั้งค่า AWS Chatbot
หลังจากที่ทำตามขั้นตอนเรียบร้อยแล้ว ก็จะได้ SNS topic เหมือนกับในภาพด้านล่างนี้
โดยให้ทำการบันทึก เลข ARN ของ SNS topic ที่อยู่ในช่องสีแดง เพื่อใช้ในขั้นตอนถัดไป
Step 2: การตั้งค่าการแจ้งเตือน AWS Budgets
เข้าไปที่บริการ Billing and Cost Management
ในแถบด้านซ้าย ให้เลื่อนลงมาและคลิกไปที่ Budgets
จากนั้นคลิกที่ Create a budget
ในหัวข้อ Budget setup ให้เลือก Customize (advanced) จากนั้นคลิก Next
ตั้งชื่อ Budget ได้ตามที่ต้องการในช่อง Budget name
เลื่อนลงที่หัวข้อตามภาพด้านล่าง ให้ใส่ Budget ที่เราต้องการ โดยหน่วยคือ USD จากนั้นคลิก Next
ในหน้านี้เราจะทำการตั้งค่าเงื่อนไขในการแจ้งเตือน โดยเริ่มจากคลิกที่ Add an alert threshold
ในบทความนี้ผมจะทำการตั้งค่าไว้ 3 แบบ ตามภาพด้านล่าง โดยเราจะทำการแจ้งเตือนผ่านไปทาง SNS ฉะนั้นให้ใส่เลข ARN ของ SNS topic ที่เราสร้างไว้ในช่อง Choose an Amazon SNS ARN ในทุกๆ การแจ้งเตือนที่เราสร้างไว้ด้วย เมื่อตั้งค่าเรียบร้อยแล้วให้คลิก Next เพื่อรีวิวการตั้งค่า และกด Create budget เพื่อสร้างการแจ้งเตือน
เพียงเท่านี้การตั้งค่าการแจ้งเตือน Budgets ก็เสร็จเรียบร้อย
เมื่อมีการใช้งานที่ตรงตามเงื่อนไขที่เรากำหนดไว้ ก็จะมีการแจ้งเตือนมาที่ slack ตามรูปด้านล่าง
แนะนำเพิ่มเติม
หากต้องการหยุด EC2 ในกรณีที่มีการใช้งานเกินจากงบที่ตั้งไว้ เราสามารถตั้งค่าให้หยุดโดยอัติโนมัติได้ ซึ่งในบทความนี้จะอธิบายแบบคร่าวๆเท่านั้น โดยสามารถทดลองได้ตามนี้
- ตั้งค่า Lambda ให้เป็นจุดหมายของ SNS notification
- กำหนด role ให้กับ Lambda เพื่อให้มีสิทธิในการจัดการ EC2
- เขียนโค๊ดกระบวนการหยุด EC2 ใน Lambda
สรุป
Budget เป็นฟังก์ชั่นที่มีประโยชน์ เราควรใช้การแจ้งเตือนเพื่อป้องกันการใช้งานหรือค่าใช้จ่ายที่มากเกินไป โดยเฉพาะความสามารถในการ forecast ที่จะทำการคาดการณ์ก่อนที่ค่าใช้จ่ายจริงจะถึง Budget ที่เราตั้งไว้ เพื่อหลีกเลี่ยงและตรวจสอบค่าใช้จ่ายที่ไม่จำเป็นได้