คู่มือแนะนำ AWS Fargate

AWS Fargate เป็นเทคโนโลยีที่สามารถใช้กับ Amazon ECS และ Amazon EKS ได้ ช่วยให้คุณเรียกใช้คอนเทนเนอร์โดยไม่ต้องจัดการเซิร์ฟเวอร์หรือคลัสเตอร์ของอินสแตนซ์ Amazon EC2

Fargate ขจัดความจำเป็นในการกำหนดค่า ปรับขนาด หรือจัดเตรียมคลัสเตอร์เครื่องเสมือนเพื่อดำเนินการคอนเทนเนอร์ ไม่จำเป็นต้องเลือกประเภทเซิร์ฟเวอร์ กำหนดเวลาการปรับขนาดคลัสเตอร์ หรือเพิ่มประสิทธิภาพการจัดคลัสเตอร์

เราสามารถใช้ประเภทการเปิดใช้ Fargate หรือผู้ให้บริการความจุของ Fargate เพื่อเรียกใช้งานและบริการ Amazon ECS ของคุณ ในการใช้ Fargate คุณสามารถจัดแพ็คเกจแอปพลิเคชันของคุณในคอนเทนเนอร์ ระบุข้อกำหนดของระบบปฏิบัติการ CPU และหน่วยความจำ กำหนดค่าเครือข่ายและนโยบาย IAM และเปิดใช้งาน

ไม่จำเป็นต้องรักษาความจุของ CPU และ RAM พื้นฐานเพื่อโฮสต์คอนเทนเนอร์ เราสามารถบอก AWS ได้ว่างานต้องการทรัพยากรมากน้อยเพียงใด และปล่อยให้งานที่เหลือเป็นหน้าที่ของ AWS งาน Fargate แต่ละงานมีอุปสรรคในการแยก ดังนั้นจึงไม่แชร์เคอร์เนล ซีพียู หน่วยความจำ หรืออินเทอร์เฟซเครือข่ายแบบยืดหยุ่นร่วมกับงานอื่นๆ

Fargate ทำงานอย่างไร?

Fargate ทำงานโดยอนุญาตให้คุณปรับใช้คอนเทนเนอร์โดยไม่ต้องตั้งค่าหรือจัดการโครงสร้างพื้นฐานที่จะโฮสต์ คุณบอก Fargate ว่าอิมเมจคอนเทนเนอร์ใดที่คุณต้องการเรียกใช้ และจำนวนทรัพยากร CPU และหน่วยความจำที่คุณต้องการกำหนด เซิร์ฟเวอร์โฮสต์จะถูกจัดเตรียมโดยอัตโนมัติโดย Fargate เมื่อคอนเทนเนอร์ของคุณทำงาน คุณจะจ่ายเฉพาะทรัพยากรที่ใช้เท่านั้น

Fargate เป็นเอ็นจิ้นการประมวลผลแบบไร้เซิร์ฟเวอร์ เนื่องจากไม่จำเป็นต้องให้ผู้ใช้ปลายทางจัดการเซิร์ฟเวอร์ที่โฮสต์คอนเทนเนอร์ เพื่อความชัดเจน เซิร์ฟเวอร์ยังคงอยู่ที่นั่น AWS เพียงแค่จัดการพวกเขา ไม่ควรสับสนกับ Fargate กับ AWS Lambda ซึ่งเป็นบริการประมวลผลแบบไร้เซิร์ฟเวอร์อีกบริการหนึ่งที่ไม่ได้สร้างขึ้นโดยคำนึงถึงคอนเทนเนอร์ (แม้ว่าตอนนี้ Lamba จะรองรับการปรับใช้อิมเมจคอนเทนเนอร์)

  วิธีใช้ท่าทางสัมผัสของแทร็คแพดบน iPad

Fargate ช่วยได้อย่างไร?

AWS Fargate คำนวณจำนวนที่แน่นอนของการประมวลผล หน่วยความจำ และทรัพยากรอื่นๆ ที่จำเป็นสำหรับงานของคุณ ดังนั้นคุณจึงไม่ต้องกังวลกับการเลือกประเภทอินสแตนซ์หรือการปรับขนาดความจุของคลัสเตอร์

ช่วยให้คุณจ่ายสำหรับทรัพยากรที่จำเป็นต่อการใช้งานคอนเทนเนอร์ตามที่ใช้ หลีกเลี่ยงการจัดสรรเกินและจ่ายสำหรับเซิร์ฟเวอร์ที่คุณไม่ต้องการ

งาน Fargate (พ็อด) ดำเนินการในเคอร์เนลของตนเอง ส่งผลให้มีสภาพแวดล้อมการประมวลผลที่ปลอดภัยและแยกจากกัน โดยมีปริมาณงานแยกออกมาและเพิ่มความปลอดภัย

ช่วยให้ทีมออกแบบและเรียกใช้แอปโดยใช้คอนเทนเนอร์ ECS หรือ EKS โดยไม่ต้องจัดการกับกิจกรรมการจัดการโครงสร้างพื้นฐานที่ใช้เวลานาน เช่น การปรับขนาดและการรักษาความปลอดภัยเซิร์ฟเวอร์หรือระบบปฏิบัติการแพตช์

