แชร์ผ่าน


เชื่อมต่อกับแหล่งข้อมูลภายนอกหรือแหล่งข้อมูลภายในองค์กรไปยัง Microsoft Fabric โดยใช้จุดสิ้นสุดส่วนตัวที่มีการจัดการ

ด้วยจุดสิ้นสุดส่วนตัวที่มีการจัดการ คุณสามารถเชื่อมต่อปริมาณงาน Microsoft Fabric เช่น Spark หรือ Data Pipelines กับแหล่งข้อมูล ภายในองค์กร หรือ แหล่งข้อมูลที่โฮสต์แบบกําหนดเอง ได้อย่างปลอดภัยผ่านการตั้งค่าลิงก์ส่วนตัวที่ได้รับอนุมัติ
วิธีการนี้ช่วยให้มั่นใจได้ว่าการรับส่งข้อมูลจะไหลผ่านเครือข่ายแกนหลักของ Microsoft แทนที่จะเป็นอินเทอร์เน็ตสาธารณะ — รักษาความเป็นส่วนตัวของข้อมูลและการปฏิบัติตามข้อกําหนดแบบครบวงจร

กรณีการใช้งานทั่วไป ได้แก่ การเข้าถึง:

  • แหล่งข้อมูล เช่น SAP, ฐานข้อมูล Oracle, Elastic, แหล่งข้อมูล Azure ที่ไม่ใช่เนทีฟ เช่น Confluent Kafka, Elasticsearch หรือแหล่งข้อมูลที่โฮสต์ในสภาพแวดล้อมภายในองค์กร
  • แหล่งข้อมูลบน Azure VM
  • API หรือบริการแบบกําหนดเองที่โฮสต์ในเครือข่ายเสมือนหรือศูนย์ข้อมูลที่จัดการด้วยตนเอง
  • รักษาความปลอดภัยที่เก็บข้อมูลขององค์กรโดยไม่เปิดเผยปลายทางสาธารณะ

Overview

Fabric Managed Private Endpoints (MPE) ช่วยให้ Fabric สามารถสร้างการเชื่อมต่อขาออกไปยังแหล่งข้อมูลที่ได้รับอนุมัติโดยใช้ Private Link Services (PLS)
การตั้งค่าเกี่ยวข้องกับสามขั้นตอนหลัก:

  1. เจ้าของแหล่งข้อมูลหรือผู้ดูแลระบบกําหนดค่า Azure Private Link Service (PLS) สําหรับทรัพยากรที่อยู่ด้านหน้าด้วยที่อยู่ IP ส่วนตัว
  2. ผู้ดูแลระบบพื้นที่ทํางาน Fabric สร้าง Managed Private Endpoint (MPE) ที่อ้างอิงชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) ด้วยรหัสทรัพยากรของบริการ Private Link
  3. เจ้าของแหล่งข้อมูลหรือผู้ดูแลระบบตรวจสอบและอนุมัติคําขอการเชื่อมต่อใน Azure

เมื่อได้รับการอนุมัติแล้ว ปริมาณงาน Fabric Data Engineering ทั้งหมด (เช่น Notebooks, Spark Job Definitions, Materialized Lakeviews, Livy Endpoints) สามารถเชื่อมต่อกับทรัพยากรที่ได้รับอนุมัติได้อย่างปลอดภัย


ข้อกําหนดเบื้องต้น

ก่อนที่คุณเริ่มต้น:

  • พื้นที่ทํางาน Microsoft Fabric ที่มีบทบาทผู้ดูแลระบบพื้นที่ทํางาน
  • การสมัครใช้งาน Azure ต้องมีผู้ให้บริการทรัพยากร Microsoft.Network ลงทะเบียน
  • มีแหล่งข้อมูลหรือบริการที่ทํางานอยู่เบื้องหลัง Standard Load Balancer ซึ่งสามารถเข้าถึงได้โดยบริการ Private Link เรียนรู้เพิ่มเติมเกี่ยวกับบริการ Private Link

เมื่อต้องการเปิดเผยแหล่งข้อมูลภายในองค์กรหรือที่โฮสต์แบบกําหนดเอง (เช่น SQL Server) ไปยัง Fabric คุณต้องสร้าง Private Link Service (PLS) ใน Azure ก่อน

  1. ลงชื่อเข้าใช้ พอร์ทัล Azure
  2. ในแถบค้นหา ให้ป้อน Private Link Service แล้วเลือก Create
  3. ระบุ:
    • กลุ่มการสมัครใช้งาน และ ทรัพยากร
    • ภูมิภาค
    • ชื่อ บริการลิงก์ส่วนตัวของคุณ
  4. ภายใต้ การกําหนดค่า IP ส่วนหน้า ให้เชื่อมโยงโหลดบาลานเซอร์ที่กําหนดเส้นทางการรับส่งข้อมูลไปยังเครื่องภายในองค์กรหรือเครื่องเสมือนของคุณ
  5. กําหนด รหัสการสมัครใช้งานการอนุมัติอัตโนมัติ เพื่ออนุมัติคําขอการเชื่อมต่อจากผู้เช่า Fabric ที่เชื่อถือได้โดยอัตโนมัติ

