PlAwAnSaI
Administrator
AWS Fargate คืออะไร ทำงานยังไง?:
AWS Fargate เป็น Service ประมวลผล (Compute) แบบ Serverless ที่ช่วยให้คุณสามารถเรียกใช้ Container ได้โดยไม่ต้องจัดการ Server หรือ Cluster
เมื่อคุณ Deploy App แบบ Container บน Fargate ขั้นแรกคุณจะต้องระบุรายละเอียด เช่น Container Image, ขนาด CPU, หน่วยความจำ และข้อมูลเครือข่าย ฯลฯ จากนั้น Fargate จะใช้ค่าพวกนี้ กำหนดจำนวนงาน (Task) ที่ควรจะ Run และจัดการ Deploy Container ให้คุณ
เบื้องหลัง Fargate ใช้ Elastic Container Service (ECS) เพื่อจัดเตรียมและจัดการ Container มันช่วยคุณ Schedule Container, การปรับขนาด และ Balance Load เมื่อ Task Fargate Launch มันจะทำงานใน Environment ที่แยกจากกัน (Isolate) พร้อมกับ Stack เครือข่ายของตัวเอง ทำให้ช่วยเพิ่มความปลอดภัยระหว่าง Task ต่างๆ
เราจะลด Cost ของ Fargate ได้ยังไงบ้าง?:
ถ้าเราบอกคุณว่าคุณจะได้รับผลตอบแทนจากการลงทุน (Return Of Investment/ROI) มากขึ้นจากการใช้งาน Fargate ของคุณ? ใช่! AWS นำเสนอวิธีสำหรับธุรกิจในการประหยัดค่าใช้จ่ายด้วย Fargate ซึ่งเราจะกล่าวถึงด้านล่างนี้ นอกจากนี้เรายังจะบอกถึงแนวทางปฏิบัติที่ดีที่สุด (Best Practice) ที่คุณสามารถใช้เพื่อประหยัด Cost Fargate โดยการเพิ่มประสิทธิภาพการใช้งาน Fargate, การจัดการปริมาณงานที่ดีขึ้น และการกำจัดทรัพยากรที่สูญเปล่า (Wasted)

AWS Fargate เป็น Service ประมวลผล (Compute) แบบ Serverless ที่ช่วยให้คุณสามารถเรียกใช้ Container ได้โดยไม่ต้องจัดการ Server หรือ Cluster

เมื่อคุณ Deploy App แบบ Container บน Fargate ขั้นแรกคุณจะต้องระบุรายละเอียด เช่น Container Image, ขนาด CPU, หน่วยความจำ และข้อมูลเครือข่าย ฯลฯ จากนั้น Fargate จะใช้ค่าพวกนี้ กำหนดจำนวนงาน (Task) ที่ควรจะ Run และจัดการ Deploy Container ให้คุณ
เบื้องหลัง Fargate ใช้ Elastic Container Service (ECS) เพื่อจัดเตรียมและจัดการ Container มันช่วยคุณ Schedule Container, การปรับขนาด และ Balance Load เมื่อ Task Fargate Launch มันจะทำงานใน Environment ที่แยกจากกัน (Isolate) พร้อมกับ Stack เครือข่ายของตัวเอง ทำให้ช่วยเพิ่มความปลอดภัยระหว่าง Task ต่างๆ
เราจะลด Cost ของ Fargate ได้ยังไงบ้าง?:

