สร้าง Azure VM — Ubuntu ด้วย Free Credit จาก ม.ขอนแก่น (ไม่ต้องใช้บัตรเครดิต)

Ponggun
T. T. Software Solution
6 min readOct 17, 2019

ผมเห็นพี่ๆน้องๆ มหาวิทยาลัยขอนแก่น Share ว่าได้รับ Credit Free
จาก Azure จำนวน $100 USD รวมถึงยังสามารถ Download Software ได้อีกหลายอย่างมาทดลองหัดใช้งานกันครับ

ผมเลยตั้งโจทย์กับตัวเองว่า

นำ Credit ที่ได้มาทำประโยชน์ให้กับมหาวิทยาลัยขอนแก่นยังไงได้บ้าง

เลยอยากพาน้องๆสร้าง Ubuntu บน Azure เพื่อนำไปต่อยอดในการพัฒนาโปรแกรมเช่นการศึกษาการใช้งาน Docker, ทำ CI/CD ด้วย Jenkins และ Run ASP.Net Core Website ครับ จึงเป็นที่มาของบทความนี้ครับ

ข้อดีของ Free Credit นี้คือ เราไม่จำเป็นต้องมีบัตรเครดิตเพื่อสมัครทดลองใช้บริการ Azure เหมือนปรกติครับ ทำให้สะดวกในการเข้าถึงมากขึ้น

สำหรับศิษย์เก่า ม.ขอนแก่น แนะนำให้สมัคร KKU Mail ให้เรียบร้อยก่อนตามบทความนี้น่ะครับ ถึงเราจะสมัครแล้วไม่ได้ทำต่อตามบทความของผม แต่ก็จะได้สิทธิประโยชน์หลายๆอย่างฟรีมากมายเลยครับ เช่น Google Drive หรือ Office 365

เมื่อสมัครเรียบร้อยแล้ว เราสามารถดูสิทธิประโยชน์ต่างๆเพิ่มเติมได้จากลิ้งนี้น่ะครับ

ขั้นตอน

  1. ลงทะเบียน Azure Credit
  2. สร้าง Public Key / Private Key ด้วย MobaXterm เพื่อใช้ร่วมกับ SSH Connection
  3. สร้าง Azure VM — Ubuntu
  4. ต่อ Ubuntu ผ่าน Windows ด้วย MobaXterm และ SSH

ลงทะเบียน Azure Credit

สำหรับท่านที่ไม่ได้เป็นศิษย์เก่า หรือนักศึกษา ม.ข.แต่อยากทดลองทำตามบทความนี้ สามารถที่จะสมัคร Azure Subscription ได้ตามขั้นตอนจาก สลัดผัก Gitbook นะครับ

เริ่มสมัคร Free Azure Credit บน Azure Dev Tools for Teaching กันครับ โดยเข้าไปที่ลิ้งนี้ และกดปุ่ม Sign In

หรืออีกช่องทางครับ Azure for Students

เสร็จแล้วระบบจะพาเราไปที่หน้า Login ของ Microsoft ครับ ให้เราทำการกรอก KKU Mail ของเรา

แล้วจะเข้าสู่หน้า SSO ของ KKU ครับเราก็ทำการ Login ตามปรกติด้วย KKU Mail

กรอกแค่ username ที่ไม่รวม @kkumail.com น่ะครับ ให้เลือก kkumail ที่ Radio Buttonข้างล่างแทนครับ

เมื่อกด Login เรียบร้อยจะกลับไปทำการ Register ที่ Azure ครับถ้าเสร็จแล้วจะเห็นข้อความประมาณนี้น่ะครับ

ขั้นตอนถัดไปให้เรา Login เข้า Azure ด้วย URL ข้างล่างนี้น่ะครับ

https://portal.azure.com

กรอก KKU Mail

ระบบจะพาเรากลับไปที่ KKU SSO อีกรอบครับเราก็ Login ด้วย KKU Mail ของเราเหมือนเดิม หลังจากนั้นก็จะเข้าสู่ Azure Portal เรียบร้อยครับ แต่เราจะยังไม่ได้สิทธิ Free Credit น่ะครับ

ให้กดปุ่ม Claim your Azure credit now เพื่อยืนยันการใช้สิทธิน่ะครับ

กด Activate now

เสร็จแล้วกรอกรายละเอียดต่างๆให้ครบก็พร้อมใช้งานแล้วครับ

เมื่อกลับมาที่ Azure Portal อีกรอบจะพบว่าพร้อมใช้งานจริงๆแล้วครับพร้อมด้วย Credit $100

