หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ด้วยจุดสิ้นสุดส่วนตัวที่มีการจัดการ คุณสามารถเชื่อมต่อปริมาณงาน 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)
การตั้งค่าเกี่ยวข้องกับสามขั้นตอนหลัก:
- เจ้าของแหล่งข้อมูลหรือผู้ดูแลระบบกําหนดค่า Azure Private Link Service (PLS) สําหรับทรัพยากรที่อยู่ด้านหน้าด้วยที่อยู่ IP ส่วนตัว
- ผู้ดูแลระบบพื้นที่ทํางาน Fabric สร้าง Managed Private Endpoint (MPE) ที่อ้างอิงชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) ด้วยรหัสทรัพยากรของบริการ Private Link
- เจ้าของแหล่งข้อมูลหรือผู้ดูแลระบบตรวจสอบและอนุมัติคําขอการเชื่อมต่อใน Azure
เมื่อได้รับการอนุมัติแล้ว ปริมาณงาน Fabric Data Engineering ทั้งหมด (เช่น Notebooks, Spark Job Definitions, Materialized Lakeviews, Livy Endpoints) สามารถเชื่อมต่อกับทรัพยากรที่ได้รับอนุมัติได้อย่างปลอดภัย
ข้อกําหนดเบื้องต้น
ก่อนที่คุณเริ่มต้น:
- พื้นที่ทํางาน Microsoft Fabric ที่มีบทบาทผู้ดูแลระบบพื้นที่ทํางาน
- การสมัครใช้งาน Azure ต้องมีผู้ให้บริการทรัพยากร Microsoft.Network ลงทะเบียน
- มีแหล่งข้อมูลหรือบริการที่ทํางานอยู่เบื้องหลัง Standard Load Balancer ซึ่งสามารถเข้าถึงได้โดยบริการ Private Link เรียนรู้เพิ่มเติมเกี่ยวกับบริการ Private Link
ขั้นตอนที่ 1: [ไม่บังคับหากโหลดบาลานเซอร์ของคุณไม่มีการตั้งค่าบริการลิงก์ส่วนตัว] สร้างบริการลิงก์ส่วนตัวสําหรับทรัพยากรภายในองค์กรของคุณ
เมื่อต้องการเปิดเผยแหล่งข้อมูลภายในองค์กรหรือที่โฮสต์แบบกําหนดเอง (เช่น SQL Server) ไปยัง Fabric คุณต้องสร้าง Private Link Service (PLS) ใน Azure ก่อน
- ลงชื่อเข้าใช้ พอร์ทัล Azure
- ในแถบค้นหา ให้ป้อน Private Link Service แล้วเลือก Create
- ระบุ:
- กลุ่มการสมัครใช้งาน และ ทรัพยากร
- ภูมิภาค
- ชื่อ บริการลิงก์ส่วนตัวของคุณ
- ภายใต้ การกําหนดค่า IP ส่วนหน้า ให้เชื่อมโยงโหลดบาลานเซอร์ที่กําหนดเส้นทางการรับส่งข้อมูลไปยังเครื่องภายในองค์กรหรือเครื่องเสมือนของคุณ
- กําหนด รหัสการสมัครใช้งานการอนุมัติอัตโนมัติ เพื่ออนุมัติคําขอการเชื่อมต่อจากผู้เช่า 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เฉพาะบริการ) |
ขั้นตอนการดําเนินการ:
- เปิดไคลเอ็นต์ REST ของคุณ
- ตั้งค่าเมธอดเป็น POST และวาง URL ปลายทาง (แทนที่
{workspaceId}) - เพิ่มส่วนหัวการให้สิทธิ์ด้วยโทเค็นผู้ถือจากขั้นตอนที่ 2.1
- วางเนื้อหา JSON และปรับค่า
- ส่งคําขอ
ขั้นตอนที่ 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:
- ตั้งค่าชนิดคําขอเป็น POST
- วางตําแหน่งข้อมูล Fabric REST API
- ใน การตรวจสอบสิทธิ์ ให้เลือก โทเค็นผู้ถือ และวางโทเค็นที่ดึงมาก่อนหน้านี้
- ใน เนื้อหา ให้วางเพย์โหลด JSON
- คลิก ส่ง
API จะตอบสนองด้วยรายละเอียดปลายทางส่วนตัวที่มีการจัดการและสถานะการเชื่อมต่อ
หลังจากที่คุณส่งคําขอ Fabric จะพยายามเริ่มต้นการเชื่อมต่อส่วนตัว
ผู้ดูแลระบบเครือข่ายของคุณจะเห็น คําขอการเชื่อมต่อที่รอดําเนินการ นี้ในพอร์ทัล Azure ภายใต้:
บริการ Private Link → เบลดการเชื่อมต่อปลายทางส่วนตัว
ขั้นตอนที่ 3: อนุมัติคําขอการเชื่อมต่อปลายทางส่วนตัว
- ลงชื่อเข้าใช้ พอร์ทัล Azure
- นําทางไปยังทรัพยากร บริการลิงก์ส่วนตัว ของคุณ
- เลือก การเชื่อมต่อปลายทางส่วนตัว ภายใต้ส่วน เครือข่าย
- ตรวจทานคําขอการเชื่อมต่อที่ค้างอยู่จาก Microsoft Fabric
- เลือก อนุมัติ และระบุเหตุผลเพิ่มเติม
ขั้นตอนที่ 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
- ในพื้นที่ทํางาน Fabric ของคุณ ให้ไปที่ การตั้งค่า → ความปลอดภัยของเครือข่าย
- ในส่วนปลายทางส่วนตัวที่มีการจัดการ ให้ตรวจสอบว่าสถานะการเชื่อมต่อแสดงอนุมัติแล้ว
- เลือกชื่อปลายทางเพื่อดูรายละเอียด เช่น:
- เอฟคิวดีเอ็น
- สถานะการเชื่อมต่อ
- วันที่อนุมัติ
- รหัสทรัพยากรลิงก์ส่วนตัว
หากสถานะแสดงเป็น รอดําเนินการ หรือ ล้มเหลว ให้ตรวจสอบว่า:
- ผู้ดูแลระบบ 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
ข้อกําหนดเบื้องต้น
- การสมัครใช้งาน Azure — สร้างบัญชีฟรี
- เครือข่ายเสมือน (VNet) — สร้างเครือข่ายเสมือนในพอร์ทัล Azure
- การเชื่อมต่อระหว่าง Azure และภายในองค์กร — ผ่าน ExpressRoute หรือ VPN Gateway คุณยังสามารถจําลองภายในองค์กรโดยใช้ซับเน็ตส่วนตัวกับ Azure VM และบริการลิงก์ส่วนตัว
ตัวเลือกอื่น: ใช้บริการลิงก์ส่วนตัว Direct Connect (พรีวิว)
หากคุณทราบที่อยู่ 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 ของคุณ
ตัวอย่าง: การสร้างบริการลิงก์ส่วนตัว Direct Connect (PowerShell)
ตัวอย่างด้านล่างสร้าง 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 ภายในมาตรฐาน
- ไปที่ สร้าง Resource > Networking > Load Balancer
- กําหนดค่า:
- ชนิด: ภายใน
- SKU: มาตรฐาน
- ซับเน็ต: fe-ซับเน็ต
- การกําหนด IP: ไดนามิก
- สร้างพูลแบ็กเอนด์ โพรบสถานภาพ (TCP 22 หรือ 1433) และกฎ (TCP 1433 → 1433)
ขั้นตอนที่ 3: สร้าง VM การส่งต่อแบ็กเอนด์
สร้าง Ubuntu VM ที่มีน้ําหนักเบาอย่างน้อยหนึ่งเครื่องใน be-subnet.
ในระหว่างการสร้าง ให้เชื่อมโยงกับพูลแบ็กเอนด์ Load Balancer ของคุณ (myBackendPool)
เมื่อเตรียมใช้งานแล้ว ให้เปิดใช้งานการส่งต่อ IP และสร้างกฎ NAT ไปยัง IP SQL Server ภายในองค์กรของคุณ (เช่น 10.0.0.47) โดยทําตามขั้นตอนเหล่านี้:
- เปิดใช้งานการส่งต่อ IP บน VM
- สร้างกฎ DNAT เพื่อส่งต่อการรับส่งข้อมูลจากตัวจัดสรรภาระงานบนพอร์ต 1433 ไปยัง IP ของ SQL Server ภายในองค์กร (เช่น 10.0.0.47) บนพอร์ต 1433
- สร้างกฎ 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
ขั้นตอนที่ 4: สร้างบริการลิงก์ส่วนตัว (PLS)
- ไปที่ Private Link Center → สร้างบริการ Private Link
- ในส่วน การตั้งค่าขาออก:
- โหลดบาลานเซอร์: เลือกโหลดบาลานเซอร์ภายในของคุณ
- IP ส่วนหน้า: โหลดบาลานเซอร์ฟรอนต์เอนด์
-
ซับเน็ต NAT ที่มา:
pls-subnet
- ปล่อยให้เป็นค่าเริ่มต้น แล้วเลือก สร้าง
ขณะนี้บริการนี้เปิดเผย 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) จากช่วงที่เชื่อถือได้ |