ระบบเครื่องประมวลผลเสมือนหรือ Virtual Machines (VM) เป็นหนึ่งในบริการโครงสร้างพื้นฐาน (IaaS) สำหรับให้เราปรับแต่งและนำระบบที่พัฒนาสำหรับใช้งานผ่านระบบอินเทอร์เน็ตและอินทราเน็ตขึ้นสู่บริการประมวลผลแบบกลุ่มเมฆ โดยบริการโครงสร้างพื้นฐานที่จัดเตรียมไว้ให้บนระบบประมวลผลแบบกลุ่มเมฆโดยระบบเครื่องประมวลผลเสมือนที่รองรับทั้ง Windows และ Linux
โดยผู้พัฒนาระบบที่ใช้ในบริการเครื่องประมวลผลเสมือนนี้มาประยุกต์ใช้งานเพื่อสร้างระบบที่ออกแบบได้เองตั้งแต่การเลือกใช้งานระบบปฏิบัติการ (Operating System) การตั้งค่าการสื่อสารระหว่างตัวเครื่องประมวลผลเสมือนติดตั้งซอฟแวร์สื่อสารระหว่างระบบ (Middleware) ซอฟต์แวร์ช่วยประมวลผลภาษาโปรแกรมมิ่ง (Software Runtime) ซอฟต์แวร์เพื่อรองรับโครงร่างการพัฒนาโปรแกรมคอมพิวเตอร์ (Software Framework) และระบบสำรองข้อมูลทั้งหมด ทำให้เราสามารถบริหารจัดการได้เสมือนเครื่องแม่ข่ายจริงๆ
การติดตั้ง Ubuntu Linux Server บน Windows Azure Virtual Machine
1. เลือกที่ NEW ที่หน้า Windows Azure Portal
2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery
3. เลือก Ubuntu Linux Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next
4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่
4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น
4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name
4.3. เลือกขนาดของตัวเครื่อง (Size)
4.4. เลือกชื่อเข้าระบบ (New user name)
4.5. เอาเครื่องหมายถูกที่ Upload compatible SSH key for authentication ออกไป
4.6. เลือก Provide a password และตั้งรหัสผ่านเข้าระบบจากตรงนี้
ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next
5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่
5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย
5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net
5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ
5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน
5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server
5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1
6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Linux นั้นจะเป็น Port หมายเลข 22 ที่เป็น Secure Shell นั้นเอง
จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ Apache Web Server และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น
เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง
7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running
8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ
8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ
8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน
8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา
8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้
8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
– status แสดงว่ากำลังทำงานอยู่หรือไม่
– dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
– host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
– public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
– internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
– SSH details รายละเอียดสำหรับเชื่อมต่อผ่าน SSH
– size คุณสมบัติของ Virtual Machine เครื่องนี้
8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง
8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ
9. ส่วนของ Endpoint เป็นส่วนที่ใช้สำหรับจัดการ Port เพื่อให้เราสามารถเชื่อมต่อกับ Virtual Machine ได้จากเครือข่ายภายนอก Windows Azure โดย Port ต่างๆ นั้นจะใช้ผ่านโปรแกรมหรือการเรียกใช้ตามที่ระบุไว้เท่านั้น ถ้าไม่มีการเปิดใน Endpoint นี้ก่อน จะทำให้การเข้าถึงในโปรแกรมหรือระบบที่ได้ติดตั้งลงใน Virtual Machine ที่ทำงานใน Port ดังกล่าว ใช้งานจากภายนอก Windows Azure ไม่ได้
10. การตั้งขนาดของ Virtual Machine สามารถกลับมาปรับได้จากหน้า Configure นี้ รวมไปถึงการตั้งค่า Availability Set เพื่อสร้างกลุ่มของการขยายและรองรับการล่มของระบบขึ้นมา ในส่วนของ monitoring นั้น เป็นส่วนที่ใช้สำหรับตั้งค่า web endpoint status ซึ่งเป็นที่เดียวกันในหน้า Dashboard
11. การเชื่อมต่อสามารถเข้าได้ผ่าน SSH Client อย่าง PuTTY โดยใช้ค่าจาก SSD Details มาใช้งานเพื่อเชื่อมต่อ ซึ่งเมื่อทำการเชื่อมต่อให้กดรับ rsa2 key fingerprint ก่อนเพื่อให้การเชื่อมต่อสำเร็จ
12. เมื่อเชื่อมต่อได้ ผ่านข้อมูลในข้อที่ 4. ก็จะเข้ามาในหน้า Shell ของระบบ เป็นอันเสร้จสิ้นการติดตั้ง Ubuntu Linux Server
การติดตั้ง Windows Server บน Windows Azure Virtual Machine
1. เลือกที่ NEW ที่หน้า Windows Azure Portal
2. เลือกที่ Compute ตามด้วย Virtaul Machine และเลือกที่ From Gallery
3. เลือก Windows Server รุ่นที่ต้องการจากหน้า Virtual machine image selection กดปุ่ม Next
4. กรอกข้อมูลตั้งค่า Virtual Machince ส่วนของคุณสมบัติเครื่องเสมือนได้แก่
4.1. ตัวเลือก Version Release Date ซึ่งเป็นรุ่นที่มีการรวบรวมการสร้างอิมเมจของตัวระบบปฏิบัติการนั้นๆ ซึ่งถ้าใช้วันที่ล่าสุด จะทำให้เราไม่ต้องอัพเดทแพตเยอะเกินความจำเป็น
4.2. ตั้งชื่อเครื่องเสมือนที่ Virtual Machine Name
4.3. เลือกขนาดของตัวเครื่อง (Size)
4.4. เลือกชื่อเข้าระบบ (New user name)
4.5. กรอกข้อมูลรหัสผ่าน (New password) และยืนยันรหัสผ่านอีกครั้ง
ตั้งค่าทั้งหมดเสร็จแล้วกดปุ่ม Next
5. กรอกข้อมูลตั้งค่า Virtual Machince ในส่วนของการใช้งานเครือข่ายได้แก่
5.1. Cloud Service เป็นตัวเลือกเพื่อผูกเข้ากับ Cloud Service ใหม่หรือผนวกตัว Virtual Machine ที่กำลังจะสร้างนี้ไปใช้งานร่วมกับ Virtual Machine เก่าโดยการผนวกเพื่อใช้งานร่วมกับ Virtual Machine เก่าจะสามารถใช้ความสามารถของ Load Balancer ได้ด้วย
5.2. Cloud Service DNS name ชื่อของ Cloud Service ที่จะใช้อ้างอิงเพื่อใช้งานกับ domain ชื่อ cloudapp.net
5.3. Subscription ชื่อของบัญชีผู้ใช้งานเพื่อเรียกเก็บค่าใช้ระบบ
5.4. Region/Affinity Group/Virtual Network โซนที่ต้องการนำ Virtual Machine นี้ไปใช้งาน
5.5. Storage Account ชื่อบัญชีผู้ใช้งานสำหรับจัดการเก็บ Virtual Machine ซึ่งไฟล์ Virtual Machine จะเป็นนามสกุล VHD ซึ่งเป็นตัวเดียวกับที่ใช้บน Windows Server
5.6. Availability Set เป็นการตั้งกลุ่มเพื่อทำการขยายระบบและรองรับการล่มของ Virtual Machine ซึ่งจะทำงานสอดคล้องกับ Cloud Service ในข้อที่ 5.1
6. ตั้งค่าการเข้าถึงผ่าน Port ของ Network ซึ่งเป็นการตั้งค่าให้สอดคล้องกับระบบรักษาความปลอดภัยของ Windows Azure ผ่านระบบ Firewall ด้วยการตั้งค่า Endpoint ซึ่งค่าเริ่มต้นของ Windows นั้นจะเป็น Port หมายเลข 3389 ที่เป็น Remote Desktop และ 5986 ที่เป็น PowerShell เพื่อ Remote เข้ามาได้
จากตัวอย่าง ถ้าเราต้องการใช้ Virtual Machine นี้ในการให้บริการเว็บก็เลือก HTTP เพื่อใช้ Port หมายเลข 80 เพื่อให้รองรับกับ IIS และ Port หมายเลข 21 เพื่อให้รองรับกับการส่งไฟล์ผ่าน FTP เป็นต้น
เมื่อทุกอย่างตั้งค่าครอบแล้วให้ตอบ OK หรือเครื่องหมายถูก ที่มุมขวาล่าง
7. จากตัวอย่างดังกล่าว เมื่อตอบตกลงให้สร้าง Virtual Machine แล้ว ให้รอจนกว่าจะ Provisioning เสร็จสิ้นแล้วขึ้นสถานะ Running
8. เมื่ออยู่ในสถานะ Running แล้วให้เข้าไปที่ Dashboard ของ Virtual Machine เครื่องที่เราสร้างขึ้นมา จะมีส่วนต่างๆ ในหน้า Dashboard นี้หลายส่วนให้เทำความเข้าใจ
8.1. web endpoint status ตั้งสถานะการตรวจจับการทำงานของ endpoint ที่ตั้งขึ้นมาเพื่อส่งสถานะไปแจ้งเมื่อมีการล่มเกิดขึ้นหรือโยกการเข้าถึงไปยังระบบอื่นๆ
8.2. autoscale status ตั้งค่าขยายระบบอัตโนมัติ โดยปรกติถ้าใช้งานเพียง Virtual Machine เดียวเราจะไม่สามารถตั้งค่าอะไรเพิ่มเติมได้ เพราะต้องคั้งค่า Availability Set เสียก่อน
8.3. usage overview จะแสดงจำนวน core ของ CPU ที่ใช้งานอยู่และสามารถขยายระบบออกไปได้ ถ้าตั้ง Availability Set ไว้จะเห็นจำนวน core ของ CPU ใน Available เพิ่มขึ้นมา
8.4. disk ส่วนแสดงรายการของ disk หรือไฟล์ VHD ที่เกี่ยวกับและทำงานร่วมกับ Virtual Machine เครื่องนี้
8.5. quick glance ใช้สำหรับแสดงสถานะของ Virtual Machine ได้แก่
– status แสดงว่ากำลังทำงานอยู่หรือไม่
– dns name ชื่อ DNS สำหรับใช้ในการติดต่อ ภายใต้ domain name ชื่อ cloudapp.net
– host name ชื่อ host name ของระบบปฏิบัติการที่ติดตั้งอยู่
– public virtual IP หมายเลข IP ภายนอกที่ใช้สำหรับติดต่อเข้ามา ใช้งานแทน dns name ได้
– internal IP หมายเลข IP สำหรับควบคมผ่าน cloud agent ของ Windows Azure Portal
– size คุณสมบัติของ Virtual Machine เครื่องนี้
8.6. matrix เป็นกราฟที่ใช้แสดงโหลดของ Virtual Machine เครื่องนี้ว่ามีการเคลื่อนไหวอย่างไรบ้าง
8.7. dashboard menu เมนูหลักในการจัดการ Virtual Machine ในส่วนต่างๆ
โดยในส่วนของเมนู Endpoint และ Configure นั้นไม่แตกต่างจากของ Linux แต่อย่างใดนัก
9. ในส่วนของการเชื่อมต่อเข้าไปยัง Virtual Machine เพื่อควบคุมนั้น สามารถดึง RDP profile จากในหน้า Windows Azure Portal ได้จากเมนู Connect ที่ด้านล่าง
10. เราจะได้ไฟล์ .rdp มา เมื่อ Save และ Open ไฟล์ดังกล่าว ตัว Windows ของเราจะทำการเชื่อมต่อกับ Virtual Machine ที่สร้างขึ้นมา
11. ตอบรับการเชื่อมต่อในคำแนะนำนี้
12. ใช้การเชื่อมต่อแบบกำหนดเอง ให้กรอกข้อมูลที่ข้อที่ 4.
13. ตอบรับ Certificate ของการเชื่อมต่อนี้
14. รอการเชื่อมต่อ และรอการตั้งค่าต่างๆ ครั้งแรกที่ได้เชื่อมต่อเข้าไป
15. เมื่อเชื่อมต่อเสร็จแล้ว เราก็สามารถควบคุม Virtual Machine ที่เป็น Windows Server ได้แล้ว
การเปิดใช้ SWAP Partition ของระบบปฏิบัติการ Linux บน Windows Azure
โดยปรกติแล้ว ถ้าเราลง Linux โดยทั่วไปจะมีการตั้ง SWAP Partition ไว้เป็นปรกติอยู่แล้ว แต่ถ้าอยู่บน Cloud นั้นตัวอิมแมจของระบบปฏิบัติการ Linux จะถูกปรับแต่งบางส่วนเพื่อไม่ให้สร้าง SWAP Partition ด้วยเหตุผลด้านพื้นที่ที่ต้องจองไว้และความไม่จำเป็นโดยทั่วไปของ Cloud อยู่แล้ว (ปรกติใช้ Cloud สำหรับ Compute ข้อมูลที่อาจจะไม่ได้ใช้หน่วยความจำเยอะ) เพราะไม่ใช่ทุกคนที่ลงระบบปฏิบัติการ ต้องได้ใช้ SWAP เสมอไป แต่ถ้าอยากลงก็มีทางให้อยู่ โดยการตั้งค่าต่อไปนี้ อ้างอิงอยู่บน Ubuntu Linux Server เพื่อให้สอดคล้องกับการติดตั้งระบบปฎิบัติการ Ubuntu Linux Server ด้านบน
1. จัดการ sudo ให้ตัวเองเป็น root ของระบบ
2. เข้าไปแก้ไข Windows Azure Linux Agent Configuration ซึ่งอยู่ที่ /etc/waagent.conf
3. เมื่อเปิดไฟล์ขึ้นมาจะตัวตั้งค่าอยู่พอสมควร ให้หาส่วนที่ขึ้นต้นด้วย ResourceDisk ซึ่งจะมีอยู่ทั้งหมด 5 ค่า
ResourceDisk.Format=y
ResourceDisk.Filesystem=ext4
ResourceDisk.MountPoint=/mnt/resource
ResourceDisk.EnableSwap=n
ResourceDisk.SwapSizeMB=0
4. เราจะปรับให้ใช้ SWAP ขนาด 2GB โดยปรับค่า 2 ตัวดังนี้
#เปิดการใช้ SWAP
ResourceDisk.EnableSwap=y
# 2GB หน่วยเป็น MB
ResourceDisk.SwapSizeMB=2048
5. เมื่อปรับแต่งตัวตั้งค่าทั้ง 2 ตัวแล้ว บันทึกไฟล์แล้วออกจากตัว editor
6. สั่ง Deprovision ด้วยคำสั่งด้านล่าง
azureuser@ns1:~$ waagent –force –deprovision
azureuser@ns1:~$ export HISTSIZE=0
7. เมื่อสั่งรันคำสั่งจบก็ exit ออกมา แล้วไปที่ Windows Azure Portal เพื่อสั่ง Restart ตัว Virtual Machines รอสัก 3-4 นาทีโดยประมาณ ระบบจะบูทกลับมาใหม่ ให้ remote กลับเข้ามา แล้วพิมพ์คำสั่ง swapon –s เพื่อตรวจสอบว่ามีไฟล์ SWAP ของระบบอยู่ที่ /mnt/resource/swapfile หรือไม่