0Pricing
Azure Fundamentals · บทเรียน

การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ

วิเคราะห์ข้อมูลประสิทธิภาพของ VM เพื่อปรับขนาดอินสแตนซ์ให้เหมาะสม ใช้การปรับขนาดอัตโนมัติตามกำหนดเวลาสำหรับภาระงานที่คาดการณ์ได้ และใช้ VMSS แบบสปอตสำหรับภาระงานแบบกลุ่ม

การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ เป็นบทเรียน Azure Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Azure Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Azure Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

การปรับขนาดให้เหมาะสมคืออะไร

การปรับขนาดให้เหมาะสมคือกระบวนการจับคู่ SKU ของ VM หรือบริการ Azure ให้ตรงกับข้อกำหนดด้าน Resource ที่ภาระงานใช้งานจริงต้องการ โดยไม่จัดสรรเกินความจำเป็น (ทำให้เสียเงิน) หรือจัดสรรน้อยเกินไป (เสี่ยงต่อประสิทธิภาพที่ลดลง) องค์กรส่วนใหญ่มักจัดสรรเกินในช่วงแรก 30–50% ด้วยความระมัดระวังเมื่อย้ายระบบจากภายในองค์กร การวิเคราะห์เพื่อปรับขนาดให้เหมาะสมเป็นประจำ ซึ่งโดยทั่วไปทำทุกเดือน สามารถกู้คืนค่าใช้จ่ายส่วนเกินได้เป็นจำนวนมากโดยไม่กระทบประสิทธิภาพของแอปพลิเคชัน

การวิเคราะห์ข้อมูลประสิทธิภาพของ VM

ใช้ ตัวชี้วัด Azure Monitor และ VM Insights เพื่อรวบรวมข้อมูล CPU หน่วยความจำ IOPS ของดิสก์ และอัตราการรับส่งข้อมูลเครือข่ายเป็นเวลาอย่างน้อย 30 วัน ให้พิจารณาการใช้ทรัพยากรที่ จุดสูงสุด (P95 หรือ P99) ไม่ใช่ค่าเฉลี่ย เพื่อให้แน่ใจว่า VM ที่ปรับขนาดแล้วสามารถรองรับการพุ่งขึ้นของปริมาณการใช้งานได้ คำแนะนำการปรับขนาดของ Azure Advisor ใช้ข้อมูลย้อนหลัง 7 วันเป็นค่าเริ่มต้น แต่คุณสามารถขยายเป็น 30 หรือ 60 วันได้ในการ กำหนดค่า Advisor เพื่อให้ได้ข้อมูลที่เป็นตัวแทนมากขึ้น

# Get P95 CPU utilisation for a VM over 30 days
az monitor metrics list \
  --resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM \
  --metric 'Percentage CPU' \
  --aggregation Percentile \
  --interval P1D \
  --start-time 2024-05-01T00:00:00Z \
  --end-time 2024-06-01T00:00:00Z

ตระกูล SKU ของ VM และการปรับขนาด

VM ของ Azure แบ่งเป็น ตระกูล SKU ที่ปรับให้เหมาะกับภาระงานต่าง ๆ ได้แก่ D-series (การใช้งานทั่วไป), E-series (ปรับให้เหมาะกับหน่วยความจำ), F-series (ปรับให้เหมาะกับการประมวลผล), N-series (GPU) และ L-series (ปรับให้เหมาะกับพื้นที่จัดเก็บ) หากการใช้ CPU ของ VM ต่ำแต่การใช้หน่วยความจำสูง การเปลี่ยนจาก D-series เป็น E-series โดยคงจำนวน vCPU เท่าเดิมจะให้ RAM เพิ่มขึ้นในราคาที่ใกล้เคียงกัน การปรับขนาด VM ใน Azure โดยทั่วไปต้องรีสตาร์ตช่วงสั้น ๆ เป็นเวลาไม่กี่นาที

# Resize a VM to a smaller SKU
az vm resize \
  --resource-group myRG \
  --name myVM \
  --size Standard_D2s_v5

