วิธีลดราคาด้วย Aurora I/O-Optimized วิธีดูว่าเปิดใช้งานแล้วจะคุ้มไหม จะลดราคาได้จริงหรือเปล่า
สวัสดีครับ ต้า ครับ
วันนี้เราเรามาเกี่ยวกับบทความที่จะพูดเกี่ยวกับฟังก์ชัน I/O-Optimized ของ Aurora ที่ "อาจจะ" ช่วยให้คุณลดค่าใช้จ่ายที่เกิดขึ้นกับ Aurora Resource ของคุณได้ครับ
ด้านล่างนี้เป็นบทความ Official ที่เกี่ยวกับ I/O-Optimized ครับ
Amazon Aurora I/O-Optimized คืออะไร
ก่อนอื่น เรามาเข้าใจเกี่ยวกับ การคิดเงินของ Aurora กันก่อนนะครับ
ด้านล่างนี้เป็นรายละเอียด ราคา Amazon Aurora – AWS เราจะเห็นว่าในส่วนการคิดค่าใช้จ่าย ราคาตามพื้นที่เก็บข้อมูลและ I/O จะมีการแบ่งเป็นดังนี้(อ้างอิงจาก Region Singapore)
องค์ประกอบ | Aurora Standard | Aurora I/O-Optimized |
---|---|---|
อัตราพื้นที่เก็บข้อมูล | USD 0.11 ต่อ GB ต่อเดือน | USD 0.248 ต่อ GB ต่อเดือน |
อัตรา I/O | USD 0.22 ต่อ 1 ล้านคำขอ | รวมแล้ว |
จะเห็นได้ว่า การคิดเงินของ Aurora Standard และ Aurora I/O-Optimized นั้นมีการคิดเงินที่ต่างกัน
โดยที่ Aurora Standard จะมีการคิดเงินในส่วนของ อัตรา I/O แต่ Aurora I/O-Optimized นั้นไม่มีค่าใช้จ่ายในส่วนนี้
ซึ่งสรุปได้ว่า Aurora I/O-Optimized คือ การคิดราคาของ Aurora ที่จะไม่คิดราคา อัตรา I/O แต่ราคาส่วนอื่นจะเพิ่มแทน
หมายความว่าหาก Aurora ของเรามี I/O จำนวนมากๆ การใช้งาน Aurora I/O-Optimized นั้นจะทำให้ราคา Aurora ที่เราจ่ายต่อเดือนจะได้ราคาที่ถูกกว่าก็เป็นได้
โดยในตารางด้านบนนี้ จะเห็นแค่ว่าราคาของ อัตราพื้นที่เก็บข้อมูล(Storage) มีการเก็บสูงขึ้น แต่ความจริงยังมีอย่างอื่นที่ราคาสูงขึ้นอีก ซึ่งจะเล่าในหัวข้อต่อไป
การคิดราคา Instance ก็เพิ่ม
สำหรับ Instance ที่เปิดการใช้งาน I/O-Optimized จะมีการคิดราคาเพิ่มอีก 30% (เพิ่มทั้งแบบ On-Demand และ Reserved)
จากหน้า ฐานข้อมูลแบบเชิงสัมพันธ์ MySQL PostgreSQL – ราคา Amazon Aurora – AWS ราคา instance ของ Aurora I/O-Optimized จะแพงกว่า Aurora Standard อยู่ 30% โดยสังเกตได้ว่าในภาพของ Aurora I/O-Optimized ที่อยู่ด้านขวาจะแพงกว่าด้านซ้ายอยู่ 1.3 เท่า
ซื่งทำให้เราจำเป็นต้องมาคำนวณค่าใช้จ่ายที่เกิดขึ้นกับ Aurora Resource กันก่อน ถึงจะทราบได้ว่าใช้ I/O-Optimized แล้วจะคุ้มหรือไม่
แล้วราคาเท่าไรแล้วถึงคุ้ม
สำหรับท่านที่อ่านมาถึงตรงนี้น่าจะทราบแล้วว่าถ้าค่าใช้จ่ายที่เกิดขึ้นใน Aurora มีอัตราส่วนจาก I/O เยอะมากๆ จะใช้ I/O-Optimized แล้วจะคุ้ม
ราคาที่เพิ่มขึ้น
อัตราพื้นที่เก็บข้อมูล
USD 0.11 → USD 0.248
ราคาเพิ่มขึ้น 125%
ราคา Instance type
ราคาเพิ่มขึ้น 30%
โดยที่ ราคา I/O > (อัตราพื้นที่เก็บข้อมูลที่เพิ่มขึ้น + ราคา Instance ที่เพิ่มขึ้น) ราคาจะคุ้มต่อการ I/O-Optimized ครับ
สรุปวิธีคำนวณ
วิธีคำนวณแบบคร่าวๆ
วิธีคิดคร่าวๆ คือ ถ้า ราคา I/O เราคิดมากกว่า 30% ของราคาที่เกิดกับ Aurora ทั้งหมด เราควรที่จะพิจารณาการการใช้ I/O-Optimized ครับ
โดยวิธีการดูเราสามารถดูได้ตามนี้ครับ
เปิด AWS Management Console > Cost Explorer > เลือกดู RDS
เราจะเห็นราคาของ RDS ที่เกิดขึ้นในแต่ละเดือน
แต่อย่าพึ่งก่อนราคาของ RDS ที่แสดงขึ้นอยู่ในส่วนนี้จะเป็นราคาของ RDS และ Aurora ซึ่งหัวข้อที่เราที่เราต้องการจะทราบคือ Aurora เท่านั้น ทำให้เราต้องทำการใช้ Filter ด้านขวามือ เพื่อทำการกรองข้อมูลที่เป็น Aurora เท่านั้นให้ได้ออกมาก่อน
(ในกรณีที่ Account ของเรามีการใช้งานแค่ Aurora เท่านั้นก็สามารถใช้หัวข้อนี้ไปได้เลย)
ราคาที่แสดงขึ้น $26.09 จะเป็นราคาทั้งหมดของ RDS + Aurora ที่เกิดขึ้นใน Account นี้ในเดือน Apr 2024 ที่ผ่านมา
ด้วยความที่ใน Account ที่ผมดูอยู่โดยด้านล่างนี้จะเป็นราคาที่มี RDS อยู่ด้วย ผมจึงทำการกรองข้อมูลออกมาให้เหลือแต่ Aurora โดยได้ราคาเท่านี้ครับ(ใช้ Filter Tag แล้วเลือกชื่อที่มีแต่ Aurora เท่านั้น)
ราคาที่แสดงขึ้น $0.84 จะเป็นราคาทั้งหมดของ Aurora ที่เกิดขึ้นใน Account นี้ในเดือน Apr 2024 ที่ผ่านมา
จากนั้นให้เราเลือก "Usage type" เลือก APN1-Aurora:StorageIOUsage (IOs)
APN1-Aurora:StorageUsage (GB-Month)
APS1-Aurora:StorageIOUsage (IOs)
APS1-Aurora:StorageUsage (GB-Month)
จะเป็นการกรองหัวข้อราคาที่เกิดจาก I/O ทั้งหมดครับ
จะเห็นราคาที่แสดงขึ้น $0.04 ครับ
โดยที่เมื่อเราเปรียบเทียบแล้ว $0.04 จะไม่ถึง 30% ของ $0.84
ทำให้สรุปแบบคร่าวๆได้ว่า ใช้ I/O-Optimized แล้วไม่คุ้ม
ราคาของ Aurora ต่อเดือนที่เกิดขึ้นอาจจะเพิ่มมากขึ้นแทนครับ
วิธีคำนวนแบบละเอียด
ในหัวข้อที่แล้วจะเป็นการดูรวมๆว่า Aurora ที่เราใช้ทั้งหมดมีราคา I/O อยู่เท่าไร
ซึ่งในกรณีที่เรามี Aurora Cluster หลายๆ ตัว อาจจะทำให้ผลลัพท์การดูคลาดเคลื่อนได้
ยกตัวอย่างเช่น เราดูรายละเอียดราคาที่เกิดขึ้นกับ Aurora ในแบบคร่าวๆในหัวข้อด้านบน เราได้รับผลลัพท์ว่า
ราคา Aurora ทั้งหมดที่เกิดขึ้น = $100
ราคา Aurora ที่เกี่ยวกับ I/O = $10
ซึ่งหากเราดูคร่าวๆ $10 น้อยกว่า 30% ของ $100 ซึ่งได้ผลสรุปว่าไม่ต้องใช้ I/O-Optimized
แต่เมื่อเราดูรายละเอียดลึกลงไปที่ Aurora Cluster แต่ละตัว เราอาจจะเห็นผลลัพท์ที่ต่างไป เช่น
เราพบเราใช้ Aurora Cluster อยู่ 2 ตัว
โดยมีรายละเอียดดังนี้
ราคา Aurora ตัวที่ 1 ทั้งหมดที่เกิดขึ้น = $20
ราคา Aurora ตัวที่ 1 ที่เกี่ยวกับ I/O = $9
ราคา Aurora ตัวที่ 2 ทั้งหมดที่เกิดขึ้น = $70
ราคา Aurora ตัวที่ 2 ที่เกี่ยวกับ I/O = $1
จะเห็นได้ว่า Aurora ตัวที่ 1 มีราคา I/O มากกว่า 30% ของราคา Aurora ตัวที่ 1 ทั้งหมดที่เกิดขึ้น ซึ่งถ้าเป็นแบบนี้ ใช้ I/O-Optimized แล้วน่าจะคุ้ม
วิธีดูแบบละเอียดในกรณีที่เรามี tag กับ Aurora Cluster ที่เราใช้
ในกรณีที่เรามี tag เหมือนกัน แต่ Value ต่างกัน กับ Aurora Cluster (เช่น Tag:name แต่ Value:ไม่เหมือนกันสักตัว) เราสามารถใช้วิธีนี้เพื่อดูรายละเอียดของค่าใช้จ่ายที่เกิดขึ้นกับ Cluster ที่เกิดขึ้นกับแต่ละตัวได้
จะเห็นว่าเมื่อเราเอาเมาส์ไปจ่อ เราจะเห็นรายละเอียดค่าใช้จ่ายที่เกิดขึ้นในแต่ละ tag ที่ต่างกันครับ
คราวนี้ในหัวข้อ Tag ด้านล่าง เราสามารถเลือกดูรายการไหนเป็นพิเศษได้
และสามารถใช้วิธีด้านบนในการกรองค่าใช้จ่ายที่เกิดขึ้นกับ Aurora ของเราได้ครับ
วิธีดูแบบละเอียดขึ้นไปอีก
ถ้าเราอยากชัวร์จริงๆ ว่าเราใช้ I/O-Optimized แล้วจะคุ้มจริงๆไหม เราสามารถดูละเอียดขึ้นไปอีกได้ครับ
โดยในหัวข้อด้านบนผมบอกว่า ถ้าราคา I/O เกิน 30% ของราคาทั้งหมดให้ลองพิจารณาการใช้ I/O-Optimized
นั้นเป็นการประมาณการคร่าวๆครับ
เพราะราคาที่จะเพิ่มจริงๆจากการใช้ I/O-Optimized นั้น ราคา Instance type จะเพิ่มขึ้น 30% และ ราคาอัตราพื้นที่เก็บข้อมูล จะเพิ่มขึ้น 125%
ซึ่งอัตราส่วนที่เพิ่มขึ้นมานี้ หากเราต้องการคำนวณแบบละเอียด ทางผมแนะนำให้ท่านผู้อ่าน ทำการตรวจสอบราคา Instance type และ ราคาอัตราพื้นที่เก็บข้อมูลก่อนการใช้ I/O-Optimized ครับ
สรุป
วิธีที่ผมแนะนำคือ วิธีคร่าวๆ ให้ไปดูว่าค่าใช้จ่าย I/O เกิน 30% ของค่าใช้จ่ายทั้งหมดก็พอครับ โดยถ้าเราเห็นว่ามีอะไรผิดปกติ ค่อยทำการตรวจสอบลึกลงไปอีกเพื่อพิจารณาการใช้ I/O-Optimized อีกทีครับ
เพราะส่วนใหญ่ค่าใช้จ่าย I/O มักจะสอดคล้างกับ Instance type อยู่แล้ว (I/O ปกติมักจะอยู่ที่ ไม่เกิน 15% ของราคาทั้งหมด)
บทความที่เกี่ยวข้อง
- Database ใช้อะไรดีระหว่าง Aurora กับ RDS | DevelopersIO
- Aurora vs RDS แตกต่างกันอย่างไร ? | DevelopersIO
- New – Amazon Aurora I/O-Optimized Cluster Configuration with Up to 40% Cost Savings for I/O-Intensive Applications | AWS News Blog
- ฐานข้อมูลแบบเชิงสัมพันธ์ MySQL PostgreSQL – ราคา Amazon Aurora – AWS
- Amazon Aurora I/O-Optimized で Aurora のコスト最適化を実際に行った結果 - サーバーワークスエンジニアブログ