เมื่อเข้าสู่ Azure Portal ได้แล้ว สิ่งแรกที่อยากให้ทำคือการนำ Menu Subscription มา Pin ไว้เมนูด้านซ้ายเพื่อให้ง่ายต่อการเข้าถึงครับ

เสร็จแล้วให้ Click ที่ Subscription เพื่อเข้าไปตรวจสอบสิทธิของเราครับ

จะเห็นว่ารายละเอียดของ Subscription ของเราไม่สามารถที่จะดูได้น่ะครับเพราะว่าเป็นโครงการพิเศษ ให้ทำการ Login ใน Website ข้างล่างแทนน่ะครับ

เมื่อเรา Login ด้วย KKU Mail อันเดียวกับที่ใช้ Login เข้า Azure น่ะครับ แล้วจะเห็น Credit ที่เรามี (ตอนนี้ผมมี $100)

แนะนำให้ทำ Favorite Menu ไว้เบื้องต้นดังนี้น่ะครับ

สร้าง Public Key / Private Key ด้วย MobaXterm เพื่อใช้ร่วมกับ SSH Connection

เพื่อความปลอดภัยในการติดต่อกับ Server เราจึงเลือกที่จะใช้ SSH Connection ครับซึ่งเราจำเป็นต้องมี 2 สิ่งข้างล่างนี้

The public key เราจะทำการสร้างจากเครื่องเราและนำไปวางยัง Server ปลายทาง เพื่อใช้ในการทำ public-key cryptography

The private key คือการพิสูจน์ตัวตนว่าเรามีสิทธิที่จะเข้าถึงเครื่อง Server จริงๆ เมื่อทำการต่อด้วย SSH connection. เราจะสร้างมาพร้อมกับตอนที่สร้าง public key. แต่จะต่างกันตรงที่ public จะวางที่ server ปลายทาง แต่ private key เราจะเก็บไว้ในเครื่องของเราเท่านั้น แชร์ให้คนนอกไม่ได้น่ะครับ

ใครที่สนใจในรายละเอียดของ SSH ศึกษาต่อได้ที่นี้น่ะครับ

แถมเรื่องของ Public Key / Private Key ในมุม Digital Signature, Digital Envelop น่ะครับ

สร้าง Public Key และ Private Key กันครับด้วย MobaXterm

ติดตั้งโปรแกรม mobaxterm

เปิด mobaxterm, click start local terminal

สร้าง public, private key ด้วยคำสั่ง

ssh-keygen -t rsa -b 2048

ใส่ Filename เพื่อใช้เก็บ key

ponggun-dev-key

เพื่อความปลอดภัยที่มากขึ้น ให้เราใส่ passphrase เพื่อเพิ่มขั้นตอนที่ใช้ในการยืนยันการ login

ponggun-poc

ถ้าทำสำเร็จจะได้ผลลัพธ์ดังนี้น่ะครับ

File จะอยู่ที่

C:\Users\User\Documents\MobaXterm\home

Public key อยู่ใน ponggun-dev-key.pub

Private key is in ponggun-dev-key

เท่านี้เราก็จะได้ Public Key, Private Key ไว้ใช้ในขั้นตอนถัดไปแล้วครับ

สร้าง Azure VM — Ubuntu

สิ่งสำคัญแรกสุดคือการสร้าง Resource Group เพื่อรวบรวม Azure Resources ต่างๆเข้าไว้ด้วยกันเพื่อง่ายต่อการจัดการต่างๆ เช่นการ Set Policy หรือการลบ Resources ทั้งหมด

ปรกติผมจะสร้าง Group อย่างน้อยๆขึ้นมา 4 Groups คือ Development, Test, Hot-fix, Production เพื่อแยก Resources ออกให้เห็นตามแต่ล่ะ Environment อย่างชัดเจนครับ

ในบทความนี้ผมสมมติว่าเราสร้าง Resource Group ขึ้นมาแค่ 1 Group เพื่อใช้เป็น Development Environment นะครับ

รายละเอียดเรื่อง Resource Group ดูได้ที่ สลัดผัก Gitbook น่ะครับ

เปิด Resource groups กันครับ

กด Add > ตรวจสอบ Subscription > กรอกชื่อ Resource Group > เลือก Region Southeast Asia (เพราะว่าอยู่ใกล้ไทยที่สุดครับ) > เสร็จแล้วก็กดตกลง

Region จะเป็นส่วนที่ช่วยระบุว่า Resources ต่างๆที่เราจะสร้างนั้นอยู่ที่ไหนครับ ซึ่งเราควรเลือกให้ใกล้กับลูกค้าเรามากที่สุด