การปรับขนาดอัตโนมัติตามกำหนดเวลาสำหรับภาระงานที่คาดการณ์ได้

การปรับขนาดอัตโนมัติตามกำหนดเวลาเป็นตัวเลือกที่เหมาะสมเมื่อรูปแบบภาระงานคาดการณ์ได้ แอปพลิเคชันค้าปลีกที่มีการใช้งานสูงในเวลาทำการและเกือบไม่มีการใช้งานในเวลากลางคืน สามารถกำหนดตาราง เพิ่มขนาดเวลา 07:00 น. และตาราง ลดขนาดเวลา 22:00 น. ได้ ทั้ง Virtual Machine Scale Sets (VMSS) และ App Service รองรับกฎการปรับขนาดอัตโนมัติตามกำหนดเวลา แนวทางนี้เรียบง่ายและคาดการณ์ต้นทุนได้มากกว่าการปรับขนาดอัตโนมัติตามตัวชี้วัดสำหรับรูปแบบโหลดที่ทราบอยู่แล้ว

# Add a scheduled autoscale rule to a VMSS (scale out at 07:00, in at 22:00 UTC)
az monitor autoscale create \
  --resource-group myRG \
  --resource myVMSS \
  --resource-type Microsoft.Compute/virtualMachineScaleSets \
  --name myAutoscale \
  --min-count 2 --max-count 10 --count 2

การปรับขนาดอัตโนมัติตามตัวชี้วัด

การปรับขนาดอัตโนมัติตามตัวชี้วัดจะเพิ่มหรือนำอินสแตนซ์ออกแบบไดนามิกตามตัวชี้วัดแบบเรียลไทม์ เช่น เปอร์เซ็นต์ CPU ความยาวคิวคำขอ HTTP หรือตัวชี้วัดแบบกำหนดเองที่เผยแพร่ผ่าน Azure Monitor คุณกำหนด กฎการเพิ่มขนาด (เวลาที่จะเพิ่มอินสแตนซ์) และ กฎการลดขนาด (เวลาที่จะนำอินสแตนซ์ออก) พร้อมช่วงพักเพื่อป้องกันการสลับไปมาอย่างรวดเร็ว แนวทางปฏิบัติที่ดีคือกำหนดเกณฑ์การเพิ่มขนาดให้ต่ำกว่าเกณฑ์การลดขนาด เช่น เพิ่มขนาดเมื่อ CPU >70% และลดขนาดเมื่อ CPU <30% พร้อมช่วงพัก 5 นาที

# Add a metric-based scale-out rule (CPU > 70% for 5 minutes)
az monitor autoscale rule create \
  --autoscale-name myAutoscale \
  --resource-group myRG \
  --scale out 1 \
  --condition 'Percentage CPU > 70 avg 5m'

VMSS Spot Instances สำหรับเวิร์กโหลดแบบกลุ่มของ Batch

Azure Spot VMs ช่วยให้คุณใช้ความจุ Azure ที่ไม่ได้ใช้งานได้ในราคาส่วนลดสูงสุด 90% เมื่อเทียบกับราคาจ่ายตามการใช้งานจริง ข้อแลกเปลี่ยนคือ Azure สามารถ นำ spot VM ออกจากระบบได้โดยแจ้งล่วงหน้า 30 วินาทีเมื่อจำเป็นต้องนำความจุกลับไปใช้งาน ทำให้ spot instances เหมาะอย่างยิ่งสำหรับเวิร์กโหลดแบบกลุ่มที่หยุดชะงักได้ เช่น การเรนเดอร์ การประมวลผลทางวิทยาศาสตร์ และไปป์ไลน์ประมวลผลข้อมูล VMSS รองรับการผสม VM ปกติ (เพื่อรักษาความจุพื้นฐาน) กับ spot VM (เพื่อรองรับความต้องการที่เพิ่มขึ้นชั่วคราว) ในชุดการปรับขนาดเดียวกัน โดยใช้นโยบายการผสมตามลำดับความสำคัญ

