แนะนำวิธีใช้ AWS ให้ถูกลงด้วย Reserved Instances
สวัสดีค่ะ ซาน่า นะคะ ครั้งนี้เราได้แปลบล็อกเกี่ยวกับ แนะนำวิธีใช้ AWS ให้ถูกลงด้วย Reserved Instances โดยมีต้นฉบับมาจากฝั่งญี่ปุ่นค่ะ ซึ่งเนื้อหาหลักเรายึดตามบทความต้นฉบับเลยค่ะ แต่จะมีการปรับเปลี่ยนคำอธิบายเพื่อให้ Beginner ทำความเข้าใจได้ง่ายขึ้น บล็อกนี้เราตั้งใจเขียนเป็นพิเศษเลย!!! หวังว่าจะมีประโยชน์กับผู้ใช้งาน AWS ทุกคนนะคะ
อย่างที่หลาย ๆ คนทราบกันว่า AWS มีวิธีการคิดค่าบริการแบบ pay-as-you-go แต่เนื่องจากค่าบริการที่ค่อนข้างสูงส่งผลให้มีราคาต้นทุนที่มากเกินไป บางทีอาจจะยังไม่ตอบโจทย์สำหรับบางคน คำถามต่อมาคือ “แล้วเราจะสามารถลดต้นทุนลงได้บ้างไหม?” คำตอบคือ ได้ค่ะ! หากเราซื้อ Reserved Instances จะได้รับส่วนลดมากที่สุดถึง 72% แต่ในขณะเดียวกัน ก็มีข้อจำกัดบางประการที่จะต้องระวังเมื่อใช้งาน ซึ่งในบล็อกนี้เราจะอธิบายทั้งข้อดี ข้อเสีย และข้อควรระวังในการใช้ Reserved Instances ค่ะ
AWS Reserved Instances (RI) คือ?
Reserved Instances คือการจองอินสแตนซ์ล่วงหน้า ซึ่งสามารถลดค่าใช้จ่ายได้ มีให้บริการบน Amazon EC2, Amazon RDS เป็นต้น โดยปกติ AWS จะคิดค่าบริการตามปริมาณและระยะเวลาที่ใช้อินสแตนซ์ ซึ่งเป็นวิธีเรียกเก็บค่าบริการแบบทั่วไปหรือแบบ On-Demand นั่นเอง แต่ Reserved Instances จะเก็บค่าบริการจากการจองพร้อมส่วนลดมากที่สุดถึง 72% โดยคิดตาม Region, Instance types, ระยะเวลาจอง เป็นต้น
ประเภทของ Reserved Instances
Reserved Instances มีให้เลือก 2 ประเภท คือ Standard และ Convertible ซึ่งมีข้อจำกัดและการคิดค่าบริการที่แตกต่างกัน ดังนั้น สิ่งสำคัญคือเราควรเลือกประเภทให้ตอบโจทย์กับโปรเจกต์หรือบริษัทของผู้ใช้งานนั่นเอง
Standard
ได้รับส่วนลดสูงถึง 72% ไม่สามารถเปลี่ยนสัญญาที่ซื้อไว้ได้ เช่น Instance types เป็นต้น
Convertible
ได้รับส่วนลดสูงถึง 54% สามารถเปลี่ยนสัญญา Instance types, ระยะเวลา, แพลตฟอร์ม (os) ในภายหลังได้ โดยมีเงื่อนไขคือราคาที่ทำสัญญาใหม่จะต้องเท่าเดิมหรือสูงกว่าสัญญาที่ทำไว้ในครั้งแรก
จุดเด่นของ Reserved Instances
หากกล่าวถึงจุดเด่นของ Reserved Instances เรียกได้ว่า “เป็นการรับส่วนลดโดยมีข้อผูกพันในระยะเวลาการใช้งาน” นั่นเอง ! สำหรับโปรเจกต์ที่มีการใช้งานในระยะยาว แนะนำให้พิจารณาใช้ Reserved Instance เป็นอันดับแรก
การเปลี่ยน Instance types มีข้อจำกัด ดังนั้น Reserved Instance จะตอบโจทย์สำหรับโปรเจกต์ที่ต้องทำงานตลอด 24 ชั่วโมง 365 วัน, ระบบที่ทำงานอย่างเสถียร, สเปกไม่เปลี่ยนแปลงมาก กล่าวโดยสรุปคือ เหมาะสำหรับการใช้งานในระบบที่ต้องทำงานตลอดเวลา ไม่เหมาะกับงานที่ทดสอบสภาพแวดล้อมเฉพาะเวลาที่จำเป็นนั่นเอง
ข้อดีและข้อเสียของ Reserved Instances
ข้อดีของ Reserved Instances
1.ช่วยลดต้นทุนบริษัท
ตามที่เราได้เขียนอธิบายไว้ด้านบนเลยค่ะ Reserved Instances คือการจองพร้อมรับส่วนลด นับเป็นการช่วยลดต้นทุนบริษัทนั่นเอง
2.เลือกวิธีการชำระเงินได้
วิธีชำระค่าบริการของ Reserved Instances มีให้เลือกทั้งหมด 3 แบบ
No upfront (จองโดยไม่ชำระล่วงหน้า แบ่งชำระรายเดือน )
Partial upfront (จองพร้อมชำระล่วงหน้าบางส่วนในช่วงเดือนแรก ในส่วนที่เหลือจะแบ่งชำระรายเดือน )
All upfront (ชำระล่วงหน้าทั้งหมดครั้งแรก)
ตัวอย่างราคาตามระยะการจอง (3 ปีจะได้ส่วนลดมากกว่า 1 ปี) ด้วย AWS Pricing Calculator
- ค่าบริการ Reserved Instance สำหรับระยะเวลา 3 ปีอาจมีจำนวนมากจนส่งผลกระทบต่อการจัดงบประมาณประจำปีได้
- All upfront นอกจากได้รับส่วนลดมากที่สุดแล้ว เป็นตัวเลือกที่คาดว่าจะได้รับการอนุมัติจากบริษัทได้ง่ายเนื่องจากชำระล่วงหน้าทั้งหมดครั้งแรก
- No upfront แม้จะแบ่งชำระ แต่เราจะรู้ราคาที่ต้องจ่ายรายเดือนตั้งแต่ครั้งที่จองทำให้ง่ายต่อการจัดงบประมาณเช่นกัน ซึ่งต่างจากการชำระแบบ On-Demand
ข้อเสียหรือข้อจำกัดในการใช้ Reserved Instances
1.ไม่สามารถยกเลิกการจองได้
Reserved Instances ไม่สามารถยกเลิกภายหลังได้ แม้จะบังเอิญกดจองไปแล้วก็ตาม ไม่ว่าจะเลือก Region หรือ Instance types ผิดก็ไม่สามารถยกเลิกการจองได้ ดังนั้น ควรระมัดระวังเมื่อกดจอง
2.ความยืดหยุ่นการใช้งานลดลง
อย่างที่ทุกคนทราบกันดีค่ะว่า AWS สามรถปรับเปลี่ยนการตั้งค่าได้อยู่ตลอด เรียกได้ว่ามีการใช้งานที่ยืดหยุ่นมาก แต่สำหรับ Reserved Instances แล้วเนื่องจากจำเป็นต้องกำหนดสเปคก่อนจองและไม่สามารถเพิ่มขนาดในภายหลังได้ ความยืดหยุ่นจึงลดลงนั่นเอง ดังนั่น ไม่แนะนำให้ใช้งานบนโปรเจกต์ที่มีความผันผวนสูง
3.การชำระค่าบริการจะดำเนินต่อแม้ว่าเซิร์ฟเวอร์จะถูกระงับ
Reserved Instances ไม่สามารถยกเลิกกลางคันเช่นเดียวกับการยกเลิกหลังจองแม้ว่าเซิร์ฟเวอร์อาจถูกระงับจากปัจจัยภายนอก ซึ่งความเสี่ยงนี้สามารถเกิดขึ้นได้เช่นกัน
ข้อควรระวังเมื่อใช้ Reserved Instances
หากเข้าใจเงื่อนไข Reserved Instances และนำไปใช้งานให้เหมาะสมจะช่วยลดต้นทุนบริษัทได้อย่างมาก แต่บางคนก็อาจจะกังวลเรื่องการใช้งาน ทีมงานจึงได้รวบรวมคำถามต่าง ๆ โดยอ้างอิงมาจาก Inquiry ดังนี้
Q. ต้องการซื้อ Reserved Instances ไปใช้งานกับ Instances ที่ใช้อยู่ปัจจุบัน จำเป็นต้อง Restart หรือดำเนินการใด ๆ ไหม?
ไม่จำเป็นต้อง Restart หรือทำการดำเนินการเพิ่มเติม การจอง Reserved Instances นั้นเปรียบเสมือน "การซื้อส่วนลด" ซึ่งจะถูกนำไปใช้กับ Instances ที่เข้ากับเงื่อนไขการจองโดยอัตโนมัติ สรุปคือนอกจากการซื้อ Reserved Instances แล้วไม่จำเป็นต้องดำเนินใด ๆ เพิ่มเติมกับ Instances ที่กำลังทำงานอยู่
Q. มี AWS หลายบัญชี แต่สั่งซื้อ Reserved Instances ผิดบัญชี สามารถยกเลิกได้หรือไม่?
ตามที่ได้กล่าวไว้ Reserved Instances ไม่สามารถยกเลิกภายหลังได้ การซื้อผิดบัญชีจะไม่สามารถย้ายไปอีกบัญชีได้ ดังนั้น ควรตรวจเช็คความถูกต้องก่อนสั่งซื้อ
Q. ซื้อ Reserved Instances สำหรับ SQL Server แบบ Single-AZ ใน Amazon RDS ไป หากเปลี่ยน Instances เป็น Multi-AZ จะเกิดอะไรขึ้น?
ใน Amazon RDS หากมี DB engine และ instance family เป็นอันเดียวกัน จะสามารถใช้ราคาของ Reserved Instances แบบ Single-AZ ไปใช้กับค่าบริการของ Multi-AZ ได้ แต่เนื่องจาก SQL Server เป็นข้อยกเว้น เมื่อเปลี่ยนเป็น Multi-AZ แล้วจะไม่ได้รับส่วนลดจาก Reserved Instances อีกต่อไป