[บันทึกการใช้งาน] Azure DevTest Labs

Ponggun
T. T. Software Solution
4 min readMay 27, 2020

ผมได้รับโจทย์จากทางทีม Security ซึ่งต้องการ Windows VMs จำนวน 6 เครื่องเพื่อใช้งานในการทำ Load Test ผมจึงเพิ่มโจทย์กับตัวเองเพิ่มเติมว่า วิธีที่จะเลือกใช้ต้องช่วยอำนวยความสะดวกในการทำงานของผมได้มากขึ้นดังนี้

  1. สามารถสร้าง VMs ได้สะดวกและรวดเร็ว ถ้าสามารถทำครั้งเดียวได้ 6 VMs เลยจะดีมาก
  2. VMs ทั้ง 6 เครื่องต้องมีทรัพยากรที่เท่ากัน มี User, Password เดียวกัน, ติดตั้ง Software แบบเดียวกัน
  3. ต้องสามารถตั้งเวลาเปิดปิด เพื่อลดค่าใช้จ่ายในช่วงที่ไม่ได้ใช้

Azure DevTest Labs

เป็นบริการที่ช่วยเพิ่มความสะดวกสบายให้กับผู้ดูแล Lab ในการจัดเตรียม Environments ให้กับทีมได้อย่างรวดเร็ว เช่น Development/Test Environment

จุดเด่นๆของบริการสำหรับผู้ดูแล Lab

  • สามารถกำหนดได้ว่าจะสร้าง Windows VMs หรือ Linux VMs โดยจากเลือก Base Image ที่ต้องการนำมาติดตั้ง
  • สามารถติดตั้ง Programs เพิ่มเติม (Artifact) เช่น Chrome, Git, Slack
  • หลังติดตั้งเสร็จแล้วเราสามารถนำทำเป็น Base Images เพื่อนำไปใช้ใน Lab ในอนาคตได้อีกด้วยครับ สะดวกมากๆเลย
  • สามารถเลือกขนาดของ VMs
  • สามารถเลือกจำนวน VMs ที่ต้องการในการสร้างครั้งเดียว
  • สามารถตั้งเวลาเปิดปิด VMs เพื่อควบคุมค่าใช้จ่ายของ Lab
  • กำหนด Policy ในการใช้ VMs

ในฝั่งของผู้ใช้นั้น สามารถเข้าถึง Lab ได้ 2 วิธี

  1. เข้า VMs โดยตรง ผ่าน RDP (Windows), SSH (Linux) วิธีนี้ผู้สร้าง Lab เป็นคนดูแล Servers ทั้งหมด (ในบทความจะพาทำวิธีนี้น่ะครับ)
  2. ผู้ใช้เข้า Azure Portal และเลือกขอสิทธิ (Claim) ในการดูแล VMs ใน Lab ซึ่งวิธีนี้ผู้ใช้จะสามารถแก้ไข VMs ได้มากขึ้นตาม Policy ที่ผู้ดูแล Lab กำหนดไว้ เช่นเพิ่ม Size ของ VMs, จำนวน VMs
Azure DevTest Labs

ขั้นตอนการใช้สร้าง Azure DevTest Labs

  • เลือก Menu DevTest Labs และกดปุ่ม Add
  • กรอกข้อมูล Labs และกด Create
Lab name
- ระบุชื่อ Lab
Subscription,
- เลือก Subscription ที่จะเอาไว้คิดราคา Lab
Resource group
- แนะนำให้สร้าง New Group เลยครับ เพื่อให้ Resources ที่เกี่ยวข้องอยู่ใน Group นี้
Location
- เลือก Location ที่ต้องการสำหรับ Lab
- ในตัวอย่างนี้ผมเลือก Central US เพราะว่า Website ที่จะทดสอบอยู่ที่ USA น่ะครับ
  • รอจน Lab สร้างเสร็จ โดยดูที่ Notification
  • เราจะพบว่าระบบได้สร้าง Resource Group และ Resources ที่เกี่ยวข้องให้เรา ซึ่งจะถูกนำไปใช้งานต่อในส่วนของการเพิ่ม VMs (เช่น Virtual network ที่สร้างขึ้นมานี้จะถูก Assign ต่อไปยัง VMs)

ขั้นตอนการติดตั้ง VMs สำหรับ DevTest labs

  • กลับมาที่ DevTest Labs และกดปุ่ม Refresh จะพบ Lab ที่เราพึ่งสร้าง
  • กดที่ Lab ของเราและกดปุ่ม Add เพื่อสร้าง VMs ครับ
  • เลือก Base Image (ในตัวอย่างนี้ผมเลือก Windows Server 2019 Data Center)
  • ในขั้นตอนต่อมาจะเป็นการระบุรายละเอียดของ VMs น่ะครับ โดยส่วนแรกจะเป็น Basic Setting โดยเราจะกรอกรายละเอียดดังนี้น่ะครับ