# Create a VMSS with spot instances for batch workloads
az vmss create \
  --resource-group myRG \
  --name myBatchVMSS \
  --image UbuntuLTS \
  --priority Spot \
  --eviction-policy Deallocate \
  --max-price -1 \
  --instance-count 5

การปรับขนาดอัตโนมัติของ App Service

Azure App Service ปรับขนาดอัตโนมัติในระดับ App Service Plan โดยเพิ่มหรือลดอินสแตนซ์ผู้ปฏิบัติงานตามกฎที่คุณกำหนด ตัวกระตุ้นตามเมตริกที่มีให้ใช้ ได้แก่ ความยาวคิว HTTP เปอร์เซ็นต์ CPU และเปอร์เซ็นต์หน่วยความจำ ระดับ Standard ขึ้นไปรองรับทั้งการปรับขนาดด้วยตนเองและการปรับขนาดอัตโนมัติ ส่วนระดับ Basic รองรับเฉพาะการปรับขนาดด้วยตนเองเท่านั้น สำหรับเวิร์กโหลดแบบไร้เซิร์ฟเวอร์ ให้พิจารณาใช้ Azure Functions on the Consumption Plan ซึ่งปรับขนาดลงเป็นศูนย์และคิดค่าบริการเฉพาะตามการทำงานแต่ละครั้ง จึงไม่ต้องเสียค่าอินสแตนซ์ที่ไม่ได้ใช้งานเลย

# Enable autoscale on an App Service plan
az monitor autoscale create \
  --resource-group myRG \
  --resource myAppServicePlan \
  --resource-type Microsoft.Web/serverfarms \
  --name webAppAutoscale \
  --min-count 1 --max-count 5 --count 1

ข้อผิดพลาดในการปรับขนาดอัตโนมัติที่ควรหลีกเลี่ยง

ข้อผิดพลาดที่พบบ่อยในการปรับขนาดอัตโนมัติ ได้แก่ การยึดเซสชัน — หากแอปของคุณเก็บสถานะเซสชันไว้ในหน่วยความจำของ VM การลดขนาดจะทำให้เซสชันสูญหาย ควรใช้ Redis Cache หรือเซสชันที่จัดเก็บในฐานข้อมูลแทน เวลาเริ่มต้นทำงานนาน — หาก VM หรือคอนเทนเนอร์ใช้เวลา 10 นาทีในการเตรียมพร้อม การปรับขนาดอัตโนมัติตามเมตริกจะตอบสนองไม่ทัน ควรเพิ่มขนาดล่วงหน้าตามกำหนดการก่อนช่วงที่คาดว่าจะมีความต้องการสูง การลดขนาดรุนแรงเกินไป — การยุติอินสแตนซ์ขณะที่คำขอที่กำลังดำเนินการยังประมวลผลอยู่จะทำให้เกิดข้อผิดพลาด ควรกำหนดให้มีการระบายการเชื่อมต่อและระยะเวลารอหลังการปรับขนาดที่เพียงพอ

การปรับขนาด Database และ PaaS ให้เหมาะสม

การปรับขนาดให้เหมาะสมใช้ได้กับบริการ PaaS เช่นกัน Azure SQL Database ที่ใช้โมเดล DTU สามารถลดขนาดได้ หากเปอร์เซ็นต์ DTU ต่ำกว่า 50% อย่างสม่ำเสมอ โมเดล vCore ช่วยให้ปรับขนาด CPU และพื้นที่จัดเก็บแยกจากกันได้ Azure Cache for Redis สามารถลดระดับจาก Premium เป็น Standard ได้ หากไม่จำเป็นต้องใช้การคงอยู่ของข้อมูลและการจำลองข้อมูลข้ามภูมิภาค กลุ่มโหนดของ Azure Kubernetes Service สามารถใช้ Cluster Autoscaler เพื่อเพิ่มหรือลดจำนวนโหนดตามสถานะรอดำเนินการและสถานะไม่ได้ใช้งานของพ็อด