เคล็ดลับ

หากแหล่งข้อมูลของคุณโฮสต์ในองค์กร ให้ใช้ Azure VPN Gateway หรือ Azure ExpressRoute เพื่อเชื่อมต่อเครือข่ายท้องถิ่นของคุณกับ Azure ก่อนกําหนดค่า PLS ของคุณ


ขั้นตอนที่ 2: สร้างปลายทางส่วนตัวที่มีการจัดการโดยใช้ Fabric REST API

เมื่อบริการลิงก์ส่วนตัวของคุณพร้อมแล้ว ให้สร้าง Managed Private Endpoint (MPE) ใน Fabric โดยเรียก Managed Private Endpoints REST API รูปร่างปลายทางที่รองรับในปัจจุบันใช้เส้นทาง:

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/managedPrivateEndpoints

ใช้ตัวเลือกนี้เมื่อคุณกําหนดเป้าหมายอย่างใดอย่างหนึ่งต่อไปนี้

  • บริการลิงก์ส่วนตัว (เลือกใช้ targetPrivateLinkResourceId + targetSubresourceType) และ/หรือ
  • ชื่อโดเมนที่มีคุณสมบัติครบถ้วนอย่างน้อยหนึ่งชื่อ (targetFQDNs) ที่คุณต้องการให้ Fabric แก้ไขแบบส่วนตัวหลังจากได้รับการอนุมัติ

คุณสามารถใช้ไคลเอ็นต์ REST API เช่น Bruno, Insomnia หรือ Postman เพื่อส่งคําขอ

ขั้นตอนที่ 2.1: รับโทเค็นการตรวจสอบสิทธิ์

ก่อนเรียกใช้ Fabric REST API ให้รับ โทเค็น Bearer โดยใช้ข้อมูลประจําตัว Azure Active Directory (Entra ID) ของคุณ

คุณสามารถทําได้โดยใช้ Azure CLI:

az login
az account get-access-token --resource https://api.fabric.microsoft.com

คําสั่งนี้ส่งคืนออบเจ็กต์ JSON ที่มีโทเค็นการเข้าถึง คัดลอกค่าของ "accessToken" เพื่อใช้เป็นส่วนหัวการให้สิทธิ์

ขั้นตอนที่ 2.2: สร้างคําขอ API

ใช้โครงสร้างปลายทางและเพย์โหลดต่อไปนี้เพื่อสร้างจุดสิ้นสุดส่วนตัวที่มีการจัดการ ปรับฟิลด์ตามว่าคุณกําลังผูกกับบริการลิงก์ส่วนตัว ให้ FQDN หรือทั้งสองอย่าง

คำขอ

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/managedPrivateEndpoints

ส่วนหัว

กุญแจ ค่า
Authorization ผู้ถือ <access_token>
เนื้อหา-ชนิด แอปพลิเคชัน/json

เนื้อหา (ตัวอย่างกําหนดเป้าหมายบริการลิงก์ส่วนตัว + FQDN)

{
   "name": "onprem-sql-endpoint",
   "targetPrivateLinkResourceId": "/subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.Network/privateLinkServices/<plsName>",
   "targetSubresourceType": "sql", 
   "targetFQDNs": ["sqlserver.corp.contoso.com"],
   "requestMessage": "Private connection request from Fabric to on-premises SQL"
}

การอ้างอิงฟิลด์ร่างกาย:

ฟิลด์ จำเป็น ประเภท บันทึกย่อ
ชื่อ ใช่ สตริง <= 64 อักขระ ไม่ซ้ํากันภายในพื้นที่ทํางาน
targetPrivateLinkResourceId Yes* สตริง รหัสทรัพยากรของบริการลิงก์ส่วนตัวหรือทรัพยากรลิงก์ส่วนตัวอื่นๆ ที่รองรับ (*จําเป็น เว้นแต่จะรองรับเฉพาะเวิร์กโฟลว์ FQDN ในรูปแบบในอนาคต โปรดดูเอกสารปัจจุบัน)
request ข้อความ ไม่ สตริง <= 140 อักขระ แสดงต่อผู้อนุมัติ
เป้าหมาย FQDN ไม่ string[] FQDN สูงสุด 20 รายการเพื่อเชื่อมโยงเพื่อการแก้ปัญหาส่วนตัว
targetSubresourceType ไม่ สตริง กลุ่มทรัพยากรย่อย (เช่น sql, , blobเฉพาะบริการ)