Virtual machine name
- ระบุชื่อ VMs
User name
- ระบุชื่อ User เพื่อ Login เข้า VMs
Password
- ระบุ Password
Virtual machine size
- เลือก CPUs, RAM, Disk, Cost ที่ต้องการ
Artifacts
- เลือก Programs เสริมที่ต้องการติดตั้ง เช่น Chrome, git, Aure PowerShell หรือ เลือกการทำงานเพิ่มเติม เช่น Clone Repository จาก Github
  • กรอกข้อมูลเพิ่มเติมในส่วนของ Advance Settings และกด Create
Virtual network, Subnet Selector
- ใช้ตาม Default Value เพื่อให้ VMs ของเราอยู่ใน network นี้เลยครับ ซึ่งเป็น Network ที่ได้มาตอนที่เราสร้าง Lab
IP address
- เลือก Shared เพื่อให้ระบบติดตั้ง RDP (Windows VMs) และ SSH (Linux VMs) โดยอัตโนมัติ
Expiration date
- ระบุเวลาที่ต้องการเลิกใช้ Lab และ VMs ที่เกี่ยวข้องทั้งหมด
Claim options
- ให้เราเลือก No (ในกรณีที่เราต้องการสร้าง VMs และให้สิทธิ Users อื่นมาจัดการ VMs ได้ต่อ ตรงนั้นเราถึงจะเลือก Yes เพื่อให้ Users สามารถมา Claim สิทธิในการใช้ VMs ได้ครับ)
Number of instances
- จำนวนของเครื่องที่ต้องการสร้างน่ะครับ ถ้าใครต้องการใช้เครื่องเดียวก็ระบุเลข 1
- ในตัวอย่างนี้ผมระบุ 6 เพื่อต้องการสร้าง VMs 6 เครื่องน่ะครับ
- โดยชื่อของ VMs จะถูกสร้างด้วย Format
<base image name>00 and <base image name>01
- ตัวอย่าง
win10vm00,win10vm01,win10vm02,win10vm03,win10vm04,win10vm05
  • เมื่อสร้างเสร็จแล้วเราจะได้ VMs ดังนี้
สังเกตุว่า Auto-start ยังไม่ได้ Configure นะครับ เดี๋ยวเราจะไปทำต่อในขั้นตอนถัดไป
  • ลองเข้าไปดูรายละเอียดใน Resource Group ว่ามี Resources อะไรที่สร้างขึ้นมาเพิ่มบ้าง

Auto Start, Shutdown VMs ใน DevTest Labs

  • เราสามารถกำหนด Auto Start, Shutdown ได้ตามภาพข้างล่างนี้น่ะครับ
  • ในตัวอย่างทีมผมอยู่ India ผมเลยเลือกเวลาโดยอิง Timezone New Delhi
  • เราจำเป็นที่จะต้องเข้าไปใน VMs แต่ล่ะเครื่องเพื่อสั่ง Auto Start ด้วยน่ะครับ

การเข้าใช้งาน DevTest Labs

  • Download file RDP จาก VMs แต่ล่ะเครื่อง และใส่ Password ที่เรากำหนดไว้ก่อนหน้านี้ก็พร้อมมใช้งานแล้วครับ
  • รอสักครู่ก็จะได้ Windows Server 2019 ให้ทำงานต่อได้แล้วครับโผมมมมม

คำนวนค่าใช้จ่าย (โดยประมาณ)

  • เปิดใช้ Lab14 วัน วันล่ะ 12 ชั่วโมง
  • ใช้ 1 เครื่อง ราคา = 157.68 USD/เดือน
  • ใช้ 6 เครื่อง = 6*157.68 = 946 USD/เดือน
  • ติดดั้ง Auto Start/Shutdown เพื่อใช้งานแค่ 12 ชั่วโมงต่อวัน = 946 *(12/24)
    = 473‬ USD/เดือน
  • ติดตั้ง Expired time หลังจากที่เปิดใช้งานไป 14 วัน= 473‬ * 14/30
    = 221 USD

หวังว่าเนื้อหาในบทความจะช่วยให้ผู้อ่านมองเห็นภาพของประดยชน์ในการใช้ Azure DevTest Labs เพื่อช่วยจัดการ Environment ให้กับเราน่ะครับ

ขอบคุณผู้อ่านมากๆน่ะครับ

นายป้องกัน

--

--

Ponggun
T. T. Software Solution

Development Manager, Web Developer with ASP.Net, ASP.net Core, Azure and Microsoft Technologies