บทความแรก ขอนำเสนอด้วยเรื่องราวของ Virtual Network หรือเรียกสั้นๆ ว่า “VNet” ใน Microsoft Azure ครับ ก่อนที่จะพาท่านผู้อ่านไปทำการคอนฟิกฟีเจอร์ Vnet Peering ผมขออธิบายคร่าวๆ สำหรับเรื่องของ Vnet ใน Microsoft Azure ว่าคืออะไร และมีคอนเซปการทำงานอย่างไร สำหรับท่านผู้อ่านท่านใดที่ยังไม่รู้จักหรือไม่คุ้นเคยกับ Virtual Network หรือ VNet ใน Microsoft Azure มาก่อนครับ
Virtual Network (VNet) คืออะไร?
Virtual Network หรือ VNet คือ Resource ชนิดหนึ่งใน Microsoft Azure โดยเป็น Resource ใช้สำหรับการสร้างและจัดการ Infrastructure หรือ IaaS บน Microsoft Azure ครับ จากประสบการณ์ของผม Azure Virtual Network หรือ VNet เป็น Resource ที่องค์กรส่วนใหญ่ที่ใช้ Microsoft Azure ใช้งานกันมากที่สุดตัวหนึ่งเลยครับ สำหรับ VNet นั้นเปรียบเสมือน Physical Network ที่ถูกสร้างและจัดการใน On-Premise Data Center ครับ โดยปรกติทั่วๆ ไปใน Physical Network ท่านผู้อ่านสามารถแบ่งเป็นหลายๆ Subnets และแต่ละ Subnets นั้นท่านผู้อ่านสามารถกำหนด Address Spaces ได้ จากนั้นก็นำเอาเครื่อง Physical หรือ Virtual Machines มาทำการเชื่อมต่อเข้ากับ Network ดังกล่าว เพื่อให้เครื่องต่างๆ เหล่านั้นสามารถติดต่อสื่อสารกันได้ครับ
คอนเซปต์ดังกล่าวนี้ก็เหมือนกับ Azure Virtual Network หรือ VNet ครับ โดยใน VNet ท่านผู้อ่านสามารถสร้างและกำหนด Subnets และกำหนด Address Spaces ให้กับแต่ละ Subnets ได้ครับ และแน่นอนในการทำงานจริง มีความเป็นไปได้ที่จะมีหลาย VNets ครับ เพิ่มเติมอีกนิดนึงนะครับ สำหรับการสร้าง VNet ใน Microsoft Azure ท่านผู้อ่านสามารถสร้าง VNets และกำหนดค่าต่างๆ ตามที่ออกแบบไว้ได้ก่อนเลยครับ และวิธีนี้เป็นวิธีที่ผมแนะนำครับ ส่วนอีกวิธีหนึ่งสำหรับการสร้าง VNet คือ สร้างไปพร้อมกับตอนที่สร้าง Azure Virtual Machine หรือ Azure VM ครับ สิ่งที่อยากให้ท่านผู้อ่านจำไว้คือ Azure VM เมื่อสร้างขึ้นมาแล้วจะต้องเชื่อมต่อเข้ากับ VNet นะครับ ไม่สามารถสร้าง Azure VM เฉยๆ โดยที่ไม่มีการเชื่อมต่อกับ VNet ได้ครับ
กลับมาที่เรื่องของ Azure Virtual Network หรือ VNet นั้น อย่างที่ผมได้อธิบายไปซักครู่ที่ผ่านมาว่า ในการทำงานจริงนั้นมีความเป็นไปได้แน่นอนครับ ที่จะต้องมีหลายๆ Virtual Networks (VNets) จึงทำให้มีความต้องการต่อมาคือ การเชื่อมต่อ Virtual Networks แต่ละอันเข้าด้วยกันครับ เพื่อให้เครื่องหรือ Azure VMs สามารถติดต่อสื่อสารกันได้ถถึงแม้ว่าจะอยู่คนละ Virtual Networks กันครับ และรูปด้านล่างคือ Options ต่างๆ ของการเชื่อมต่อ Azure Virtual Network หรือ VNet ครับ
จากรูปด้านบนท่านผู้อ่านจะเห็นว่ามีรูปแบบหรือ Options สำหรับการเชื่อมต่อของ Azure Virtual Network หรือเรียกว่า Azure Virtual Network Connectivity มีหลากหลาย Options ครับ ทั้งนี้ขึ้นอยู่กับความต้องการขององค์กรหรือผู้ใช้งานเป็นหลักครับ โดยสามารถแบ่ง Options ในการเชื่อมต่อได้ดังนี้:
1. Cross-Premise
1.1 Point-to-Site
1.2 Site-to-Site
1.3 Express Route
2. Cross-Virtual Network
2.1 VNet-to-VNet
2.2 VNet Peering
ผมขอยกตัวอย่างการเชื่อมใน Options ต่างๆ ข้างต้นที่เรียกว่า Cross-Premise สำหรับ Option นี้ใช้ในกรณีที่องค์กรมีความต้องการที่จะเชื่อมต่อ Networks ที่อยู่ใน On-Premise Data Center เข้ากับ Azure Virtual Network ครับ โดยใช้ Option ของ Cross-Premise ที่เรียกว่า Site-to-Site ครับ โดย Option ดังกล่าวนี้ก็คือการทำ VPN Site-to-Site นั่นเองครับ ซึ่งโดยปรกติผมเชื่อว่าองค์กรส่วนใหญ่จะมี Networks หลายวงและมีหลาย Locations เมื่อต้องการเชื่อมต่อ Networks ที่อยู่ในแต่ละ Locations ทางเลือกหนึ่งที่นิยมใช้กันก็คือการทำ VPN Site-to-Site ครับ ดังนั้นท่านผู้อ่านสามารถใช้คอนเซปเดียวกันสำหรับการเชื่อมต่อ Networks ที่อยู่ใน On-Premise กับ Azure Virtual Network หรือ VNet ได้เช่นกันครับ โดยใน Microsoft Azure จะมี VPN Gateway ให้สำหรับการเชื่อมต่อแบบ Site-to-Site ครับ
สำหรับอีก Option หนึ่งคือการเชื่อมต่อแบบ Cross-Virtual Network โดยจะใช้ในกรณีที่ต้องการเชื่อมต่อระหว่าง Virtual Network ด้วยกันครับผม โดยมีให้เลือก 2 Options คือ VNet-to-VNet ครับ คือการเชื่อมต่อระหว่าง Virtual Network ด้วยกันโดยอาศัยการทำ Site-to-Site ครับ เพราะฉะนั้นคอนเซปและวิธีการติดตั้งก็จะคล้ายคลึงกับการเชื่อมต่อแบบ Site-to-Site หรือการทำ VPN Site-to-Site ที่ผมได้อธิบายไปแล้วก่อนหน้านี้ครับ ด้วยวิธีหรือ Option นี้จำเป็นต้องใช้ Azure VPN Gateway เหมือนกันครับผม ส่วนอีก Option หนึ่งสำหรับการเชื่อมต่อแบบ Cross-Virtual Network ซึ่งก็คือ VNet Peering ครับ โดย Option นี้เป็น Option ที่ผมอยากนำเสนอให้กับท่านผู้อ่านได้รู้จักครับ สำหรับ VNet Peering ผมขอยกยอดไป Part 2 นะครับผม…..
ผู้แต่ง : อ.วิสิทธิ์ ทองภู่ – MVP & MCT , IT Geist