สร้าง Azure VM — Ubuntu ด้วย Free Credit จาก ม.ขอนแก่น (ไม่ต้องใช้บัตรเครดิต)
ผมเห็นพี่ๆน้องๆ มหาวิทยาลัยขอนแก่น 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
เมื่อสมัครเรียบร้อยแล้ว เราสามารถดูสิทธิประโยชน์ต่างๆเพิ่มเติมได้จากลิ้งนี้น่ะครับ
ขั้นตอน
- ลงทะเบียน Azure Credit
- สร้าง Public Key / Private Key ด้วย MobaXterm เพื่อใช้ร่วมกับ SSH Connection
- สร้าง Azure VM — Ubuntu
- ต่อ 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 ข้างล่างนี้น่ะครับ
กรอก 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 ไหน ดูได้จากลิ้งนี้น่ะครับ
เริ่มสร้าง 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 กันน่ะครับ
ขอบคุณผู้อ่านทุกท่านครับ หวังว่าเนื้อหาจะมีประโยชน์น่ะครับ
นายป้องกัน