ถ้าเราบอกคุณว่าคุณจะได้รับผลตอบแทนจากการลงทุน (Return Of Investment/ROI) มากขึ้นจากการใช้งาน Fargate ของคุณ? ใช่! AWS นำเสนอวิธีสำหรับธุรกิจในการประหยัดค่าใช้จ่ายด้วย Fargate ซึ่งเราจะกล่าวถึงด้านล่างนี้ นอกจากนี้เรายังจะบอกถึงแนวทางปฏิบัติที่ดีที่สุด (Best Practice) ที่คุณสามารถใช้เพื่อประหยัด Cost Fargate โดยการเพิ่มประสิทธิภาพการใช้งาน Fargate, การจัดการปริมาณงานที่ดีขึ้น และการกำจัดทรัพยากรที่สูญเปล่า (Wasted)
- Fargate Spot
AWS เปิดตัว Fargate Spot เพื่อลดต้นทุนของ Fargate โดยเสนออัตราที่ถูกกว่าเนื่องจาก Workload Container ของคุณจะทำงานบน Capacity สำรองที่มีอยู่ใน AWS มีข้อเสียเพียงอย่างเดียวคือคุณจะได้รับแจ้งล่วงหน้าเพียงสองนาทีหลังจากที่ AWS ต้องการ Capacity คืน
ดังนั้น Fargate Spot จึงเหมาะกับ Workload และ Website หรือ API Server ที่ทนต่อข้อผิดพลาด (Fault) หรือทนต่อการหยุดชะงัก (Interruption) ได้ เนื่องจากโดยปกติแล้วมันจะประมวลผลคำขอที่มีระยะเวลาสั้น นอกจากนี้ยังเหมาะอย่างยิ่งสำหรับ Workload ที่สามารถขนานกันได้ เช่น การ Render รูปภาพ, การจำลองแบบ Monte Carlo, การประมวลผล Genome, หรือ Development Environment
นอกจากนี้ คุณยังสามารถกำหนดค่า Configure Fargate ของคุณอย่างมีกลยุทธ์เพื่อปรับปรุงความคุ้มค่า ตัวอย่างเช่น คุณสามารถระบุจำนวน Task ขั้นต่ำที่ควร Run ตลอดเวลาบน Container Fargate ปกติได้ จากนั้นหากมีการเพิ่ม Task ให้ไป Run บน Fargate Spot เมื่อ Capacity สำรองยังเหลืออยู่, Fargate Spot จะเพิ่มหรือลดขนาดโดยอัตโนมัติตามความพร้อมใช้งาน
ภาพด้านล่างนี้ สมมติว่าหากคุณต้องการใช้งาน Container หกตัว คุณสามารถแจกจ่ายครึ่งนึงให้กับ Fargate ปกติ และอีกครึ่งนึงให้กับ Instance Fargate Spot
ด้านล่างนี้คือการเปรียบเทียบระหว่างราคา Fargate ปกติและราคา Fargate Spot ของ Region สิงคโปร์
ราคา Instance ปกติ ราคา Fargate Spot ประหยัดไป ต่อ vCPU ต่อชั่วโมง 1.82 ฿ 0.54 ฿ 70% ต่อ GB ต่อชั่วโมง 0.36 ฿ 0.08 ฿ 70%
Code:https://aws.amazon.com/fargate/pricing
- AWS Savings Plans
อีกทางเลือกหนึ่งจาก AWS ในการประหยัด Cost คือ AWS Savings Plans เสนอราคาที่ต่ำกว่าเมื่อเทียบกับ Rate On-demand ด้วยรูปแบบการกำหนดราคาที่ยืดหยุ่น ด้วย Savings Plans คุณยอมรับการใช้งานคอมพิวเตอร์ตามจำนวนที่กำหนดโดยวัดเป็น $/ชั่วโมง เป็นระยะเวลาหนึ่งปีหรือสามปี
Code:https://dev.classmethod.jp/articles/saving-plan-vs-reserved-instance-whats-the-difference
- Task Fargate ที่ปรับขนาดให้เหมาะสม
- Auto Scaling
เป็นอีกเครื่องมือหนึ่งที่ช่วยให้แน่ใจว่า Cluster (Cluster ECS คือการจัดกลุ่ม Task/Service แบบ Logical) จะไม่ปรับขนาดโดยไม่จำเป็นเพื่อปรับ Cost Fargate ให้เหมาะสม เช่นเดียวกับการ Configure Resource ตามขนาดที่เหมาะสม คุณสามารถปรับแต่งการปรับขนาดอัตโนมัติของ Fargate ในการ Configure Service Fargate เพื่อลด Cost ได้
การปรับขนาดอัตโนมัติตามเวลาที่กำหนด: คุณสามารถ Configure การปรับขนาดตามเวลาที่กำหนดซึ่งมีอยู่ในทั้ง ECS และ AWS Fargate ตัวอย่างเช่น คุณสามารถกำหนดเวลาให้ Service Fargate หยุดทำงานในช่วงนอกเวลาทำการและวันหยุดสุดสัปดาห์ได้ ซึ่งจะช่วยประหยัดเพิ่มอย่างมาก
การปรับขนาดประเภทอื่นๆ ที่นำเสนอโดย AWS Fargate ได้แก่:
การ Track Target: เมื่อคุณเพิ่มหรือลดจำนวน Task ตาม Metric เฉพาะ ตัวอย่างเช่น คุณอาจกำหนดให้เมื่อมีการใช้งาน CPU 75% ถึงจะมีการ Scale เพิ่ม Task สำหรับ Service ที่ใช้ CPU มาก
- การ Tag Resource
- ใช้ Feature หลาย Load Balancer Target Group
Code:
https://www.simform.com/blog/aws-fargate-pricing
Last edited: