การซื้อบัญชี Microsoft Cloud: สอนวิธีใช้ Azure VMSS เพื่อขยายแอปพลิเคชันโดยอัตโนมัติและยืดหยุ่น

เมฆ 2026-06-05 阅读 12
cloud

ในบทช่วยสอนล่าสุดเราประสบความสำเร็จในการปรับใช้เครื่องเสมือนเครื่องแรกใน Azure แต่ในความเป็นจริงหากเว็บไซต์ของคุณพบการเข้าชมแบบ "Double Eleven" อย่างกะทันหันเครื่องเสมือนเครื่องเดียวอาจเป็นอัมพาตทันทีและในช่วงดึกเมื่อปริมาณการใช้งานต่ำการปล่อยให้เซิร์ฟเวอร์ประสิทธิภาพสูงจำนวนมากไม่ทำงานเป็นการเสียเงินจำนวนมาก.

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

ชุดเครื่องเสมือนของ Azure (Virtual Machine Scale Sets เรียกว่า VMSS)

มันเกิดมาเพื่อแก้ปัญหาจุดเจ็บปวดนี้มันสามารถขึ้นอยู่กับการเปลี่ยนแปลงของการจราจรทางธุรกิจ

โดยอัตโนมัติช่วยให้คุณเพิ่ม (ซื้อ) หรือลดจำนวนอินสแตนซ์เครื่องเสมือน

บทช่วยสอนเชิงลึกของวันนี้จะพาคุณไปตั้งแต่เริ่มต้นและสร้างสถาปัตยกรรมเว็บแอปพลิเคชันที่ใช้งานได้สูงเป็นพิเศษด้วยความสามารถในการ "ขยายและหดตัวโดยอัตโนมัติ"

1.แนวคิดหลัก: VMSS และการขยายตัวที่ยืดหยุ่นคืออะไร?

ก่อนที่จะเริ่มเราใช้ภาษาพื้นถิ่นเพื่อชี้แจงแนวคิดฮาร์ดคอร์สองแนวคิด:

Virtual Machine Scale Set (VMSS): พูดง่ายๆก็คือ "เทมเพลตเครื่องพิมพ์ดีด" คุณต้องกำหนดค่าระบบปฏิบัติการและสภาพแวดล้อมซอฟต์แวร์ของเครื่องเสมือนเท่านั้นและ VMSS สามารถช่วยคุณโคลนเครื่องเสมือน5, 50หรือ500เครื่องที่เหมือนกันได้ภายในไม่กี่นาที

การขยายตัวในแนวนอน (Scale Out) และการหดตัวในแนวนอน (Scale In): การขยายตัวในแนวตั้งคือการเปลี่ยน CPU แบบดูอัลคอร์เป็น quad-core (ต้องรีสตาร์ทมีขีดจำกัดบน) การขยายในแนวนอนคือ "คนจำนวนมากขึ้นและแรงขึ้น"-หนึ่งไม่สามารถถือได้อีกสองคนโดยอัตโนมัติหากการจราจรหายไปจะถูกส่งคืนโดยอัตโนมัตินี่คือความยืดหยุ่น

ประการที่สองการออกแบบสถาปัตยกรรมหลัก

สิ่งที่เราต้องการสร้างไม่ใช่ชุดสเกลเปล่าแต่เป็นโครงสร้างสภาพแวดล้อมการผลิตมาตรฐาน:

[การจราจรทางอินเทอร์เน็ต (HTTP/80)]

[Azure โหลดควอไลเซอร์]

(Load Balancer)

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────

▼ ▼

[ตัวอย่าง VMSS 1] [ตัวอย่าง VMSS 2 ] ... (เพิ่มขึ้นหรือลดลงโดยอัตโนมัติตาม CPU)

การไหลจะมาถึงตัวโหลดบาลานซ์ก่อนและจะกระจายไปยังอินสแตนซ์ VMSS ที่แบ็กเอนด์อย่างเท่าเทียมกัน VMSS จะจ้องมองไปที่การสูญเสีย CPU ของอินสแตนซ์เหล่านี้และเมื่อเกินเกณฑ์แล้วจะแยกอินสแตนซ์ใหม่โดยอัตโนมัติเพื่อเข้าร่วมการต่อสู้

3.ขั้นตอนแรก: สร้างและกำหนดค่า VMSS (โครงสร้างพื้นฐาน)

เข้าสู่ Azure Portal (Azure Portal) และสูญเสียในแถบค้นหา

เข้า

"ชุดมาตราส่วนเครื่องเสมือน"

(Virtual Machine Scale Sets) คลิกที่ "สร้าง"

1. ข้อมูลพื้นฐาน

กลุ่มทรัพยากร: ขอแนะนำให้สร้างใหม่เช่น MyVMSS-RG

ชื่อชุดมาตราส่วนเครื่องเสมือน: เช่น my-web-scale-set

ภูมิภาค: เลือกภูมิภาคที่ใกล้คุณที่สุด (เช่น East Asia)

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

รูปภาพ: ที่นี่เราใช้ Ubuntu Server 24.04 LTS เป็นตัวอย่าง (ตรรกะการทำงานของ Windows เหมือนกันทุกประการ)

2.ขนาดและข้อกำหนด

ขนาด: ยังคงแนะนำ Standard_B1s หรือ Standard_B2s ที่คุ้มค่ามาก (ฝึกฝนให้เพียงพอประหยัดเงินก่อน)

ประเภทการตรวจสอบ: เลือก "รหัสผ่าน" หรือ "คีย์ SSH" เพื่อความสะดวกในการสอนและการนำเสนอเราเลือกรหัสผ่านที่นี่ตั้งชื่อผู้ใช้ (เช่น azureuser) และรหัสผ่านที่แข็งแกร่ง

3.การกำหนดค่าเครือข่าย (ขั้นตอนที่สำคัญ)

ดึงไปที่ส่วนเครือข่ายและคุณจะเห็นตัวเลือก

ติ๊ก "ใช้โหลดบาลานซ์"

ตัวเลือก Load Equalizer: เลือก "Azure Load Equalizer"

เลือกโหลดควอไลเซอร์/ใหม่: ชื่อ my-load-balancer 。

เลือกแบ็กเอนด์พูล/ใหม่: ชื่อ my-backend-pool 。

💡ทำไมคุณถึงเลือกสิ่งนี้? ด้วยวิธีนี้ไม่ว่า VMSS จะสร้างเครื่องเสมือนกี่เครื่องโดยอัตโนมัติในอนาคต Azure จะยัดลงใน "แบ็กเอนด์พูล" นี้โดยอัตโนมัติและตัวโหลดบาลานซ์จะกระจายปริมาณการเข้าถึงของผู้ใช้โดยอัตโนมัติโดยไม่จำเป็นต้องให้คุณกำหนดค่า IP ด้วยตนเอง.

4.ขั้นตอนที่สอง: ใช้สคริปต์ที่กำหนดเองเพื่อบรรลุ "นอกกรอบและใช้งาน"

การชุมนุมขนาดใหญ่จะช่วยเราสร้างเครื่องจักรโดยอัตโนมัติแต่เครื่องใหม่ว่างเปล่าเครื่องที่เพิ่งโคลนจะติดตั้งบริการเว็บโดยอัตโนมัติ (เช่น Nginx) และเรียกใช้แอปพลิเคชันของเราได้อย่างไร

เราจำเป็นต้องใช้

ขั้นสูง (ขั้นสูง)

ในตัวเลือก

"ขยายสคริปต์ที่กำหนดเอง (Custom Script Extension)"

ในการสร้างเพจ

“อาวุโส”

ในแท็บค้นหา "Custom Data" และวางสคริปต์การเริ่มต้น Linux ต่อไปนี้ในกล่องข้อความ:

Bash

#! /Bin/bash

# ปรับปรุงระบบและติดตั้ง Nginx

Apt-get update -y

Apt-get install nginx -y

# เริ่มบริการ Nginx

Systemctl start nginx

ระบบ

Temctl enable nginx

# เขียนหน้าเว็บเพื่อแสดงชื่อโฮสต์ปัจจุบันแบบไดนามิก (เพื่อให้เราทดสอบเพื่อดูเอฟเฟกต์)

Echo "<h1>Hello from Azure VMSS! My Hostname is: $(hostname)</h1>" > /var/ www/html/index.html

บทบาทของสคริปต์นี้คือ:

เมื่อใดก็ตามที่ VMSS พบว่ามีการรับส่งข้อมูลจำนวนมากและสร้างเครื่องเสมือนใหม่โดยอัตโนมัติเครื่องใหม่นี้จะเรียกใช้รหัสนี้โดยอัตโนมัติทันทีที่บูต-ติดตั้ง Nginx เริ่มบริการและเขียนหน้าเว็บตระหนักถึงระบบอัตโนมัติแบบไม่ต้องดูแลอย่างแท้จริง

5.ขั้นตอนที่สาม: การกำหนดค่ากลยุทธ์การขยายตัวและการหดตัวที่ยืดหยุ่นของแกนอัตโนมัติ

คลิกเพื่อเปลี่ยนไปใช้

"ซูม (Scaling)"

แท็บนี่คือจิตวิญญาณของการกวดวิชาทั้งหมด

ตัวเลือกเริ่มต้นคือ "ปรับขนาดด้วยตนเอง" เราจำเป็นต้องเปลี่ยนเป็น

"ปรับแต่งอัตโนมัติ (Custom autoscale)"

ต่อไปเราต้องกำหนดค่า "กฎการขยายตัว" ที่เข้มงวด:

1.ตั้งค่าช่วงอินสแตนซ์

จำนวนอินสแตนซ์ขั้นต่ำ (Minimum): 1 (เก็บ1เครื่องเพื่อประหยัดเงินเมื่อไม่มีใครเข้าชม)

จำนวนอินสแตนซ์สูงสุด (Maximum): 3 (เพื่อป้องกันไม่ให้โค้ดที่เขียนไม่ถูกต้องและตกอยู่ในการวนซ้ำที่ไม่สิ้นสุดหรือเมื่อพบการโจมตีที่เป็นอันตรายให้เปิดเครื่องไปเรื่อยๆเพื่อทำให้บัตรเครดิตหมดและกำหนดขีดจำกัดสูงสุดเพื่อป้องกันกระเป๋าเงิน)

จำนวนอินสแตนซ์เริ่มต้น (Default): 1.

2.เพิ่มกฎการขยาย (Scale Out Rule)

คลิก "เพิ่มกฎ" เราต้องการบอกระบบว่าควรเพิ่มเครื่องเมื่อใด:

แหล่งที่มาของการวัดค่า: ทรัพยากรปัจจุบัน (VMSS)

เวลารวม: ค่าเฉลี่ย

ชื่อของการวัด: Percentage CPU (การใช้งาน CPU)

ตัวดำเนินการ: มากกว่า

เกณฑ์ (Metric threshold): 70 (เมื่อการใช้งาน CPU เฉลี่ยเกิน70%)

ระยะเวลา (นาที): 5 (สถานการณ์นี้กินเวลานานกว่า5นาทีซึ่งหมายความว่าไม่ใช่ความผันผวนที่เกิดขึ้นเป็นครั้งคราวแต่ไม่สามารถทนได้จริงๆ)

การดำเนินการ: เพิ่มจำนวนการนับ

จำนวนตัวอย่าง: 1 (เพิ่มครั้งละ1เครื่อง)

เวลาในการระบายความร้อน (นาที): 5 (หลังจากเพิ่มเครื่องแล้วให้ปล่อยให้กระสุนบินไปสักพักสังเกตเป็นเวลา5นาทีอย่าเพิ่มเร็วเกินไป)

3.เพิ่มกฎการหดตัว (Scale In Rule)

หากมีการยืมและการชำระคืนให้เพิ่มกฎอื่นเพื่อบอกระบบว่าเมื่อใดควรคืนเครื่องเพื่อประหยัดเงิน:

ชื่อของเมตริก: CPU Percentage 。

ตัวดำเนินการ: น้อยกว่า

เกณฑ์: 30 (เมื่อ CPU เฉลี่ยไม่ได้ใช้งานต่ำกว่า30%)

การดำเนินการ: ลดจำนวนลง

จำนวนตัวอย่าง: 1 (1เครื่องต่อการตัด

จนกว่าจะลดลงเหลือค่าต่ำสุด1หน่วย)

หลังจากการกำหนดค่าเสร็จสิ้นให้คลิก

“ดูสร้าง”

รอให้การปรับใช้เสร็จสมบูรณ์

6.ตรวจสอบปาฏิหาริย์: จะทดสอบการขยายตัวอัตโนมัติได้อย่างไร?

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

โหลดควอไลเซอร์ (my-load-balancer)

คัดลอก "ที่อยู่ IP สาธารณะส่วนหน้า"

การเข้าถึงปกติ: ป้อน IP นี้ในเบราว์เซอร์ของคุณและคุณควรจะเห็น Hello from Azure VMSS! My Hostname is: my-web-scale-set_0รีเฟรชหลายครั้งหน้าเว็บมีความเสถียรเหมือนภูเขาไท่

การผลิตคริติคอลเทียม (การทดสอบความดัน): เราจำเป็นต้องเติม CPU ของเครื่องนี้ด้วยตนเองเชื่อมต่อกับอินสแตนซ์เครื่องเสมือนปัจจุบันผ่าน SSH เรียกใช้คำสั่งทดสอบความเครียดของ CPU แบบคลาสสิก (หรือติดตั้งเครื่องมือ stress) ในเทอร์มินัล: Bash # ติดตั้งเครื่องมือทดสอบความเครียด sudo apt-get install stress -y # ให้ CPU 4คอร์ทำงานได้เต็มที่ (แม้ว่าคุณจะมีเพียง1คอร์มันจะเต็มไปด้วย) stress -- cpu 4 -- timeout 600

3. ** พยานปาฏิหาริย์: **

กลับไปที่หน้า VMSS ของ Azure Portal แล้วคลิก ** "Run history" ** หรือ ** "Instances" ** ทางด้านซ้าย

หลังจากผ่านไปประมาณ5นาทีคุณจะพบเส้นโค้งของ CPU ที่สูงขึ้นในแผนภูมิทันทีหลังจากนั้นอินสแตนซ์ใหม่จะถูกรีเฟรชในรายการอินสแตนซ์: "my-web-scale-set_1" สถานะคือ "กำลังสร้าง"-> "กำลังทำงาน"

4. ** เยี่ยมชมอีกครั้ง: **

รีเฟรช IP โหลดบาลานซ์ในเบราว์เซอร์ของคุณอย่างบ้าคลั่งคุณจะพบว่าในขณะที่แสดง 'Hostname is: . .. _ 0 'ในขณะที่มันกลายเป็น 'Hostname is: . .. _ 1'

** นี่แสดงให้เห็นว่าตัวโหลดบาลานซ์ได้เปลี่ยนส่วนหนึ่งของการเข้าชมไปยังน้องชายแรกเกิดเรียบร้อยแล้ว! **

5. ** ออกอัตโนมัติ: **

หลังจากผ่านไป10นาทีคำสั่งทดสอบความดันจะสิ้นสุดลงและ CPU จะถอยกลับในอีก5-10นาทีระบบจะเรียกใช้กฎการลดขนาดและเครื่องเสมือนที่สร้างขึ้นใหม่จะถูกปิดและลบโดยอัตโนมัติและทุกอย่างจะกลับคืนสู่สภาพเดิม

---

# # เซเว่นสรุปและคู่มือการจัดเรียงหลุม

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

* ** การออกแบบที่ไร้สัญชาติ (Stateless):** เครื่องที่มีการขยายตัวและหดตัวแบบยืดหยุ่นคือ "ชีวิตและความตาย" อย่าเด็ดขาด

เก็บไฟล์และฐานข้อมูลที่อัปโหลดของผู้ใช้ไว้ในฮาร์ดดิสก์ภายในของเครื่องเสมือน VMSS มิฉะนั้นเนื้อหาจะหายไปไฟล์ควรถูกบันทึกไว้ใน Azure Blob Storage และข้อมูลควรถูกบันทึกไว้ในฐานข้อมูลอิสระเช่น Azure SQL

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

ด้วยความเชี่ยวชาญ VMSS คุณไม่จำเป็นต้องจ้องที่ป้ายโฆษณาการรับส่งข้อมูลของเซิร์ฟเวอร์ในช่วงกลางดึกอีกต่อไปและคุณสามารถส่งมอบความพร้อมใช้งานสูงให้กับอัลกอริทึมอัตโนมัติของ Microsoft Cloud ได้อย่างสบายใจ!

1
← 返回新闻中心