ขั้นตอนการดําเนินการ:

  1. เปิดไคลเอ็นต์ REST ของคุณ
  2. ตั้งค่าเมธอดเป็น POST และวาง URL ปลายทาง (แทนที่ {workspaceId})
  3. เพิ่มส่วนหัวการให้สิทธิ์ด้วยโทเค็นผู้ถือจากขั้นตอนที่ 2.1
  4. วางเนื้อหา JSON และปรับค่า
  5. ส่งคําขอ

ขั้นตอนที่ 2.3: ตรวจสอบคําขอเชื่อมต่อ

ตัวอย่าง (แบบง่าย) เพย์โหลดการตอบสนองที่สําเร็จอาจมีลักษณะดังนี้:

{
   "id": "f2cbd8d1-23f1-4b9a-9db2-23ad1e7b5129",
   "name": "onprem-sql-endpoint",
   "targetPrivateLinkResourceId": "/subscriptions/<subId>/resourceGroups/<rg>/providers/Microsoft.Network/privateLinkServices/<plsName>",
   "targetFQDNs": ["sqlserver.corp.contoso.com"],
   "targetSubresourceType": "sql",
   "provisioningState": "PendingApproval",
   "createdBy": "user@contoso.com",
   "createdDateTime": "2025-10-14T10:12:37Z"
}

ชื่อฟิลด์สามารถพัฒนาได้ หากฟิลด์ที่คุณคาดว่าขาดหายไป ให้ตรวจสอบเอกสารอย่างเป็นทางการล่าสุดอีกครั้ง ณ จุดนี้ คําขอการเชื่อมต่อส่วนตัวถูกส่งไปยังผู้ดูแลระบบแหล่งข้อมูลเป้าหมาย (ตัวอย่างเช่น เจ้าของบริการลิงก์ส่วนตัวของคุณใน Azure) เมื่อพวกเขาอนุมัติการเชื่อมต่อ สถานะการเตรียมใช้งานจะอัปเดตเป็นอนุมัติแล้ว และคุณสามารถเริ่มเข้าถึงข้อมูลภายในองค์กรของคุณได้อย่างปลอดภัยจาก Fabric

ตัวอย่าง: การใช้ Bruno หรือ Insomnia

คุณยังสามารถสร้างและทดสอบปลายทางได้โดยตรงใน Bruno หรือ Insomnia:

  1. ตั้งค่าชนิดคําขอเป็น POST
  2. วางตําแหน่งข้อมูล Fabric REST API
  3. ใน การตรวจสอบสิทธิ์ ให้เลือก โทเค็นผู้ถือ และวางโทเค็นที่ดึงมาก่อนหน้านี้
  4. ใน เนื้อหา ให้วางเพย์โหลด JSON
  5. คลิก ส่ง

API จะตอบสนองด้วยรายละเอียดปลายทางส่วนตัวที่มีการจัดการและสถานะการเชื่อมต่อ

หลังจากที่คุณส่งคําขอ Fabric จะพยายามเริ่มต้นการเชื่อมต่อส่วนตัว

ผู้ดูแลระบบเครือข่ายของคุณจะเห็น คําขอการเชื่อมต่อที่รอดําเนินการ นี้ในพอร์ทัล Azure ภายใต้:

บริการ Private Link → เบลดการเชื่อมต่อปลายทางส่วนตัว

ขั้นตอนที่ 3: อนุมัติคําขอการเชื่อมต่อปลายทางส่วนตัว

  1. ลงชื่อเข้าใช้ พอร์ทัล Azure
  2. นําทางไปยังทรัพยากร บริการลิงก์ส่วนตัว ของคุณ
  3. เลือก การเชื่อมต่อปลายทางส่วนตัว ภายใต้ส่วน เครือข่าย
  4. ตรวจทานคําขอการเชื่อมต่อที่ค้างอยู่จาก Microsoft Fabric
  5. เลือก อนุมัติ และระบุเหตุผลเพิ่มเติม

ขั้นตอนที่ 4: เข้าถึง SQL Server ภายในองค์กรของคุณจากสมุดบันทึก Fabric

หลังจากได้รับการอนุมัติ จุดสิ้นสุดส่วนตัวที่มีการจัดการของคุณจะเปิดใช้งานและสามารถใช้ได้จากสมุดบันทึก Spark หรือไปป์ไลน์ข้อมูล

ตัวอย่างการใช้ PySpark เพื่อเชื่อมต่อกับ SQL Server ภายในองค์กร:

serverName = "sqlserver.corp.contoso.com"
database = "SalesDB"
dbPort = 1433
dbUserName = "<username>"
dbPassword = "<password or Key Vault reference>"