ด้วยการเชื่อมต่อในตัวกับบริการอื่นๆ ของ AWS เช่น Amazon CloudWatch Container Insights ทำให้ AWS Fargate มอบความสามารถในการสังเกตในระดับสูง คุณยังสามารถใช้เทคโนโลยีของบริษัทอื่นหลายรายการเพื่อรวบรวมบันทึกและตัวชี้วัด

นอกจากนี้เรายังสามารถใช้บริการต่างๆ ของ AWS ได้อย่างมีประสิทธิภาพเมื่อใช้คอนเทนเนอร์กับ Fargate

Fargate จะเปิดตัวและปรับขนาดทรัพยากรการคำนวณอย่างต่อเนื่องเพื่อให้เหมาะกับความต้องการของคอนเทนเนอร์ ป้องกันการจัดสรรเกินและรับประกันว่าคุณจะไม่จ่ายเงินสำหรับทรัพยากรที่คุณไม่ได้ใช้ คุณยังสามารถคำนวณกลยุทธ์การออมได้อีกด้วย ตัวเลือก Fargate Spot สามารถช่วยคุณประหยัดค่าใช้จ่ายทั่วไปได้มากถึง 70% แต่จะเหมาะสมที่สุดสำหรับการใช้งานแบบขัดจังหวะเท่านั้น

ส่วนประกอบของ Fargate

กลุ่ม

การจัดกลุ่มงานหรือบริการตามตรรกะคือคลัสเตอร์ Amazon ECS สามารถใช้คลัสเตอร์เพื่อแยกแอปพลิเคชันของคุณ เมื่อคุณใช้ Fargate เพื่อทำงาน ระบบจะจัดการทรัพยากรคลัสเตอร์ของคุณ

คำจำกัดความของงาน

คำจำกัดความของงานคือไฟล์ข้อความที่อธิบายคอนเทนเนอร์ของแอปพลิเคชันของคุณอย่างน้อยหนึ่งรายการ เป็นไฟล์ JSON สามารถใช้อธิบายได้ถึง 10 คอนเทนเนอร์ในแต่ละครั้ง คำจำกัดความงานของแอปพลิเคชันของคุณทำหน้าที่เป็นพิมพ์เขียว มันระบุพารามิเตอร์ต่าง ๆ ของแอปพลิเคชันของคุณ

ตัวอย่างเช่น คุณสามารถใช้เพื่อกำหนดพารามิเตอร์ระบบปฏิบัติการ คอนเทนเนอร์ที่จะใช้ พอร์ตที่จะเปิดสำหรับแอปพลิเคชันของคุณ และปริมาณข้อมูลที่จะใช้กับคอนเทนเนอร์ในงาน ข้อกำหนดของแอปพลิเคชันของคุณจะกำหนดพารามิเตอร์เฉพาะที่มีให้สำหรับการกำหนดงาน

งาน

งานคือการสร้างอินสแตนซ์ระดับคลัสเตอร์ของคำนิยามงาน เมื่อคุณสร้างข้อกำหนดงานสำหรับแอปพลิเคชันของคุณใน Amazon ECS แล้ว คุณสามารถเลือกจำนวนงานที่จะรันบนคลัสเตอร์ของคุณได้ เราสามารถเรียกใช้งานโดยเป็นส่วนหนึ่งของบริการหรือกระบวนการแยกต่างหาก

บริการ

ในคลัสเตอร์ Amazon ECS คุณสามารถใช้บริการ Amazon ECS เพื่อเรียกใช้และรักษาจำนวนงานที่คุณต้องการได้พร้อมกัน ตัวกำหนดเวลาบริการ Amazon ECS จะเรียกใช้อินสแตนซ์อื่นตามข้อกำหนดของงาน หากงานใดๆ ของคุณล้มเหลวหรือหยุดลงด้วยเหตุผลใดก็ตาม ดำเนินการนี้เพื่อแทนที่และรักษาจำนวนงานในบริการให้อยู่ในระดับที่ถูกต้อง

  14 โซลูชันไฟรถยนต์ในร่มและใต้ท้องรถเพื่อทำให้รถของคุณโดดเด่น

สถาปัตยกรรมระบบปฏิบัติการและ CPU

ระบบปฏิบัติการที่รองรับโดย Fargate ได้แก่ Amazon Linux 2, Windows Server 2019 Full และ Windows Server 2019 core

ARM และ X86_64 เป็นสถาปัตยกรรมสองแบบที่พร้อมใช้งานสำหรับคำจำกัดความงานของ Amazon ECS หากคุณใช้คอนเทนเนอร์ Windows คุณต้องมีสถาปัตยกรรม CPU X86_64 ในทางตรงกันข้าม หากคุณใช้คอนเทนเนอร์ Linux คุณสามารถใช้สถาปัตยกรรม ARM64 สำหรับแอปพลิเคชันที่ใช้ ARM และสถาปัตยกรรม CPU X86_64 ได้

