ทำความเข้าใจหลักการคิดค่าบริการ AWS และจุดที่ควรระวังเมื่อลองคำนวณค่าใช้จ่าย
สวัสดีค่ะ แพร นะคะ ในครั้งนี้แพรมีบทความเกี่ยวกับการคิดค่าใช้จ่ายบริการใน AWS ที่น่าสนใจ และอยากจะแบ่งปันให้กับทุกคนได้อ่านกันค่ะ โดยบทความนี้เป็นบทความที่แปลมาจากภาษาญี่ปุ่นในหัวข้อ【AWSの料金体系は?主要サービスの料金や試算時の注意点を解説】โดยมีการปรับเนื้อหา และภาษาบางส่วนให้สอดคล้องกับทางบริษัท Classmethod (Thailand) Co., Ltd เพื่อให้ง่ายต่อการเข้าใจ รวมถึงอาจมีบางจุดที่แตกต่างจากเนื้อหาต้นฉบับเล็กน้อยค่ะ
ในที่นี้อาจจจะมีบางคนที่กำลังกังวลกับวิธีการเก็บค่าบริการตามการใช้งานจริง (Pay-as-you-go) ของ AWS ว่าในความเป็นจริงแล้ว มีการคิดค่าธรรมเนียมอย่างไรกันแน่
เนื่องจาก AWS มีการคิดค่าบริการที่มีลักษณะเฉพาะ ทำให้ค่าใช้จ่าย และราคา (ต่อหน่วย) ที่เรียกเก็บ จะแตกต่างกันไปตามบริการที่เลือกใช้ด้วยเช่นกัน ด้วยปัญหาดังกล่าวทำให้เรามักจะได้ยินคำถามที่ว่า “ไม่ค่อยเข้าใจเลยว่าสุดท้ายแล้วจะต้องจ่ายเงินเท่าไร” อยู่บ่อย ๆ ดังนั้น ในบทความนี้จะมาอธิบายพื้นฐานของการคิดค่าบริการ AWS และแนะนำจุดที่ควรระวังเมื่อลองคำนวณราคา รวมถึงจะมาสรุปวิธีที่จะใช้งาน AWS ได้อย่างคุ้มค่าที่สุด ถ้าพร้อมแล้วไปเริ่มกันเลยค่ะ!
ภาพรวมหลักการคิดค่าบริการ
ควร "ทำความเข้าใจการกำหนดค่าที่คุณต้องการใช้งาน" ล่วงหน้า
ก่อนจะเริ่มดูราคา ขอแนะนำให้เราตัดสินใจให้ชัดเจนเลยว่า “อยากใช้งานในรูปแบบไหน”
ตามที่ได้กล่าวไปแล้วข้างต้น ค่าบริการ AWS จะคิดโดย (ราคาต่อหน่วย x ปริมาณการใช้งาน) แต่เนื่องจากราคาจะเปลี่ยนไปตตาม OS หรือ สเปค ที่ใช้งาน เลยไม่สามารถลองคำนวณได้ว่าในแต่ละเดือนเราจะต้องจ่ายค่าบริการเท่าไร ดังนั้นเราจำเป็นที่จะต้องกำหนดโครงสร้าง หรือรูปแบบก่อนการใช้งานเสมอ
โดยขั้นแรก ให้ทำความเข้าใจในเรื่อง สเปคเซิร์ฟเวอร์ หรือ OS ที่ต้องการใช้งาน จำนวนเซิร์ฟเวอร์ ชั่วโมงการทำงาน ปริมาณข้อมูลใน Storage รวมถึงปริมาณการรับส่งข้อมูลรายเดือนและปริมาณการถ่ายโอนข้อมูลที่คาดไว้
การเช็คราคาที่หน้าเว็บไซต์ AWS และเครื่องมือที่เป็นประโยชน์สำหรับการคำนวณราคา
ค่าบริการ AWS ทั้งหมดสามารถตรวจสอบได้จากหน้าเว็บไซต์ออฟฟิเชียลโดยตรง
AWS มีนโยบายการลดราคา Service อยู่ตลอด ทำให้ค่าบริการมีการแก้ไขอยู่บ่อยครั้ง ดังนั้นแนะนำให้เช็คราคาปัจจุบันของแต่ละ Service ในหน้าเว็บไซต์ก่อนเสมอ อีกทั้งในหน้าเว็บไซต์เองยังแสดงรายการค่าใช้จ่าย ราคาต่อหน่วย รวมถึงตัวอย่างราคาให้ดูอีกด้วย ดังนั้นเราสามารถเข้าไปเช็คค่าใช้จ่าย และทำความเข้าใจได้ด้วยตนเองเช่นกัน
นอกจากนี้ AWS ยังมีเครื่องมือคำนวณค่าบริการให้บริการอีกด้วย โดยเครื่องมือนี้จะครอบคลุมบริการเกือบทุกอย่าง หากป้อนข้อมูลที่จำเป็น และรายละเอียดของบริการลงไป ระบบจะคำนวณค่าบริการให้อัตโนมัติทันที
การใช้เครื่องมือนั้นมีความรวดเร็ว และมีความแม่นยำมากกว่าการคำนวณด้วยตนเอง ทำให้คุ้มค่าต่อการใช้งาน ซึ่งขอแนะนำว่า ให้ตรวจสอบค่าใช้จ่าย และราคาต่อหน่วยในหน้าเว็บไซต์ก่อน จากนั้นให้ใช้เครื่องมือคำนวณราคา เพื่อทำการประเมินราคาจริงที่ต้องการใช้ต่อไป
ตัวอย่างค่าบริการ AWS
ในส่วนนี้จะอธิบายตัวอย่างค่าบริการของ AWS บางส่วนให้ทุกท่านเห็นภาพมากขึ้นค่ะ
※ตัวอย่างค่าบริการ AWS เป็นข้อมูล ณ เดือน สิงหาคม 2024 (Singapore Region)
Computing (Amazon EC2)
Amazon EC2 คือหนึ่งในบริการหลักของ AWS ที่ให้บริการเซิร์ฟเวอร์เสมือนจริง ซึ่งมีวิธีการเรียกเก็บเงินหลากหลายรูปแบบ โดยขึ้นอยู่กับวิธีการใช้งาน ซึ่งสำหรับ On-Demand Instance ที่เป็นวิธีเรียกเก็บเงินแบบพื้นฐานที่สุด ราคาต่อชั่วโมงจะถูกกำหนดตามระบบปฏิบัติการ (OS) และสเปคของอินสแตนซ์ (instance type)
การคิดค่าบริการของ Amazon EC2 นั้นค่อนข้างที่จะเข้าใจง่าย แต่ด้วยความที่มีประเภทอินสแตนซ์หลายประเภท รวมถึงราคาที่แตกต่างกันค่อนข้างมากขึ้นอยู่กับประเภทที่เลือกใช้ ดังนั้นจึงมีความจำเป็นจะต้องประเมิน และลองคำนวณสเปคที่ต้องการใช้ก่อนเริ่มใช้งานทุกครั้ง
<ตัวอย่างค่าบริการ>
● Singapore Region, OS (Linux), Instance type (t3.medium)
ราคาต่อชั่งโมงจะอยู่ที่ 0.0528USD (24 ชั่วโมง x 30 วัน = 38.016)
*ข้อมูล ณ วันที่ 13/8/2024
(อ้างอิง https://aws.amazon.com/th/ec2/pricing/on-demand/)
Network (ELB)
ELB หรือ Elastic Load Balancer เป็นบริการที่ให้บริการ Load balancer มีให้เลือกใช้ได้หลากหลายประเภทขึ้นอยู่กับการใช้งานต่าง ๆ รวมถึงมีเคสจำนวนไม่น้อยที่ใช้ Application Load Balancer (ALB) ร่วมกับ EC2 ในการสร้าง Web Service
ในส่วนของค่าบริการ ELB ระบบจะคิดค่าใช้จ่ายจากชั่วโมงการใช้งาน ELB รวมถึงชั่วโมงการใช้งานของ “LCU (Load Balancer Capacity Units)” ด้วยเช่นกัน LCU นั้นค่อนข้างที่จะเข้าใจยากเล็กน้อย และการเรียกเก็บเงินก็จะขึ้นอยู่กับว่า “คุณใช้ Load balance มากน้อยแค่ไหน” อีกทั้งการคิดค่าบริการจะพิจารณาจากการวัด และบันทึกข้อมูลตามตัวชี้วัดที่กำหนดไว้ เช่น จำนวนการเชื่อมต่อ ฯลฯ และจะมีการเรียกเก็บค่าบริการจากตัวที่มีปริมาณการใช้งานมากที่สุด
<ตัวอย่างค่าบริการ>
● Singapore Region, ALB
ราคาต่อชั่งโมงจะอยู่ที่ 0.0252USD
LUC จะคิดค่าบริการจากทรัพยากรสูงสุดในบรรดา (การเชื่อมต่อใหม่), (การเชื่อมต่อที่ใช้งานอยู่), (ประเภทการประมวลผล), และ (ค่าประเมินตามกฎ) ซึ่งจะมีราคาอยู่ที่ 0.008USD ต่อชั่วโมง (24 ชั่วโมง x 30 วัน = 5.76USD)
*ข้อมูล ณ วันที่ 13/8/2024
(อ้างอิง https://aws.amazon.com/th/elasticloadbalancing/pricing/)
Storage (Amazon EBS, Amazon S3)
Amazon EBS และ Amazon S3 ถือเป็นบริการ Storage ตัวหลักของ AWS แต่การใช้งานนั้นถือว่ามีความต่างกันอยู่มากเลยทีเดียว Amazon EBS ถูกใช้เป็นพื้นที่ให้กับดิสก์ของ Amazon EC2 และโดยทั่วไปจะมีการใช้งานร่วมกับ Amazon EC2
ในทางกลับกัน Amazon S3 เป็นบริการพื้นที่เก็บข้อมูลในแบบออบเจ็กต์ รวมถึงสามารถอัปโหลดและดาวน์โหลดไฟล์ไปยัง S3 ได้ผ่านเครือข่าย Network โดยใช้ API ซึ่งปกติทั้งสองบริการนี้จะคิดค่าบริการตามปริมาณพื้นที่จัดเก็บ แต่ Amazon EBS จะคิดค่าบริการตาม "พื้นที่ที่คุณสำรองไว้" ในขณะที่ Amazon S3 จะคิดค่าบริการตามปริมาณพื้นที่ใช้จริง ซึ่งในจุดนี้ก็เป็นสิ่งที่ทำให้ Amazon EBS และ Amazon S3 นั้นมีความต่างกัน นอกจากนี้ Amazon S3 ยังคิดค่าบริการตามจำนวน Requests ด้วย ดังนั้นจึงควรตรวจสอบค่าใช้จ่ายในส่วนนี้ด้วยเช่นกัน
<ตัวอย่างค่าบริการ>
● Amazon EBS (Singapore Region, SSD(gp2)สำหรับการใช้ทั่วไป)
0.12USD/GB/เดือน (100GB/เดือน = 12USD )
*ข้อมูล ณ วันที่ 13/8/2024
(อ้างอิง https://aws.amazon.com/th/ebs/pricing/)
● Amazon S3 (Singapore Region, S3 Standard)
50TB แรก/เดือน ราคาจะอยู่ที่ 0.025USD/GB (100GB/เดือน = 2.5USD )
PUT、COPY、POST、LIST requests ราคาจะอยู่ที่ 0.005USD/1,000 Requests
*ข้อมูล ณ วันที่ 13/8/2024
(อ้างอิง https://aws.amazon.com/th/s3/pricing/)
Data transfer
AWS มีการคิดค่าบริการสำหรับการถ่ายโอนข้อมูลด้วยเช่นกัน โดยเริ่มจากการเข้าถึง AWS จากภายนอก เช่น จากสำนักงานของคุณ AWS จะไม่คิดค่าบริการสำหรับการถ่ายโอนข้อมูลจากภายนอกเข้าสู่ AWS แต่จะคิดค่าบริการสำหรับการถ่ายโอนข้อมูลจาก AWS สู่ภายนอก นอกจากนี้ หากต้องการเตรียมเครือข่าย Network ที่ปลอดภัยโดยใช้ VPN หรือบริการเชื่อมต่อสายเฉพาะของ AWS (AWS Direct Connect) ก็จะมีค่าใช้จ่ายสำหรับการเชื่อมต่อ ดังนั้น อย่าลืมคำนวณก่อนการใช้งานด้วยเช่นกัน
<ตัวอย่างค่าบริการ>
● การถ่ายโอนข้อมูลจาก AWS สู่ภายนอก
ฟรี 100GB แรกในแต่ละเดือน 10TB ถัดไปจะคิดค่าบริการ 0.12USD/GB (Singapore Region)
*ข้อมูล ณ วันที่ 13/8/2024
(อ้างอิง https://aws.amazon.com/th/ec2/pricing/on-demand/?nc1=f_ls) *ให้ทำการกด Data Transfer ในแทบตัวเลือกด้านซ้าย
ข้อควรระวังในการคิดค่าบริการ AWS
สิ่งที่ควรระวังเกี่ยวกับค่าใช้จ่ายของ AWS คือการเรียกเก็บเงินตาม "จำนวน Requests" โดยเฉพาะ Amazon S3 จะมีการเรียกเก็บเงินสำหรับ Requests ขอไฟล์ ดังนั้นจึงมีกรณีที่ค่าใช้จ่ายพุ่งสูงเนื่องจากแอปพลิเคชัน หรือมิดเดิลแวร์ส่ง Requests ขอไฟล์หลายครั้ง และไม่ควรใช้ S3 ในลักษณะเดียวกับการเก็บข้อมูลใน On-premise storage เพื่อหลีกเลี่ยง Requests ส่วนเกิน เพราะในบางครั้งอาจจะจำเป็นต้องแก้ไขการตั้งค่า หรือการทำงานของแอปพลิเคชัน ดังนั้นแนะนำให้ทดสอบและตรวจสอบการทำงานของแอปพลิเคชันก่อนที่จะนำมาใช้บน AWS
นอกจากนี้ บริการ CDN (Amazon CloudFront) ยังเป็นบริการหลักที่มีการคิดค่าใช้จ่ายตามจำนวน Requests เช่นกัน เนื่องจากมีการเรียกเก็บค่าบริการสำหรับ Requests จากภายนอก ทำให้ไม่สามารถควบคุมค่าใช้จ่ายล่วงหน้าได้ ดังนั้น แนะนำให้คำนวณจากจำนวน Requests ที่คาดว่าจะเกิดขึ้นทุกครั้ง
วิธีที่จะใช้งาน AWS ได้อย่างคุ้มค่า
“การลดจำนวน Requests ใน Amazon S3” ถือเป็นหนึ่งวิธีที่จะทำให้สามารถใช้งาน AWS ได้อย่างคุ้มค่ามากขึ้น การใช้ AWS โดยคำนึงถึงหลักการคิดค่าบริการ และองค์ประกอบในการเรียกเก็บเงินของ AWS จะช่วยให้สามารถปรับแต่งค่าใช้จ่ายให้เหมาะสมได้ดียิ่งขึ้น ดังนั้นเราควรจะต้องเข้าใจระบบการคิดค่าบริการเป็นอย่างดี แล้วจึงพิจารณาการใช้งานขององค์กรตนเองต่อไป
นอกจากนี้ สิ่งที่อยากแนะนำอีกอย่างหนึ่งสำหรับการใช้งาน AWS ให้คุ้มค่าที่สุด คือบริการ “Reserved Instances” ใน Amazon EC2 หรือก็คือการจองการใช้งานล่วงหน้า วิธีนี้เป็นวิธีที่จะทำให้สามารถรับส่วนลดการใช้งานสูงสุดถึง 72% เลยทีเดียว ถึงแม้จะมีข้อจำกัดบางอย่าง แต่การจองล่วงหน้าจะสามารถช่วยลดต้นทุนองค์กรของเราลงไปได้เยอะพอสมควร
สามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับ Reserved Instances ได้ในบทความด้านล่าง
● แนะนำวิธีใช้ AWS ให้ถูกลงด้วย Reserved Instances
Classmethod ให้บริการสนับสนุนการคำนวณราคา ออกใบเสนอราคา รวมถึงมอบส่วนลดให้แก่ผู้ใช้งานจากการเป็นตัวแทนชำระเงิน
แม้ว่าจะได้อธิบายเกี่ยวกับค่าใช้จ่ายของ AWS ไปแล้ว แต่เมื่อถึงเวลาที่ต้องคำนวณราคาเองนั้น ก็มักจะเกิดความสับสน และตัดสินใจยากเสมอ เช่น "ควรเลือกอะไรดี" "ควรเลือกสเปคระดับไหน" "โครงสร้างนี้เหมาะสมแล้วหรือเปล่า" ฯลฯ
โดยบริษัท Classmethod ให้การสนับสนุนในการคำนวณราคา และประเมินค่าใช้จ่าย AWS จากประสบการณ์ และความเชี่ยวชาญในด้าน AWS อย่างกว้างขวาง
ยิ่งไปกว่านั้นทาง Classmethod Thailand ยังจัดอบรม AWS แบบฟรี ๆ ไม่มีค่าใช้จ่าย (จ่ายเพียงแค่ค่าใช้บริการจาก AWS) ให้กับผู้ที่สนใจอยู่ด้วย โดยสามารถศึกษาวิธีคิดค่าใช้จ่ายไปพร้อม ๆ กับใช้งาน AWS ได้เลยทันที
หากต้องการรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการประเมินราคา AWS สามารถดูได้จากคอลัมน์ด้านล่าง
● แนะนำวิธีและข้อควรระวังในการประมาณราคาบน AWS