jdbcURL = f"jdbc:sqlserver://{serverName}:{dbPort};database={database}"
connectionProps = {
    "user": dbUserName,
    "password": dbPassword,
    "driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}

df = spark.read.jdbc(url=jdbcURL, table="dbo.Customers", properties=connectionProps)
display(df)

# Write back to your Fabric Lakehouse
df.write.mode("overwrite").format("delta").saveAsTable("Customers")

ขั้นตอนที่ 5: ตรวจสอบและแก้ไขปัญหาการเชื่อมต่อส่วนตัวของคุณ

เมื่อการเชื่อมต่อได้รับการอนุมัติแล้ว สิ่งสําคัญคือต้องยืนยันว่าการรับส่งข้อมูล Fabric เป็นแบบส่วนตัวและไม่มีการใช้ปลายทางสาธารณะ

ตรวจสอบสถานะปลายทางใน Fabric

  1. ในพื้นที่ทํางาน Fabric ของคุณ ให้ไปที่ การตั้งค่า → ความปลอดภัยของเครือข่าย
  2. ในส่วนปลายทางส่วนตัวที่มีการจัดการ ให้ตรวจสอบว่าสถานะการเชื่อมต่อแสดงอนุมัติแล้ว
  3. เลือกชื่อปลายทางเพื่อดูรายละเอียด เช่น:
    • เอฟคิวดีเอ็น
    • สถานะการเชื่อมต่อ
    • วันที่อนุมัติ
    • รหัสทรัพยากรลิงก์ส่วนตัว

หากสถานะแสดงเป็น รอดําเนินการ หรือ ล้มเหลว ให้ตรวจสอบว่า:

  • ผู้ดูแลระบบ Azure ได้อนุมัติคําขอในบริการลิงก์ส่วนตัวที่เชื่อมโยง
  • ความละเอียด DNS สําหรับ FQDN ชี้ไปที่ที่อยู่ IP ปลายทางส่วนตัว
  • ลิงก์ส่วนตัวและภูมิภาค Fabric อยู่ในภูมิศาสตร์ Azure เดียวกัน

ตรวจสอบการกําหนดเส้นทาง DNS

เรียกใช้คําสั่งต่อไปนี้จาก Fabric Notebook หรือ VM ที่เชื่อมต่อภายในเครือข่ายเสมือนเดียวกัน:

nslookup sqlserver.corp.contoso.com

ยืนยันว่าที่อยู่ IP ที่ส่งคืนเป็น IP ส่วนตัว 10.xx หรือ 172.x.x. ไม่ใช่ IP สาธารณะ สิ่งนี้ยืนยันว่า Fabric กําลังแก้ไข FQDN ผ่านเส้นทางลิงก์ส่วนตัว

[! เคล็ดลับ] ถ้า DNS ยังคงแก้ไขเป็น IP สาธารณะ ให้อัปเดตโซน DNS ส่วนตัวของคุณใน Azure เพื่อรวมระเบียน A สําหรับ FQDN ที่แมปกับปลายทางส่วนตัว

ปัญหาทั่วไปและวิธีแก้ปัญหา

ปัญหา สาเหตุที่เป็นไปได้ ความละเอียด
ProvisioningState = Failed ผู้ดูแลระบบภายในองค์กรปฏิเสธหรือลบบริการลิงก์ส่วนตัว (PLS) สร้าง Managed Private Endpoint (MPE) ใหม่ และตรวจสอบว่า PLS ยังคงมีอยู่และสามารถเข้าถึงได้
DNS แก้ไขเป็นที่อยู่ IP สาธารณะ โซน DNS ไม่ได้เชื่อมโยงกับโซน DNS ส่วนตัวของ Fabric เพิ่มหรือเชื่อมโยงโซน DNS ส่วนตัวกับเครือข่ายเสมือนพื้นที่ทํางานของคุณ และสร้าง ระเบียน A สําหรับ FQDN ที่ชี้ไปที่ IP ส่วนตัว
หมดเวลาการเชื่อมต่อจาก Spark หรือ Data Pipelines เครือข่าย ACL หรือไฟร์วอลล์กําลังบล็อกซับเน็ต Fabric เปิดพอร์ตที่จําเป็น (ตัวอย่างเช่น 1433 สําหรับ SQL Server, 1521 สําหรับ Oracle) และตรวจสอบให้แน่ใจว่าอนุญาตให้เข้าถึงปลายทาง Private Link จากภายนอกได้
คําขออนุมัติไม่ปรากฏใน Azure เจ้าของบริการ Private Link ไม่ได้เปิดใช้งาน "การอนุมัติอัตโนมัติ" หรือรหัสผู้เช่า Fabric ไม่อยู่ในรายการ ขอให้ผู้ดูแลระบบเครือข่ายตรวจสอบการเชื่อมต่อที่ค้างอยู่ภายใต้บริการ ลิงก์ส่วนตัว→การเชื่อมต่อปลายทางส่วนตัว ในพอร์ทัล Azure
ปลายทางถูกลบโดยไม่คาดคิด พื้นที่ทํางานหรือความจุ Fabric ถูกกําหนดใหม่ หรือสิทธิ์มีการเปลี่ยนแปลง สร้าง MPE ใหม่และตรวจสอบความเป็นเจ้าของพื้นที่ทํางาน Fabric และการตั้งค่าเครือข่าย
การเชื่อมต่อข้อมูลยังคงล้มเหลวหลังจากได้รับการอนุมัติ DNS หรือการกําหนดเส้นทางไม่ตรงกันระหว่าง Azure และเครือข่ายภายในองค์กร ตรวจสอบตารางการกําหนดเส้นทางและใช้ nslookup หรือ Test-NetConnection เพื่อยืนยันเส้นทาง IP ส่วนตัว

เพื่อรักษาการเข้าถึงที่ปลอดภัยและเป็นไปตามข้อกําหนด:

  • ใช้ Azure Key Vault เพื่อจัดเก็บข้อมูลประจําตัวและข้อมูลลับการเชื่อมต่อแทนรหัสผ่านแบบฮาร์ดโค้ด
  • จํากัดการเปิดเผยเครือข่ายโดยการอนุมัติเฉพาะปลายทางที่จําเป็นในบริการ Private Link
  • ตรวจสอบ บันทึกการตรวจสอบ Fabric สําหรับกิจกรรมการสร้าง การอนุมัติ หรือการลบปลายทาง
  • เปิดใช้งาน Customer-Managed Keys (CMK) สําหรับการเข้ารหัสที่ไม่ได้ใช้งานเมื่อเชื่อมต่อจากปริมาณงาน Spark
  • จํากัดการเข้าถึงขาออกโดยใช้ Outbound Access Protection (OAP) ของ Fabric เพื่อให้แน่ใจว่าปริมาณงานสามารถเข้าถึงได้เฉพาะปลายทางส่วนตัวที่ได้รับอนุมัติเท่านั้น
  • หมุนเวียนข้อมูลประจําตัวและตรวจสอบการอนุมัติปลายทางเป็นระยะ

การตั้งค่าแบบ end-to-end: การเชื่อมต่อ Fabric กับ SQL Server ภายในองค์กรหรือแหล่งข้อมูลภายนอกใดๆ

หากคุณยังไม่ได้ ตั้งค่าบริการ Private Link ให้ทําตามขั้นตอนด้านล่างเพื่อสร้างโทโพโลยีทั้งหมด ตั้งแต่เลเยอร์เครือข่ายไปจนถึงการรวม Fabric


ข้อกําหนดเบื้องต้น


หากคุณทราบที่อยู่ IP ปลายทางของทรัพยากรในองค์กรหรือที่โฮสต์แบบส่วนตัวอยู่แล้ว คุณสามารถใช้ฟีเจอร์ Private Link Service Direct Connect ใหม่ได้ ซึ่งขณะนี้อยู่ในการแสดงตัวอย่างสาธารณะ
คุณลักษณะนี้ช่วยให้คุณสามารถเชื่อมต่อบริการ Private Link ของคุณ โดยตรงกับที่อยู่ IP ที่สามารถกําหนดเส้นทางได้แบบส่วนตัว โดยไม่ต้องใช้โหลดบาลานเซอร์หรือเครื่องเสมือนการส่งต่อ IP

Note

ขณะนี้ Private Link Service Direct Connect อยู่ใน การแสดงตัวอย่างสาธารณะ และพร้อมใช้งานในบางภูมิภาค
เรียนรู้เพิ่มเติมในเอกสารประกอบ Azure อย่างเป็นทางการ

เมื่อใดที่ควรใช้ Direct Connect

ใช้ตัวเลือกนี้ในกรณีต่อไปนี้

  • คุณมี ที่อยู่ IP ส่วนตัวแบบคงที่ สําหรับแหล่งข้อมูลของคุณอยู่แล้ว (ตัวอย่างเช่น 10.0.1.50 สําหรับฐานข้อมูลหรือแอปพลิเคชันภายในองค์กร)
  • คุณไม่จําเป็นต้องมีการปรับสมดุลโหลดหรือการส่งต่อ NAT ใน Azure
  • คุณต้องการลดความซับซ้อนของโทโพโลยีเครือข่ายและลดเวลาแฝง

สถานการณ์ทั่วไป ได้แก่ :

  • เชื่อมต่อโดยตรงกับฐานข้อมูลหรือเซิร์ฟเวอร์ในองค์กรผ่าน ExpressRoute หรือ VPN
  • เข้าถึง SaaS ของบุคคลที่สามหรืออุปกรณ์เครือข่ายที่เข้าถึงได้ผ่าน IP ส่วนตัว
  • แอปพลิเคชันรุ่นเก่าที่ขึ้นอยู่กับการกําหนดเส้นทางตาม IP แทน DNS

ประโยชน์ที่ได้รับ

ประโยชน์ คำอธิบาย:
การตั้งค่าที่ง่ายขึ้น ไม่จําเป็นต้องสร้างหรือบํารุงรักษาโหลดบาลานเซอร์ภายในหรือส่งต่อ VM
เวลาแฝงที่ต่ํากว่า กําหนดเส้นทางการรับส่งข้อมูลโดยตรงไปยัง IP ปลายทางโดยไม่ต้องกระโดดกลาง
รองรับปริมาณงานที่ใช้ IP เหมาะอย่างยิ่งสําหรับการใช้งานที่ต้องการการเชื่อมต่อ IP แบบคงที่
ลดการปล่อยก๊าซคาร์บอนไดออกไซด์ต้นทุน Azure ลดค่าใช้จ่าย VM และโหลดบาลานเซอร์สําหรับรูปแบบการเชื่อมต่อที่เรียบง่าย

ข้อควรพิจารณาที่สําคัญ

  • ต้องมีการกําหนดค่า IP อย่างน้อย 2 รายการ (ทวีคูณของ 2) เพื่อความพร้อมใช้งานสูง
  • รองรับที่อยู่ IP ปลายทางแบบคงที่เท่านั้น
  • จุดสิ้นสุดส่วนตัวต้นทาง บริการลิงก์ส่วนตัว และพื้นที่ทํางาน Fabric ต้องอยู่ใน ภูมิภาคเดียวกัน (ยังไม่รองรับข้ามภูมิภาค)
  • ใช้ได้เฉพาะในบางภูมิภาคระหว่างการแสดงตัวอย่าง: สหรัฐอเมริกาตอนกลางตอนเหนือ, สหรัฐอเมริกาตะวันออก 2, สหรัฐอเมริกากลางตอนใต้, สหรัฐอเมริกาตอนกลางตอนใต้, สหรัฐอเมริกาตะวันตก, สหรัฐอเมริกาตะวันตก 2, สหรัฐอเมริกาตะวันตก 3, เอเชียตะวันออกเฉียงใต้, ออสเตรเลียตะวันออก, สเปนกลาง
  • คุณต้องเปิดใช้งานค่าสถานะ Microsoft.Network/AllowPrivateLinkserviceUDR คุณลักษณะในการสมัครใช้งาน Azure ของคุณ

ตัวอย่างด้านล่างสร้าง Private Link Service Direct Connect ที่ชี้ไปยังที่อยู่ 10.0.1.100IP ปลายทางโดยตรง

# Variables
$resourceGroupName = "rg-pls-directconnect"
$location = "westus"
$vnetName = "pls-vnet"
$subnetName = "pls-subnet"
$plsName = "pls-directconnect"
$destinationIP = "10.0.1.100"

# Create resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location

# Create VNet and subnet
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix "10.0.1.0/24" -PrivateLinkServiceNetworkPoliciesFlag "Disabled"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroupName -Location $location -AddressPrefix "10.0.0.0/16" -Subnet $subnet

# Create IP configurations (minimum 2)
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $subnetName
$ipConfig1 = @{ Name = "ipconfig1"; PrivateIpAllocationMethod = "Dynamic"; Subnet = $subnet; Primary = $true }
$ipConfig2 = @{ Name = "ipconfig2"; PrivateIpAllocationMethod = "Dynamic"; Subnet = $subnet; Primary = $false }

# Create Private Link Service Direct Connect
New-AzPrivateLinkService `
    -Name $plsName `
    -ResourceGroupName $resourceGroupName `
    -Location $location `
    -IpConfiguration @($ipConfig1, $ipConfig2) `
    -DestinationIPAddress $destinationIP

เมื่อสร้างแล้ว คุณสามารถใช้ รหัสบริการลิงก์ส่วนตัวใหม่นี้ (/subscriptions/.../providers/Microsoft.Network/privateLinkServices/pls-directconnect)
ในการตั้งค่า Fabric Managed Private Endpoint ตามที่ระบุไว้ใน ขั้นตอนที่ 2: สร้าง Managed Private Endpoint โดยใช้ Fabric REST API ด้านบน

เคล็ดลับ

จากมุมมองของ Fabric กระบวนการจะเหมือนกัน — คุณยังคงสร้าง MPE โดยอ้างอิง ID ทรัพยากร PLS
แต่ทรัพยากร Azure พื้นฐานจะกําหนดเส้นทาง โดยตรงไปยัง IP ปลายทางของคุณ แทนที่จะผ่านตัวจัดสรรภาระงาน

การเปรียบเทียบ: มาตรฐานกับ Direct Connect

ด้าน บริการ Private Link มาตรฐาน Private Link Service Direct Connect (พรีวิว)
ประเภทเป้าหมาย IP ส่วนหน้าของโหลดบาลานเซอร์ IP ปลายทางส่วนตัวแบบคงที่
การใช้งานทั่วไป แอปพลิเคชันหรือฐานข้อมูลที่นําหน้าโดย Load Balancer หรือ Forwarder VM ฐานข้อมูลหรือบริการแบบกําหนดเองที่มี IP คงที่
ความซับซ้อนในการตั้งค่า ต้องใช้ Load Balancer + การส่งต่อ NAT เสริม ง่าย: ระบุ IP เป้าหมายโดยตรง
ความพร้อมใช้งาน พร้อมใช้งานโดยทั่วไป การแสดงตัวอย่างสาธารณะ (จํากัดภูมิภาค)
การรวมแฟบริค ได้รับการสนับสนุน รองรับผ่านโฟลว์ MPE API เดียวกัน
เหมาะสําหรับ บริการ Multi-VM หรือความพร้อมใช้งานสูง ปริมาณงาน IP ส่วนตัวโหนดเดียว

โดยสรุป:
หากสภาพแวดล้อมของคุณเปิดเผย ที่อยู่ IP ส่วนตัวแบบคงที่ ที่ Fabric จําเป็นต้องเข้าถึงอยู่แล้ว ให้ใช้ Private Link Service Direct Connect (พรีวิว) เพื่อลดความซับซ้อนในการตั้งค่าและลดค่าใช้จ่ายด้านเครือข่าย
มิฉะนั้น ให้ทําตามรูปแบบ Private Link Service + Load Balancer มาตรฐาน ที่กล่าวถึงในเอกสารนี้แล้ว

ขั้นตอนที่ 1: สร้างซับเน็ตสําหรับทรัพยากร

เครือข่ายย่อย คำอธิบาย
เป็นซับเน็ต ซับเน็ตแบ็กเอนด์โฮสติ้ง IP Forwarder VMs
FE-ซับเน็ต ซับเน็ตส่วนหน้าสําหรับ Load Balancer ภายใน
pls-ซับเน็ต ซับเน็ตสําหรับโฮสต์บริการ Private Link

ขั้นตอนที่ 2: สร้าง Load Balancer ภายในมาตรฐาน

  1. ไปที่ สร้าง Resource > Networking > Load Balancer
  2. กําหนดค่า:
    • ชนิด: ภายใน
    • SKU: มาตรฐาน
    • ซับเน็ต: fe-ซับเน็ต
    • การกําหนด IP: ไดนามิก
  3. สร้างพูลแบ็กเอนด์ โพรบสถานภาพ (TCP 22 หรือ 1433) และกฎ (TCP 1433 → 1433)

ขั้นตอนที่ 3: สร้าง VM การส่งต่อแบ็กเอนด์

สร้าง Ubuntu VM ที่มีน้ําหนักเบาอย่างน้อยหนึ่งเครื่องใน be-subnet. ในระหว่างการสร้าง ให้เชื่อมโยงกับพูลแบ็กเอนด์ Load Balancer ของคุณ (myBackendPool)

เมื่อเตรียมใช้งานแล้ว ให้เปิดใช้งานการส่งต่อ IP และสร้างกฎ NAT ไปยัง IP SQL Server ภายในองค์กรของคุณ (เช่น 10.0.0.47) โดยทําตามขั้นตอนเหล่านี้:

  1. เปิดใช้งานการส่งต่อ IP บน VM
  2. สร้างกฎ DNAT เพื่อส่งต่อการรับส่งข้อมูลจากตัวจัดสรรภาระงานบนพอร์ต 1433 ไปยัง IP ของ SQL Server ภายในองค์กร (เช่น 10.0.0.47) บนพอร์ต 1433
  3. สร้างกฎ MASQUERADE สําหรับ NAT

คุณสามารถดําเนินการคําสั่งต่อไปนี้บน VM:

sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1433 -j DNAT --to-destination 10.0.0.47:1433
sudo iptables -t nat -A POSTROUTING -j MASQUERADE

เคล็ดลับ

คุณสามารถทําให้เป็นแบบอัตโนมัติได้โดยใช้สคริปต์ตัวช่วย ip_fwd.sh


  1. ไปที่ Private Link Center → สร้างบริการ Private Link
  2. ในส่วน การตั้งค่าขาออก:
    • โหลดบาลานเซอร์: เลือกโหลดบาลานเซอร์ภายในของคุณ
    • IP ส่วนหน้า: โหลดบาลานเซอร์ฟรอนต์เอนด์
    • ซับเน็ต NAT ที่มา:pls-subnet
  3. ปล่อยให้เป็นค่าเริ่มต้น แล้วเลือก สร้าง

ขณะนี้บริการนี้เปิดเผย SQL Server ภายในของคุณผ่านจุดสิ้นสุดลิงก์ส่วนตัว


ขั้นตอนที่ 5: เชื่อมต่อ Fabric โดยใช้ REST API

เมื่อสร้างและเปิดใช้งานบริการลิงก์ส่วนตัวแล้ว ให้กลับไปที่ขั้นตอนที่ 2 ในคําแนะนําด้านบนเพื่อสร้าง ปลายทางส่วนตัวที่มีการจัดการ (MPE) ใน Fabric


ขั้นตอนที่ 6 – สร้างปลายทางส่วนตัวที่มีการจัดการ

ใช้ REST API ที่บันทึกไว้แล้วในขั้นตอนที่ 2 ของคู่มือหลัก ในเนื้อหา JSON ให้ตั้งค่า targetPrivateLinkResourceId เป็นรหัสทรัพยากร PLS และ (ไม่บังคับ) รวม FQDN ที่ targetFQDNs คุณจะใช้ในโค้ด Spark

ขั้นตอนที่ 7 – อนุมัติและทดสอบ

อนุมัติการเชื่อมต่อที่ค้างอยู่ใน PLS (พอร์ทัล Azure → การเชื่อมต่อปลายทางส่วนตัว) จากนั้นเรียกใช้การอ่าน Spark JDBC โดยใช้ FQDN เพื่อยืนยันการเชื่อมต่อส่วนตัว

ตัวอย่างเทมเพลต ARM (ไม่บังคับ)

ใช้เทมเพลตด้านล่างเป็นจุดเริ่มต้นในการปรับใช้ส่วนประกอบเครือข่ายของคุณ

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "subscriptionId": { "type": "string", "defaultValue": "<subscriptionId>" },
    "resourceGroupName": { "type": "string", "defaultValue": "<resourceGroupName>" },
    "location": { "type": "string", "defaultValue": "eastus" },
    "vnetName": { "type": "string", "defaultValue": "fabric-onprem-vnet" }
  },
  "resources": [
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2023-09-01",
      "name": "[parameters('vnetName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": { "addressPrefixes": ["192.168.0.0/16"] },
        "subnets": [
          { "name": "be-subnet", "properties": { "addressPrefix": "192.168.1.0/24" } },
          { "name": "fe-subnet", "properties": { "addressPrefix": "192.168.2.0/24" } },
          { "name": "pls-subnet", "properties": { "addressPrefix": "192.168.3.0/24" } }
        ]
      }
    },
    {
      "type": "Microsoft.Network/loadBalancers",
      "apiVersion": "2023-09-01",
      "name": "myLoadBalancer",
      "location": "[parameters('location')]",
      "sku": { "name": "Standard" },
      "properties": {
        "frontendIPConfigurations": [
          {
            "name": "LoadBalancerFrontEnd",
            "properties": { "subnet": { "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName')), '/subnets/fe-subnet')]" } }
          }
        ]
      }
    }
  ]
}

คุณสามารถขยายเทมเพลตนี้เพื่อรวมการปรับใช้ VM และข้อกําหนดบริการลิงก์ส่วนตัว

บันทึกรูปแบบขั้นสูงทั่วไป

การพิจารณา คำแนะนำ
พอร์ตโพรบสุขภาพ ใช้พอร์ตที่เข้าถึงได้อย่างสม่ําเสมอ (22 หรือตัวฟัง TCP ที่มีน้ําหนักเบา) เพื่อให้ LB เห็นว่าแบ็กเอนด์ทํางานได้ดี
ไฟร์วอลล์ Windows ตรวจสอบให้แน่ใจว่าไม่มีไฟร์วอลล์ Windows ปิดกั้นพอร์ตที่มีการส่งต่อการรับส่งข้อมูล
การปรับขนาด NAT VM โดยปกติแล้ว VM ขนาดเล็กก็เพียงพอแล้ว ตรวจสอบว่าคาดว่าจะมีเซสชันพร้อมกันสูงหรือไม่
ความพร้อมใช้งานสูง สําหรับการผลิต ให้ใช้ VM ตัวส่งต่อหลายตัวในชุดความพร้อมใช้งาน / โซนที่มีการกระจาย LB
การเชื่อมต่อ ตรวจสอบให้แน่ใจว่าคุณได้สร้างการเชื่อมต่อระหว่าง VM ที่ส่งต่อ IP และแหล่งข้อมูลโดยใช้ชื่อหรือที่อยู่ IP
Security จํากัด NSG เฉพาะขาเข้าที่จําเป็น (1433 ไปยังผู้ส่งต่อ) และพอร์ตการจัดการ (22) จากช่วงที่เชื่อถือได้

เรียนรู้เพิ่มเติม