AWS Auto Scaling คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS

นี่เป็นบทความแปล ที่มีเนื้อหามาจากบทความภาษาญี่ปุ่นของ Classmethod, Inc. ในหัวข้อ「AWS再入門ブログリレー2022 AWS Auto Scaling 編」 หากผู้อ่านสนใจอ่านเนื้อหาต้นฉบับสามารถอ่านได้ที่ลิ้งค์ "บทความที่เกี่ยวข้อง" ด้านล่าง เนื้อหาจะมีการอธิบายบางอย่างถูกปรับให้เข้าใจง่ายขึ้นทำให้แตกต่างจากต้นฉบับในบางจุด
2022.06.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Auto Scaling กับ EC2 Auto Scaling Group ไม่ใช่ Service เดียวกันครับ เป็นคนละอย่างกัน จะมีเขียนอธิบายในบทความนี้ช่วงท้ายครับ

สวัสดีครับ! ฝ่าย Consulting ของ Classmethod ชิเงมัตสึ ครับ!

รายการนี้จะเขียนเกี่ยวกับ AWS ปี 2022 ฉบับเบื้องต้น โดยฝ่าย Consulting ของบริษัทเราเอง นี่เป็นบทความที่จะมาเล่าเกี่ยวกับเนื้อหา AWS Service มาเล่าใหม่อีกครั้งว่ามีอะไรถูกอัพเดทอะไรบ้างแล้ว
แบบละเอียด/เจาะลึกตั้งแต่เบสิกพร้อมคำอธิบาย โดยเหล่าสมาชิกที่เคยเขียนบทความเหล่านี้มาแล้ว

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

งั้นก็ไปเริ่มกันเลยครับ Theme ในวันนี้คือ "AWS Auto Scaling" ครับ

AWS AutoScaling คือ?

AWS AutoScaling คือ Service ที่จะ Scaling Resource ที่เลือกอย่างง่าย
ทำให้ช่วงในการลดค่าใช้จ่ายและปรับ Performance ของ Application ให้อยู่ในระดับที่เหมาะสมที่สุด
สามารถตั้งค่า Resource ที่เกี่ยวข้องภายในไม่มีคลิก และควบคุม Resource เหล่านั้นโดยรวมผ่าน Interface ได้
การใช้งาน AWS Auto Scaling ทำให้เราสามารถควบคุม Resource ให้เขากับความต้องการได้
ทำให้ลดการใช้จ่ายที่สิ้นเปลืองไปด้วย

การใช้งาน AWS Auto Scaling ทำได้โดยสร้าง Scaling Plans แล้วนำไปตั้งค่า

(ที่มา: AWS Auto Scaling)

Resource ที่สามารถเลือกได้

  • Amazon EC2 Auto Scaling Group
  • Amazon Elastic Container Service (ECS) (ในปัจจุบันการระบุของ ECS Service โดย Resource, Tag ยังไม่สามารถใช้งานได้)
  • Amazon EC2 Spot Instance
  • Amazon DynamoDB
  • Amazon Aurora กับ Replica Aurora

Scaling Plans คือ

ในการตั้งค่าเราจะใช้ Scaling Plans
โดยจะมีให้เราเลือก "Search by CloudFormation stack" "Search by tag" "Choose EC2 Auto Scaling groups" แล้วจะมีให้เราเลือก Resource ที่เราสามารถเลือกได้ ออกมาโดยอัตโนมัติ

หากเลือก Tags EC2 หรือ DynamoDB แล้วจะได้หน้าตา Console แบบนี้