ECS พร้อมอินสแตนซ์ EC2 เทียบกับ ECS พร้อม AWS Fargate

ในโมเดลอินสแตนซ์ EC2 คอนเทนเนอร์จะถูกปรับใช้กับอินสแตนซ์ EC2 (VMs) ของคลัสเตอร์ ECS จัดการสิ่งเหล่านี้ร่วมกับงานที่เป็นส่วนหนึ่งของการกำหนดภารกิจ

ข้อดี👍

  • ประเภทของอินสแตนซ์ EC2 ที่ใช้ในที่นี้อยู่ภายใต้การควบคุมของคุณทั้งหมด
  • คุณสามารถใช้อินสแตนซ์สปอตซึ่งลดต้นทุนได้มากถึง 90%

ข้อเสีย👎

  • คุณต้องดูแลแพตช์ความปลอดภัยและความปลอดภัยเครือข่ายของอินสแตนซ์ นอกจากนี้ คุณต้องรับผิดชอบต่อความสามารถในการปรับขนาดในคลัสเตอร์

ในโมเดล Fargate คุณไม่จำเป็นต้องกังวลเกี่ยวกับอินสแตนซ์ EC2 หรือเซิร์ฟเวอร์อีกต่อไป เลือกการกำหนดค่า CPU และหน่วยความจำที่ต้องการ และ Fargate จะปรับใช้คอนเทนเนอร์ของคุณ

ข้อดี👍

  • คุณไม่จำเป็นต้องจัดการเซิร์ฟเวอร์ใดๆ
  • AWS มีหน้าที่รับผิดชอบต่อความพร้อมใช้งานและความสามารถในการปรับขนาด แต่ยังคงเป็นแนวปฏิบัติที่ดีในการเลือกหน่วยความจำและ CPU ที่ถูกต้อง มิฉะนั้น แอปพลิเคชันของเราอาจเสี่ยงต่อการใช้งานไม่ได้
  • หากคุณตัดสินใจใช้ Fargate Spot คุณสามารถรับส่วนลดสูงสุดถึง 70% สำหรับราคา Fargate

ข้อเสีย👎

  • ECS พร้อม AWS Fargate รองรับโหมดเครือข่ายเดียวเท่านั้น -awsvpc- ด้วยเหตุนี้ จึงจำกัดการควบคุมของคุณบนเลเยอร์เครือข่าย

EKS ที่ไม่มี Fargate Vs. EKS กับ Fargate

ใน EKS ที่ไม่มีโมเดล Fargate คุณต้องตัดสินใจว่าคลัสเตอร์ควรจะใหญ่แค่ไหนก่อนเวลา คุณสามารถเปลี่ยนโหนดได้ด้วยตนเองในภายหลัง แต่ยากเมื่อเทียบกับการระบุขนาดในอุดมคติตั้งแต่เริ่มต้น

  วิธีรับลายนิ้วมือของโทรศัพท์ Pixel บนอุปกรณ์ใด ๆ [No Root]

ข้อดี👍

  • โมเดลนี้ช่วยให้คุณควบคุมได้มากขึ้นในรูปแบบต่างๆ เช่น คุณสามารถระบุตัวแปรการกำหนดค่า เช่น HostNetwork และ HostPort
  • Fargate ไม่ได้รับการสนับสนุนในทุกภูมิภาค ดังนั้นคุณต้องการใช้ EKS โดยไม่มี Fargate หากคุณต้องการให้คอนเทนเนอร์ของคุณพร้อมใช้งานในภูมิภาคอื่นๆ

ข้อเสีย👎

  • EKS ที่ไม่มี Fargate นั้นค่อนข้างใช้งานยาก

ใน EKS ที่มีรุ่น Fargate คุณไม่จำเป็นต้องระบุขนาดของคลัสเตอร์ล่วงหน้า

ข้อดี👍

  • EKS กับ Fargate มีความปลอดภัยมากกว่าเพราะทำงานภายในเครื่องเสมือนเฉพาะ ความจริงที่ว่ามันไม่รองรับโหมดพิเศษนั้นเป็นคุณสมบัติด้านความปลอดภัย
  • มันถูกกว่าในระยะยาว

ข้อเสีย👎

  • มันทำให้คุณควบคุมน้อยลงในรูปแบบต่างๆ

บทสรุป

Fargate เป็นเครื่องมือที่ทรงพลังและเป็นผู้ใหญ่มาก ช่วยให้คุณประหยัดค่าใช้จ่าย เวลา และความพยายามอย่างมากด้วยการจัดการโครงสร้างพื้นฐานทั้งหมดให้กับคุณ Fargate มีประโยชน์อย่างยิ่งหากคุณยังใหม่ต่อคอนเทนเนอร์ และเพียงแค่ต้องการมุ่งเน้นที่การสร้างแอปพลิเคชันของคุณ มากกว่าที่จะรักษาไว้

เรื่องล่าสุด

x