การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ
วิเคราะห์ข้อมูลประสิทธิภาพของ VM เพื่อปรับขนาดอินสแตนซ์ให้เหมาะสม ใช้การปรับขนาดอัตโนมัติตามกำหนดเวลาสำหรับภาระงานที่คาดการณ์ได้ และใช้ VMSS แบบสปอตสำหรับภาระงานแบบกลุ่ม
การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ”
วิเคราะห์ข้อมูลประสิทธิภาพของ VM เพื่อปรับขนาดอินสแตนซ์ให้เหมาะสม ใช้การปรับขนาดอัตโนมัติตามกำหนดเวลาสำหรับภาระงานที่คาดการณ์ได้ และใช้ VMSS แบบสปอตสำหรับภาระงานแบบกลุ่ม คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การระบุและกำจัดทรัพยากรสูญเปล่า
- การปรับขนาดให้เหมาะสมและการปรับขนาดอัตโนมัติ
- แผนการประหยัดและการจอง Azure
- FinOps และแบบจำลองการเรียกเก็บต้นทุน