[บันทึกการใช้งาน] Azure DevTest Labs
ผมได้รับโจทย์จากทางทีม Security ซึ่งต้องการ Windows VMs จำนวน 6 เครื่องเพื่อใช้งานในการทำ Load Test ผมจึงเพิ่มโจทย์กับตัวเองเพิ่มเติมว่า วิธีที่จะเลือกใช้ต้องช่วยอำนวยความสะดวกในการทำงานของผมได้มากขึ้นดังนี้
- สามารถสร้าง VMs ได้สะดวกและรวดเร็ว ถ้าสามารถทำครั้งเดียวได้ 6 VMs เลยจะดีมาก
- VMs ทั้ง 6 เครื่องต้องมีทรัพยากรที่เท่ากัน มี User, Password เดียวกัน, ติดตั้ง Software แบบเดียวกัน
- ต้องสามารถตั้งเวลาเปิดปิด เพื่อลดค่าใช้จ่ายในช่วงที่ไม่ได้ใช้
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 วิธี
- เข้า VMs โดยตรง ผ่าน RDP (Windows), SSH (Linux) วิธีนี้ผู้สร้าง Lab เป็นคนดูแล Servers ทั้งหมด (ในบทความจะพาทำวิธีนี้น่ะครับ)
- ผู้ใช้เข้า Azure Portal และเลือกขอสิทธิ (Claim) ในการดูแล VMs ใน Lab ซึ่งวิธีนี้ผู้ใช้จะสามารถแก้ไข VMs ได้มากขึ้นตาม Policy ที่ผู้ดูแล Lab กำหนดไว้ เช่นเพิ่ม Size ของ VMs, จำนวน VMs
ขั้นตอนการใช้สร้าง Azure DevTest Labs
- เลือก Menu DevTest Labs และกดปุ่ม Add
- กรอกข้อมูล Labs และกด Create
Lab name
- ระบุชื่อ LabSubscription,
- เลือก Subscription ที่จะเอาไว้คิดราคา LabResource 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
- ระบุชื่อ VMsUser name
- ระบุชื่อ User เพื่อ Login เข้า VMsPassword
- ระบุ PasswordVirtual 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 ที่ได้มาตอนที่เราสร้าง LabIP 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 ดังนี้
- ลองเข้าไปดูรายละเอียดใน 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 ให้กับเราน่ะครับ
ขอบคุณผู้อ่านมากๆน่ะครับ
นายป้องกัน