ถ้าอยากทราบว่าเราควรจะเลือก Region ไหน ดูได้จากลิ้งนี้น่ะครับ

จะเห็นว่า Southeast Asia ใกล้ไทยที่สุดครับ

เริ่มสร้าง VM Ubuntu กันครับ เริ่มแรกให้เข้าไปที่ Virtual machines page ก่อนน่ะครับ

สำหรับรายละเอียดของ Windows VM ดูได้ที่ สลัดผัก Gitbook น่ะครับ

กด Add แล้วกรอกรายละเอียดเบื้องต้น

เสร็จแล้วกรอกรายละเอียดที่เหลือในส่วนของ Disk, Network, Management

Review ผลลัพธ์ก่อนที่จะทำการสร้าง VM

กด Create เพื่อสร้าง VM

รอจนทำงานเสร็จให้กลับไปที่ Resource Group ที่เราสร้าง ซึ่งจะพบว่านอกจาก Virtual Machine แล้วยังมี Resourcesอื่นๆที่ต้องใช้งานร่วมกันอีกหลายตัวเลยครับ

ต่อ Ubuntu ผ่าน Windows ด้วย MobaXterm และ SSH

  • ยังคงอยู่ที่ Azure Portal น่ะครับ
  • ให้ทำการเลือก VM ที่เราพึ่งสร้างครับ

จากภาพบนจะเห็นว่าสถานะกำลังทำงานอยู่ น่ะครับ

ถ้าเราต้องการประหยัดเงิน เราสามารถที่จะปิดเครื่องให้อยู่ในสถานะดังนี้น่ะครับ

Stopped (deallocated) = Server ถูก Shutdown, Azure ไม่หักค่าใช้จ่ายในสถานะนี้

เมื่อเลือก VM แล้ว, เราจะทำการกำหนด DNS name เพื่อที่จะอ้างอิงได้สะดวกและข้อมูลไม่เปลี่ยนเหมือนใช้ IP Address น่ะครับ มีขั้นตอนดังนี้

เลือก Overview > เลือก Configure > ระบุ DNS name ที่ไม่ซ้ำกับคนอื่น >
กด Save

จะพบว่าตอนนี้เราได้ทำการแก้ไข DNS name เรียบร้อยแล้ว

ponggun-kku-vm.southeastasia.cloudapp.azure.com

ขั้นตอนถัดไปจะเป็นการ Connect ไปที่เครื่องด้วย SSH น่ะครับ โดยใช้ MobaXterm ครับ

เปิด MobaXterm > เลือก Session > เลือก SSH > และกรอกรายละเอียดดังนี้

เสร็จแล้วให้ลอง Connect ระบบจะถามหา Passphrase ก็ให้เรากรอกตามที่เรา Gen Private Key ไว้ในขั้นตอนก่อนหน้านี้

ponggun-poc

ถ้าเข้ามาได้แล้วก็พร้อมใช้งานล่ะครับ ^^ ซึ่งในบทความนี้ต้องขอจบลงเท่านี้น่ะครับ ในบทความถัดๆไปจะอธิบายเรื่องการนำ Ubuntu ที่สร้างมานี้มาทำ CI/CD ร่วมกับ Jenkins และ ASP.Net Core ครับ

สรุป

ในบทความนี้แนะนำศิษย์เก่าหรือนักศึกษา ม.ขอนแก่น ให้สามารถเข้าถึง Free Credit ของ Azure จำนวน $100 น่ะครับ ซึ่งเราสามารถนำมาต่อยอดทดลองอะไรได้อีกเยอะเลยครับ ในบทความนี้ผมทดลองสร้าง Ubuntu VM ขึ้นมา 1 เครื่อง โดยมีค่าใช้จ่ายประมาณ $20 ต่อเดือน ซึ่งถ้าเราเปิดใช้งานตลอดเลยก็จะได้ประมาณ 5 เดือนครับ แต่ถ้าเราเปิดเมื่อทดลองงานต่างๆ และปิดเมื่อเลิกใช้ก็จะประหยัดเงินได้อีกเยอะเลยครับ

ในบทความหน้าหลังจากที่เราได้ Ubuntu VM แล้ว เราจะมาลง Docker, ASP.Net Core, Jenkins เพื่อทำ CI/CD กันน่ะครับ

ขอบคุณผู้อ่านทุกท่านครับ หวังว่าเนื้อหาจะมีประโยชน์น่ะครับ

นายป้องกัน

--

--

Ponggun
T. T. Software Solution

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