# Change Azure SQL Database service objective (tier)
az sql db update \
  --resource-group myRG \
  --server mySQLServer \
  --name myDatabase \
  --service-objective S2

แนวปฏิบัติในการปรับขนาดให้เหมาะสมอย่างต่อเนื่อง

การปรับขนาดให้เหมาะสมไม่ใช่กิจกรรมที่ทำเพียงครั้งเดียว เวิร์กโหลดเปลี่ยนแปลงไปตามเวลา รูปแบบการรับส่งข้อมูลเปลี่ยนไป มีการเพิ่มฟีเจอร์ และฐานผู้ใช้เพิ่มขึ้นหรือลดลง จัดให้มีการทบทวนการปรับขนาดให้เหมาะสมรายเดือนเป็นส่วนหนึ่งของกระบวนการ FinOps โดยดึงคำแนะนำจาก Advisor ทบทวน VM 10 รายการแรกที่ใช้ทรัพยากรต่ำกว่าที่ควรและบริการ PaaS ที่จัดสรรทรัพยากรมากเกินไป จากนั้นสร้างรายการงานให้ทีมเจ้าของรับผิดชอบ ติดตามการประหยัดที่เกิดขึ้นจริงเทียบกับคำแนะนำที่สร้างขึ้น เพื่อแสดง ROI ของ FinOps ให้ผู้บริหารเห็น

การผสานการปรับขนาดให้เหมาะสมกับ Reservations

กลยุทธ์ด้านต้นทุนที่เหมาะสมที่สุดคือปรับขนาดให้เหมาะสมก่อน แล้วจึงจอง การซื้อ Reserved VM Instance สำหรับ VM ที่จัดสรรทรัพยากรมากเกินไปจะผูกมัดคุณไว้กับ SKU ที่ไม่เหมาะสม ควรปรับขนาด VM ให้ถูกต้องก่อน สังเกตการใช้ทรัพยากรใหม่เป็นเวลา 30 วันเพื่อยืนยันความเสถียร แล้วจึงซื้อ reservation สำหรับ SKU ที่ปรับขนาดแล้ว แนวทางสองขั้นตอนนี้ช่วยเพิ่มส่วนลดให้สูงสุดพร้อมหลีกเลี่ยงความจุที่จองไว้แต่ไม่ได้ใช้งาน

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจของคุณเกี่ยวกับแนวคิด Microsoft Azure Fundamentals (AZ-900) จากบทเรียนนี้

ทบทวนบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า การปรับขนาดให้เหมาะสมคือการจับคู่ SKU ของ VM กับความต้องการจริงของเวิร์กโหลดโดยใช้เมตริกประสิทธิภาพ การปรับขนาดอัตโนมัติตามกำหนดการและตามเมตริกจะปรับความจุแบบไดนามิกให้สอดคล้องกับความต้องการ และ Spot VM มอบส่วนลดสูงสุด 90% สำหรับเวิร์กโหลดแบบกลุ่มที่หยุดชะงักได้ บทถัดไป เราจะสำรวจ Azure Savings Plans และ Reservations สำหรับเวิร์กโหลดที่มีข้อผูกมัด

คำถามที่พบบ่อย

บทเรียน “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Azure Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Azure Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ”

วิเคราะห์ข้อมูลประสิทธิภาพของ VM เพื่อปรับขนาดอินสแตนซ์ให้เหมาะสม ใช้การปรับขนาดอัตโนมัติตามกำหนดเวลาสำหรับภาระงานที่คาดการณ์ได้ และใช้ VMSS แบบสปอตสำหรับภาระงานแบบกลุ่ม คุณปฏิบัติ Azure Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Azure Fundamentals หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Azure Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Azure Fundamentals นี้ได้ไหม

ได้ บทเรียน Azure Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การระบุและกำจัดทรัพยากรสูญเปล่า
  2. การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ
  3. แผนการประหยัดและการจอง Azure
  4. FinOps และแบบจำลองการเรียกเก็บต้นทุน
← กลับไปที่ Azure Fundamentals