พื้นฐาน Azure DNS และ Load Balancer
จัดการการแปลงชื่อโดเมนภายใน Azure ด้วยโซนส่วนตัวของ Azure DNS และกระจายทราฟฟิกขาเข้าไปยังกลุ่ม VM แบ็กเอนด์ด้วย Azure Load Balancer
พื้นฐาน Azure DNS และ Load Balancer เป็นบทเรียน Cloud & IT Cert Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cloud & IT Cert Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
DNS ใน Azure: พื้นฐาน
DNS (Domain Name System) แปลงชื่อโดเมนที่มนุษย์อ่านได้ เช่น api.mycompany.com ให้เป็นที่อยู่ IP ที่คอมพิวเตอร์ใช้สื่อสารกัน Azure มีบริการ DNS สองประเภท ได้แก่ Azure DNS สำหรับโฮสต์โซน DNS สาธารณะ ซึ่งเป็นโดเมนที่เข้าถึงได้จากอินเทอร์เน็ต และ Azure Private DNS สำหรับการแปลงชื่อภายใน VNet หากไม่ได้กำหนดค่า DNS อย่างเหมาะสม ทรัพยากร Azure จะต้องอ้างอิงด้วยที่อยู่ IP ทำให้สถาปัตยกรรมเปราะบาง เพราะการเปลี่ยนแปลง IP เพียงครั้งเดียวจะทำให้การกำหนดค่าที่ต้องพึ่งพาทั้งหมดใช้งานไม่ได้ Azure DNS เป็นบริการที่มีความพร้อมใช้งานสูงและกระจายอยู่ทั่วโลก โดยมีเครือข่าย anycast ของ Microsoft รองรับ
โซนสาธารณะของ Azure DNS
โซนสาธารณะของ Azure DNS ใช้โฮสต์ระเบียน DNS สำหรับโดเมนที่เข้าถึงได้จากอินเทอร์เน็ต คุณมอบหมายโดเมนของคุณ ซึ่งจดทะเบียนกับผู้รับจดทะเบียนอย่าง GoDaddy ให้ Azure DNS โดยอัปเดตระเบียน NS ของโดเมนให้ชี้ไปยังเนมเซิร์ฟเวอร์ของ Azure เมื่อมอบหมายเสร็จแล้ว คุณจะจัดการระเบียน DNS ทั้งหมด เช่น A, CNAME, MX และ TXT ได้จากพอร์ทัล Azure หรือ CLI แทนการใช้ผู้ให้บริการ DNS แยกต่างหาก โซนสาธารณะของ Azure DNS ให้ SLA ความพร้อมใช้งาน 100% การเผยแพร่ทั่วโลกภายในเวลาไม่ถึงหนึ่งวินาที และการควบคุมการเข้าถึงด้วย RBAC เพื่อให้เฉพาะสมาชิกทีมที่ได้รับอนุญาตเท่านั้นที่แก้ไขระเบียน DNS ได้
# Create a DNS zone and add an A record
az network dns zone create \
--resource-group myRG \
--name mycompany.com
az network dns record-set a add-record \
--resource-group myRG \
--zone-name mycompany.com \
--record-set-name www \
--ipv4-address 20.10.20.30โซนส่วนตัวของ Azure DNS
โซนส่วนตัวของ Azure DNS ให้บริการแปลงชื่อสำหรับทรัพยากรภายใน VNet โดยไม่เปิดเผยระเบียน DNS ต่อสาธารณะ ตัวอย่างเช่น คุณสามารถสร้างโซนส่วนตัว myapp.internal และลงทะเบียน VM เพื่อให้ค้นหาได้ด้วยชื่อ (db.myapp.internal) แทนการใช้ IP โซนส่วนตัวของ DNS จะเชื่อมโยงกับ VNet ดังนั้นเฉพาะทรัพยากรใน VNet ที่เชื่อมโยงเท่านั้นที่จะแปลงระเบียนส่วนตัวได้ นอกจากนี้ คุณยังเปิดใช้ การลงทะเบียนอัตโนมัติ ซึ่งจะสร้างระเบียน DNS ให้ VM โดยอัตโนมัติเมื่อ VM เข้าร่วม VNet ทำให้ DNS ตรงกับสถานะจริงโดยไม่ต้องจัดการด้วยตนเอง
# Create a private DNS zone and link it to a VNet
az network private-dns zone create \
--resource-group myRG \
--name myapp.internal
az network private-dns link vnet create \
--resource-group myRG \
--zone-name myapp.internal \
--name myVNetLink \
--virtual-network myVNet \
--registration-enabled trueDNS ส่วนตัวสำหรับบริการ Azure
Private Endpoints สำหรับบริการอย่าง Azure SQL, Blob Storage และ Key Vault จำเป็นต้องใช้ DNS เพื่อแปลงชื่อโฮสต์สาธารณะของบริการให้เป็น IP ส่วนตัวแทน IP สาธารณะ Azure มี โซน DNS ส่วนตัวสำหรับแต่ละบริการ เช่น privatelink.blob.core.windows.net สำหรับ Blob Storage เมื่อคุณสร้าง Private Endpoint, Azure จะสร้างระเบียน DNS A ในโซนส่วนตัวนี้ โดยชี้ไปยัง IP ส่วนตัว เชื่อมโยงโซนนี้กับ VNet ของคุณ แล้วการค้นหา DNS ทั้งหมดสำหรับ URL ของบัญชี Storage จะถูกแปลงเป็น IP ส่วนตัวโดยอัตโนมัติ ทำให้การรับส่งข้อมูลวิ่งผ่านโครงข่ายส่วนตัวโดยไม่ต้องเปลี่ยนแปลงโค้ดแอปพลิเคชัน
Azure Load Balancer คืออะไร
Azure Load Balancer กระจายการรับส่งข้อมูลเครือข่ายขาเข้าไปยังทรัพยากรแบ็กเอนด์หลายรายการ เช่น VM หรืออินสแตนซ์ในชุดปรับขนาด เพื่อป้องกันไม่ให้ทรัพยากรใดทรัพยากรหนึ่งรับภาระมากเกินไป บริการนี้ทำงานที่ เลเยอร์ 4 (เลเยอร์การขนส่ง) ของแบบจำลอง OSI โดยกำหนดเส้นทางแพ็กเก็ต TCP และ UDP ตาม IP ต้นทาง ปลายทาง และพอร์ต โดยไม่ตรวจสอบเนื้อหา HTTP Azure Load Balancer เป็นบริการที่มีความพร้อมใช้งานสูงและซ้ำซ้อนข้ามโซน พร้อม SLA 99.99% สำหรับ Standard SKU และรองรับทั้งการทำ Load Balancer ขาเข้า จากอินเทอร์เน็ตหรือ VNet และ SNAT ขาออกสำหรับการเชื่อมต่ออินเทอร์เน็ตของ VM
องค์ประกอบของ Load Balancer
Azure Load Balancer มีองค์ประกอบหลักสี่รายการ ได้แก่ การกำหนดค่า IP ส่วนหน้า — IP สาธารณะหรือส่วนตัวที่ไคลเอ็นต์ใช้เชื่อมต่อ กลุ่มแบ็กเอนด์ — ชุด VM หรืออินสแตนซ์ของชุดปรับขนาดที่รับการรับส่งข้อมูล กฎการกระจายภาระงาน — จับคู่ IP:พอร์ตส่วนหน้ากับพอร์ตแบ็กเอนด์ และระบุอัลกอริทึมการกระจายภาระงาน ซึ่งโดยค่าเริ่มต้นใช้แฮชแบบ 5 ทูเพิล การตรวจสอบสถานะ — ตรวจสอบอินสแตนซ์แบ็กเอนด์แต่ละรายการเป็นระยะ อินสแตนซ์ที่ไม่ผ่านการตรวจสอบสถานะจะหยุดรับการเชื่อมต่อใหม่จนกว่าจะกลับมาเป็นปกติ องค์ประกอบเหล่านี้ร่วมกันกำหนดวิธีรับ ตรวจสอบ และกระจายการรับส่งข้อมูล
# Create a Standard Load Balancer with a public IP
az network lb create \
--resource-group myRG \
--name myLoadBalancer \
--sku Standard \
--public-ip-address myPublicIP \
--frontend-ip-name myFrontend \
--backend-pool-name myBackendPoolการตรวจสอบสถานะ
การตรวจสอบสถานะ คือการตรวจสอบเป็นระยะที่ Load Balancer ส่งไปยังอินสแตนซ์แบ็กเอนด์แต่ละรายการ เพื่อระบุว่าอินสแตนซ์นั้นทำงานปกติและควรรับการรับส่งข้อมูลหรือไม่ คุณสามารถกำหนดโพรโทคอลของการตรวจสอบ ได้แก่ HTTP, HTTPS หรือ TCP รวมถึงพอร์ตและช่วงเวลาได้ สำหรับการตรวจสอบแบบ HTTP/HTTPS, Load Balancer จะส่งคำขอ GET ไปยังเส้นทาง URL ที่ระบุ อินสแตนซ์จะถือว่าทำงานปกติหากตอบกลับ HTTP 200 ส่วนการตรวจสอบแบบ TCP จะถือว่าทำงานปกติเมื่อเชื่อมต่อ TCP สำเร็จ หากแบ็กเอนด์ไม่ผ่านการตรวจสอบติดต่อกันตามจำนวนครั้งที่กำหนดได้ Load Balancer จะหยุดส่งการเชื่อมต่อใหม่ให้จนกว่าจะผ่านการตรวจสอบอีกครั้ง วิธีนี้ช่วยให้ระบบทนต่อข้อขัดข้องได้ โดยอัตโนมัติ โดยไม่ต้องดำเนินการด้วยตนเอง
Load Balancer แบบ Basic กับ Standard
Azure Load Balancer มี SKU สองแบบ ได้แก่ Basic — ใช้งานฟรี รองรับอินสแตนซ์แบ็กเอนด์สูงสุด 300 รายการ ไม่มี SLA ไม่รองรับโซนความพร้อมใช้งาน และไม่มีข้อกำหนด NSG ที่ปลอดภัยโดยค่าเริ่มต้น Standard — มีค่าใช้จ่าย ประมาณ 20 ดอลลาร์ต่อเดือนเป็นค่าพื้นฐาน รองรับอินสแตนซ์แบ็กเอนด์สูงสุด 1,000 รายการ มี SLA 99.99% ส่วนหน้าซ้ำซ้อนข้ามโซน ปลอดภัยโดยค่าเริ่มต้น โดยต้องสร้างกฎ NSG อย่างชัดเจนเพื่ออนุญาตการรับส่งข้อมูล และรองรับ IP ส่วนหน้าหลายรายการ สำหรับภาระงานจริงทุกประเภท ขอแนะนำอย่างยิ่งให้ใช้ Standard SKU Microsoft กำลังยุติการให้บริการ Basic SKU ดังนั้นการติดตั้งใช้งานใหม่ควรใช้ Standard เสมอ
Load Balancer ภายในกับภายนอก
Azure Load Balancer สามารถติดตั้งใช้งานได้สองรูปแบบ ได้แก่ Load Balancer สาธารณะ (ภายนอก) — มี IP สาธารณะที่ส่วนหน้า และกระจายการรับส่งข้อมูลจากอินเทอร์เน็ตไปยัง VM แบ็กเอนด์ ใช้กับแอปพลิเคชันที่เปิดให้เข้าถึงจากอินเทอร์เน็ต เช่น เซิร์ฟเวอร์เว็บและเกตเวย์ API Load Balancer ภายใน (ส่วนตัว) — มี IP ส่วนตัวที่ส่วนหน้าภายใน VNet และกระจายการรับส่งข้อมูลภายใน VNet ใช้กับแอปพลิเคชันหลายชั้นที่ไม่ต้องการให้ Load Balancer ของชั้นแอปเข้าถึงได้จากอินเทอร์เน็ต แต่ให้เข้าถึงได้เฉพาะจากชั้นเว็บใน VNet เดียวกัน คุณสามารถติดตั้งใช้งานทั้งสองแบบพร้อมกันได้ โดยใช้ LB สาธารณะสำหรับชั้นเว็บ และ LB ภายในสำหรับชั้นแอป
Azure Load Balancer เทียบกับ Application Gateway
Azure มีบริการกระจายโหลดหลักสองประเภทสำหรับสถานการณ์ที่แตกต่างกัน: Azure Load Balancer — ทำงานที่เลเยอร์ 4 รองรับ TCP/UDP มีความหน่วงต่ำมาก และจัดการการเชื่อมต่อได้หลายล้านรายการต่อวินาที เหมาะที่สุดสำหรับงานที่ไม่ใช่ HTTP หรืองานที่ให้ความสำคัญกับปริมาณงานสูงสุดและความหน่วงต่ำที่สุด Azure Application Gateway — ทำงานที่เลเยอร์ 7 รองรับ HTTP/HTTPS เข้าใจเส้นทาง URL และส่วนหัว รวม Web Application Firewall (WAF), การยุติการเชื่อมต่อ SSL, การยึดเซสชันตามคุกกี้ และการกำหนดเส้นทางตาม URL เหมาะที่สุดสำหรับเว็บแอปพลิเคชันที่ต้องการการกระจายโหลดโดยพิจารณาเนื้อหา การถ่ายภาระ TLS และการป้องกันด้วย WAF หากต้องการกระจายโหลด TCP แบบง่าย ให้ใช้ Load Balancer สำหรับเว็บแอปพลิเคชัน Application Gateway จะเพิ่มความสามารถที่มีประโยชน์อย่างมาก
DNS และ Load Balancer ทำงานร่วมกัน
DNS และ Load Balancer ทำงานร่วมกันเพื่อสร้างจุดเชื่อมต่อที่ทนทานและใช้งานง่าย รูปแบบทั่วไปมีดังนี้: 1) สร้าง Azure Load Balancer พร้อม IP สาธารณะระดับ Standard และกลุ่มแบ็กเอนด์ที่ประกอบด้วย VM ของเว็บเซิร์ฟเวอร์ 2) สร้างระเบียน CNAME ใน Azure DNS โดยชี้ www.mycompany.com ไปยัง IP สาธารณะของ Load Balancer (หรือชื่อ DNS) 3) เมื่อผู้ใช้เข้าชม www.mycompany.com DNS จะแปลงชื่อเป็น IP ของ Load Balancer จากนั้น Load Balancer จะแจกจ่ายคำขอไปยังอินสแตนซ์ VM ที่ทำงานปกติ วิธีนี้ให้ทั้ง URL ที่ใช้งานง่ายและการกระจายทราฟฟิกอัตโนมัติพร้อมความทนทานต่อข้อขัดข้อง
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจแนวคิด Microsoft Azure Fundamentals (AZ-900) จากบทเรียนนี้
สรุปบทเรียน
ในบทเรียนนี้ คุณได้เรียนรู้ว่า Azure DNS โฮสต์โซน DNS สาธารณะและส่วนตัวด้วยความพร้อมใช้งานเกือบ 100% ทำให้ทรัพยากร Azure มีชื่อที่มนุษย์อ่านเข้าใจได้ โซน DNS ส่วนตัวที่ลงทะเบียนอัตโนมัติช่วยให้ระเบียน DNS ของ VNet เป็นปัจจุบันโดยไม่ต้องจัดการด้วยตนเอง และ Azure Load Balancer กระจายทราฟฟิก TCP/UDP เลเยอร์ 4 ไปยังอินสแตนซ์ VM แบ็กเอนด์ที่ทำงานปกติ โดยใช้การตรวจสอบสภาพเพื่อตรวจจับและข้ามอินสแตนซ์ที่ล้มเหลวโดยอัตโนมัติ บทถัดไปคือหลักสูตร Azure Databases ซึ่งเริ่มต้นด้วย Azure SQL Database
คำถามที่พบบ่อย
บทเรียน “พื้นฐาน Azure DNS และ Load Balancer” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐาน Azure DNS และ Load Balancer” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cloud & IT Cert Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cloud & IT Cert Prep มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐาน Azure DNS และ Load Balancer”
จัดการการแปลงชื่อโดเมนภายใน Azure ด้วยโซนส่วนตัวของ Azure DNS และกระจายทราฟฟิกขาเข้าไปยังกลุ่ม VM แบ็กเอนด์ด้วย Azure Load Balancer คุณปฏิบัติ Cloud & IT Cert Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cloud & IT Cert Prep หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cloud & IT Cert Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นฐาน Azure DNS และ Load Balancer” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cloud & IT Cert Prep นี้ได้ไหม
ได้ บทเรียน Cloud & IT Cert Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เครือข่ายเสมือนและเครือข่ายย่อย
- กลุ่มความปลอดภัยเครือข่ายและกลุ่มความปลอดภัยแอปพลิเคชัน
- การเพียร์ VNet และปลายทางบริการ
- พื้นฐาน Azure DNS และ Load Balancer