ข้อดี

  • สามารถตั้งค่า Scaling ได้อย่างรวดเร็ว
    สามารถทำงาน Scaling Resource จำนวนหลายๆตัวที่นำไปใช้งาน Application ได้ในทีเดียว
    และยังสามารถตรวจเช็คอัตราการใช้ของ Resource ทุกอย่าง และปรับพื้นที่ว่างได้ตามต้องการ
  • สามารถตั้งค่า Scaling ได้อย่างชาญฉลาด
    เกณฑ์ Scaling สามารถเลือก 4 อันจากด้านล่าง ทำให้ตัดสินใจได้โดนไม่ต้องคิดมาก

    • Optimize for availability
    • Balance availability and cost
    • Optimize for cost
    • Custom
  • สามารถคง Performance ได้โดยอัตโนมัติ
    ด้วยการติดตามอย่างต่อเนื่อง ทำให้สามารถคง Performance ได้ในเลเวลที่เราคาดหวังไว้
    และก็สามารถตั้งค่าให้ขยาย Storage ของ Resource ได้อัตโนมัติ ทำให้สามารถผลิต Service ที่มีคุณภาพออกมาได้
  • สามารถคาดการค่าใช้จ่าย และลดในส่วนที่ไม่ได้ใช้
    ด้วยการใช้งาน AWS Auto Scaling จะทำให้อัตราการใช้งานและอัตราค่าใช้จ่ายให้อยู่ในระดับที่เหมาะสมที่สุด ทำให้เสียค่าใช้จ่ายในส่วนแค่ Resource ที่ใช้ไปเท่านั้น

Regions ที่สามารถใช้งานได้(เช็คเมื่อ 6/4/2022)

  • Asia Pacific (Mumbai)
  • Asia Pacific (Tokyo)
  • Asia Pacific (Seoul)
  • Asia Pacific (Sydney)
  • Canada (Central)
  • US West (Northern California)
  • Europe (London)
  • Europe (Frankfurt)
  • EU (Paris)
  • EU (Milan)
  • US East (Virginia)
  • US East (Ohio)
  • US West (Oregon)
  • EU (Ireland)
  • Asia Pacific (Singapore)

ค่าใช้จ่าย

AWS auto scaling ไม่มีค่าใช้จ่ายครับ
มีแค่ค่าใช้จ่ายของ Predictive scaling พวก monitoring ของ CloudWatch ที่จำเป็น หรือแค่ค่าของ Resource เท่านั้นครับ

ความแตกต่างระหว่าง Auto Scaling Services อื่นๆ

ในปัจจุบัน AWS มี Auto Scaling Services ที่สามารถแบ่งออกเป็น 3 Services ใหญ่ๆ ได้แก่

  • AWS Auto Scaling
  • Amazon EC2 Auto Scaling
  • Application Auto Scaling

AWS Auto Scaling คือ service ที่สามารถรวบรวม Amazon EC2 Auto Scaling กับ Application Auto Scaling มาควบคุมครับ
การใช้ AWS Auto Scaling จะทำให้ควบคุมหรือตั้งค่าได้เร็วและง่ายกว่าการไปนั่งจัดการ Scaling policy ของ Resource ทีละตัวๆครับ

(ที่มา: 20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto Scaling)

AWS Auto Scaling กับ Amazon EC2 Auto Scaling ใช้แยกกันอย่างไร

AWS Auto Scaling เหมาะสำหรับการใช้ควบคุม Scaling Services จำนวนหลายๆตัวที่เชื่อมกับ Resource หลายๆตัว
(แต่ถ้าอยากจะใช้ตั้งค่า Scaling policy ของ Resource เพียงตัวเดียวก็สามารถใช้ได้ แต่ไม่มีแนะนำครับ)
ถ้าต้องการที่จะ Scale ตามกำหนดการ หรือ กำหนด step scaling policy ในส่วนนี้ถ้าไม่มีการตั้งค่าใน AWS Auto Scaling
ก็จำเป็นต้องใช้ EC2 Auto Scaling ครับ

(ที่มา: AWS Auto Scaling FAQs)

ท้ายสุด

เป็นยังไงกันบ้างครับ สำหรับเนื้อหา AWS ปี 2022 ฉบับเบื้องต้น ตอน AWS Auto Scaling ก็มีเพียงแค่นี้ครับ
ถ้าใครอ่านบทความที่ผ่านมาของผมจะเห็นว่าผมเขียนเกี่ยวกับ EC2 Auto Scaling
ซึ่งสามารถทำงานได้แค่ EC2 แต่เมื่อเราอ่านบทความนี้ จะเห็นว่าเราสามารถ Auto Scaling Resource อื่นของ AWS ได้เช่นกันครับ

บทความที่เกี่ยวข้อง

AWS再入門ブログリレー2022 AWS Auto Scaling 編(บทความต้นฉบับ)
ทดลองใช้ Auto Scaling ใน EC2
Amazon ALB (Application Load Balancer) คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS ในปี 2022