Membuat koneksi keluar melalui tautan privat bersama
Artikel ini menjelaskan cara mengonfigurasi panggilan keluar privat dari Azure AI Search ke sumber daya Azure yang berjalan dalam jaringan virtual Azure.
Menyiapkan koneksi privat memungkinkan layanan pencarian untuk terhubung ke alamat IP jaringan virtual alih-alih port yang terbuka ke internet. Objek yang dibuat untuk koneksi disebut tautan privat bersama. Pada koneksi, layanan pencarian menggunakan tautan privat bersama secara internal untuk menjangkau sumber daya Azure di dalam batas jaringan.
Tautan privat bersama adalah fitur premium yang ditagih berdasarkan penggunaan. Saat Anda menyiapkan tautan privat bersama, biaya untuk titik akhir privat ditambahkan ke faktur Azure Anda. Saat Anda menggunakan tautan privat bersama, tarif transfer data untuk akses masuk dan keluar juga ditagih. Untuk detailnya, lihat Harga Azure Private Link.
Catatan
Jika Anda menyiapkan koneksi pengindeks privat ke SQL Managed Instance, lihat artikel ini sebagai gantinya untuk langkah-langkah khusus untuk jenis sumber daya tersebut.
Kapan menggunakan tautan privat bersama
Azure AI Search melakukan panggilan keluar ke sumber daya Azure lainnya dalam skenario berikut:
- Pengindeks atau koneksi kueri ke Azure OpenAI, Azure AI Vision, atau katalog model Azure AI Foundry untuk vektorisasi
- Koneksi pengindeks ke sumber data yang didukung
- Koneksi pengindeks (skillset) ke Azure Storage untuk pengayaan penembolokan, sate sesi debug, atau penulisan ke penyimpanan pengetahuan
- Koneksi pengindeks (set keterampilan) ke layanan Azure AI untuk tujuan penagihan
- Permintaan kunci enkripsi ke Azure Key Vault
- Permintaan keterampilan kustom ke Azure Functions atau sumber daya serupa
Tautan privat bersama hanya berfungsi untuk koneksi Azure-ke-Azure. Jika Anda tersambung ke OpenAI atau model eksternal lainnya, koneksi harus melalui internet publik.
Tautan privat bersama adalah untuk operasi dan data yang diakses melalui titik akhir privat untuk sumber daya Atau klien Azure yang berjalan di jaringan virtual Azure.
Tautan privat bersama adalah:
- Dibuat menggunakan alat, API, atau SDK Pencarian Azure AI
- Disetujui oleh pemilik sumber daya Azure
- Digunakan secara internal oleh Azure AI Search pada koneksi privat ke sumber daya Azure tertentu
Hanya layanan pencarian Anda yang dapat menggunakan tautan privat yang dibuatnya, dan hanya ada satu tautan privat bersama yang dibuat pada layanan Anda untuk setiap kombinasi sumber daya dan sub sumber daya.
Setelah Anda menyiapkan tautan privat, tautan tersebut digunakan secara otomatis setiap kali layanan pencarian terhubung ke sumber daya tersebut. Anda tidak perlu mengubah string koneksi atau mengubah klien yang Anda gunakan untuk mengeluarkan permintaan, meskipun perangkat yang digunakan untuk koneksi harus tersambung menggunakan IP resmi di firewall sumber daya Azure.
Ada dua skenario untuk menggunakan Azure Private Link dan Azure AI Search bersama-sama.
Skenario satu: membuat tautan privat bersama saat koneksi keluar (pengindeks) ke Azure memerlukan koneksi privat.
Skenario dua: mengonfigurasi pencarian koneksi masuk privat dari klien yang berjalan di jaringan virtual.
Skenario satu dibahas dalam artikel ini.
Meskipun kedua skenario memiliki dependensi pada Azure Private Link, keduanya independen. Anda dapat membuat tautan privat bersama tanpa harus mengonfigurasi layanan pencarian Anda sendiri untuk titik akhir privat.
Batasan
Saat mengevaluasi tautan privat bersama untuk skenario Anda, ingat batasan ini.
Beberapa jenis sumber daya yang digunakan dalam tautan privat bersama sedang dalam pratinjau. Jika Anda menyambungkan ke sumber daya pratinjau (Azure Database for MySQL atau Azure SQL Managed Instance), gunakan versi pratinjau Rest API Manajemen untuk membuat tautan privat bersama. Versi ini mencakup
2020-08-01-preview
, ,2021-04-01-preview
2024-03-01-preview
, dan2024-06-01-preview
. Kami merekomendasikan API pratinjau terbaru.Eksekusi pengindeks harus menggunakan lingkungan eksekusi privat yang khusus untuk layanan pencarian Anda. Koneksi titik akhir privat tidak didukung dari lingkungan pemrosesan konten multipenyewa. Pengaturan konfigurasi untuk persyaratan ini tercakup dalam artikel ini.
Tinjau batas sumber daya tautan privat bersama untuk setiap tingkatan.
Prasyarat
Sumber daya Azure yang didukung, dikonfigurasi untuk berjalan di jaringan virtual.
Azure AI layanan Pencarian dengan persyaratan tingkat dan wilayah, berdasarkan beban kerja:
Beban kerja Persyaratan tingkat Persyaratan wilayah Persyaratan pembuatan layanan Pengindeks tanpa set keterampilan Dasar dan lebih tinggi Tidak Tidak Skillsets dengan keterampilan penyematan (vektorisasi terintegrasi) Dasar dan lebih tinggi Wilayah kapasitas tinggi Setelah 3 April 2024 Set keterampilan menggunakan keterampilan bawaan atau kustom lainnya Standar 2 (S2) dan yang lebih tinggi Tidak Setelah 3 April 2024 Izin pada Azure AI Search dan sumber daya Azure:
Sumber daya Izin Pencarian Azure AI Microsoft.Search/searchServices/sharedPrivateLinkResources/write
Microsoft.Search/searchServices/sharedPrivateLinkResources/read
Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read
Sumber daya Azure lainnya Izin untuk menyetujui koneksi titik akhir privat. Misalnya, di Azure Storage, Anda memerlukan Microsoft.Storage/storageAccounts/privateEndpointConnectionsApproval/action
.
Jenis sumber daya yang didukung
Anda dapat membuat tautan privat bersama untuk sumber daya berikut.
Jenis Sumber Daya | Sub sumber daya (atau ID Grup) |
---|---|
Microsoft.Storage/storageAccounts 1 |
blob , , table dfs ,file |
Microsoft.DocumentDB/databaseAccounts 2 | Sql |
Microsoft.Sql/servers 3 | sqlServer |
Microsoft.KeyVault/vault | vault |
Microsoft.DBforMySQL/servers (pratinjau) | mysqlServer |
Microsoft.Web/sites 4 | sites |
Microsoft.Sql/managedInstances (pratinjau) 5 | managedInstance |
Microsoft.CognitiveServices/accounts 67 | openai_account |
Microsoft.CognitiveServices/accounts 8 | cognitiveservices_account |
1 Jika Azure Storage dan Azure AI Search berada di wilayah yang sama, koneksi ke penyimpanan dibuat melalui jaringan backbone Microsoft, yang berarti tautan privat bersama berlebihan untuk konfigurasi ini. Namun, jika Anda sudah menyiapkan titik akhir privat untuk Azure Storage, Anda juga harus menyiapkan tautan privat bersama atau koneksi ditolak di sisi penyimpanan. Selain itu, jika Anda menggunakan beberapa format penyimpanan untuk berbagai skenario dalam pencarian, pastikan untuk membuat tautan privat bersama terpisah untuk setiap sub-sumber daya.
2 Jenis Microsoft.DocumentDB/databaseAccounts
sumber daya digunakan untuk koneksi pengindeks ke Azure Cosmos DB for NoSQL. Nama penyedia dan ID grup peka huruf besar/kecil.
3 Jenis Microsoft.Sql/servers
sumber daya digunakan untuk koneksi ke database Azure SQL. Saat ini tidak ada dukungan untuk tautan privat bersama ke Azure Synapse SQL.
4 Jenis Microsoft.Web/sites
sumber daya digunakan untuk Layanan aplikasi dan fungsi Azure. Dalam konteks Azure AI Search, fungsi Azure adalah skenario yang lebih mungkin. Fungsi Azure umumnya digunakan untuk menghosting logika keterampilan kustom. Azure Function memiliki paket hosting Consumption, Premium, dan Dedicated App Service. App Service Environment (ASE), Azure Kubernetes Service (AKS) dan Azure API Management saat ini tidak didukung.
5 Lihat Membuat tautan privat bersama untuk SQL Managed Instance untuk instruksi.
6 Jenis Microsoft.CognitiveServices/accounts
sumber daya digunakan untuk vektorizer dan koneksi pengindeks ke model penyematan Azure OpenAI saat menerapkan Vektorisasi terintegrasi. Mulai 19 November 2024, sekarang ada dukungan untuk tautan privat bersama ke model penyematan di katalog model Azure AI Foundry atau ke API multimodal Azure AI Vision.
7 Tautan privat bersama untuk Azure OpenAI hanya didukung di cloud publik dan Microsoft Azure Government. Penawaran cloud lainnya tidak memiliki dukungan untuk tautan privat bersama untuk openai_account
ID Grup.
8 Tautan privat bersama sekarang didukung (per November 2024) untuk koneksi ke akun multiservice Azure AI. Azure AI Search tersambung ke multiservice Azure AI untuk tujuan penagihan. Koneksi ini sekarang dapat bersifat privat melalui tautan privat bersama. Tautan privat bersama hanya didukung saat mengonfigurasi identitas terkelola (konfigurasi tanpa kunci) dalam definisi skillset.
1 - Membuat tautan privat bersama
Gunakan portal Azure, Management REST API, Azure CLI, atau Azure PowerShell untuk membuat tautan privat bersama.
Berikut adalah beberapa tips:
- Beri tautan privat nama yang bermakna. Di sumber daya Azure PaaS, tautan privat bersama muncul bersama titik akhir privat lainnya. Nama seperti "shared-private-link-for-search" dapat mengingatkan Anda cara penggunaannya.
Saat Anda menyelesaikan langkah-langkah di bagian ini, Anda memiliki tautan privat bersama yang disediakan dalam status tertunda. Dibutuhkan beberapa menit untuk membuat tautan. Setelah dibuat, pemilik sumber daya harus menyetujui permintaan sebelum beroperasi.
Masuk ke portal Azure dan temukan layanan pencarian Anda.
Di bawah Pengaturan di panel navigasi kiri, pilih Jaringan.
Pada halaman Akses Privat Bersama, pilih + Tambahkan Akses Privat Bersama.
Pilih Sambungkan ke sumber daya Azure di direktori saya atau Sambungkan ke sumber daya Azure berdasarkan ID sumber daya.
Jika Anda memilih opsi pertama (disarankan), portal Azure membantu Anda memilih sumber daya Azure yang sesuai dan mengisi properti lain, seperti ID grup sumber daya dan jenis sumber daya.
Jika Anda memilih opsi kedua, masukkan ID sumber daya Azure secara manual dan pilih ID grup yang sesuai dari daftar di awal artikel ini.
Konfirmasikan status provisi adalah "Memperbarui".
Setelah sumber daya berhasil dibuat, status provisi sumber daya berubah menjadi "Berhasil".
Alur kerja pembuatan tautan privat bersama
Respon 202 Accepted
dikembalikan jikka berhasil. Proses pembuatan titik akhir privat keluar adalah operasi jangka panjang (asinkron). Ini melibatkan penyebaran sumber daya berikut:
Titik akhir privat, dialokasikan dengan alamat IP privat dalam status
"Pending"
. Alamat IP privat diperoleh dari ruang alamat yang dialokasikan ke jaringan virtual lingkungan eksekusi untuk pengindeks privat khusus layanan pencarian. Setelah persetujuan titik akhir privat, komunikasi apa pun dari Azure AI Search ke sumber daya Azure berasal dari alamat IP privat dan saluran tautan privat yang aman.Zona DNS privat untuk jenis sumber daya, berdasarkan ID grup. Dengan menyebarkan sumber daya ini, Anda memastikan bahwa setiap pencarian DNS ke sumber daya privat menggunakan alamat IP yang terkait dengan titik akhir privat.
2 - Menyetujui koneksi titik akhir privat
Persetujuan koneksi titik akhir privat diberikan di sisi Azure PaaS. Persetujuan eksplisit oleh pemilik sumber daya diperlukan. Langkah-langkah berikut mencakup persetujuan menggunakan portal Azure, tetapi berikut adalah beberapa tautan untuk menyetujui koneksi secara terprogram dari sisi Azure PaaS:
- Di Azure Storage, gunakan Koneksi Titik Akhir Privat - Letakkan
- Di Azure Cosmos DB, gunakan Koneksi Titik Akhir Privat - Buat Atau Perbarui
- Di Azure OpenAI, gunakan Koneksi Titik Akhir Privat - Buat Atau Perbarui
Dengan menggunakan portal Azure, lakukan langkah-langkah berikut:
Buka halaman Jaringan sumber daya Azure PaaS.Teks
Temukan bagian yang mencantumkan koneksi titik akhir privat. Contoh berikut adalah untuk akun penyimpanan.
Pilih koneksi, lalu pilih Setujui. Dibutuhkan beberapa menit agar status diperbarui di portal Azure.
Setelah titik akhir privat disetujui, Azure AI Search membuat pemetaan zona DNS yang diperlukan di zona DNS yang dibuat untuknya.
Meskipun tautan titik akhir privat di halaman Jaringan aktif, tautan tersebut tidak akan teratasi.
Memilih tautan akan menghasilkan kesalahan. Pesan status dan "The access token is from the wrong issuer"
must match the tenant associated with this subscription
muncul karena sumber daya titik akhir privat backend disediakan oleh Microsoft di penyewa yang dikelola Microsoft, sementara sumber daya tertaut (Azure AI Search) berada di penyewa Anda. Secara desain Anda tidak dapat mengakses sumber daya titik akhir privat dengan memilih tautan koneksi titik akhir privat.
Ikuti instruksi di bagian berikutnya untuk memeriksa status tautan privat bersama Anda.
3 - Periksa status tautan privat bersama
Di sisi Pencarian Azure AI, Anda dapat mengonfirmasi persetujuan permintaan dengan mengunjungi kembali halaman Akses Privat Bersama dari halaman Jaringan layanan pencarian. Status koneksi harus disetujui.
Atau, Anda juga dapat memperoleh status koneksi dengan menggunakan Sumber Daya Tautan Privat Bersama - Dapatkan.
az rest --method get --uri https://management.azure.com/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso/providers/Microsoft.Search/searchServices/contoso-search/sharedPrivateLinkResources/blob-pe?api-version=2024-07-01
Ini akan mengembalikan JSON, di mana status koneksi muncul sebagai "status" di bawah bagian "properti". Berikut ini adalah contoh untuk akun penyimpanan.
{
"name": "blob-pe",
"properties": {
"privateLinkResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contoso-storage",
"groupId": "blob",
"requestMessage": "please approve",
"status": "Approved",
"resourceRegion": null,
"provisioningState": "Succeeded"
}
}
Jika status provisi (properties.provisioningState
) sumber daya adalah "Berhasil" dan status koneksi(properties.status
) adalah "Disetujui", itu berarti bahwa sumber daya tautan privat bersama berfungsi dan pengindeks dapat dikonfigurasi untuk berkomunikasi melalui titik akhir privat.
4 - Mengonfigurasi pengindeks untuk dijalankan di lingkungan privat
Eksekusi pengindeks terjadi di lingkungan privat yang khusus untuk layanan pencarian, atau lingkungan multipenyewa yang digunakan secara internal untuk membongkar pemrosesan set keterampilan yang mahal untuk beberapa pelanggan.
Lingkungan eksekusi transparan, tetapi setelah Anda mulai membangun aturan firewall atau membuat koneksi privat, Anda harus memperhitungkan eksekusi pengindeks. Untuk koneksi privat, konfigurasikan eksekusi pengindeks untuk selalu berjalan di lingkungan privat.
Langkah ini menunjukkan kepada Anda cara mengonfigurasi pengindeks untuk berjalan di lingkungan privat menggunakan REST API. Anda juga dapat mengatur lingkungan eksekusi menggunakan editor JSON di portal Azure.
Catatan
Anda dapat melakukan langkah ini sebelum koneksi titik akhir privat disetujui. Namun, sampai koneksi titik akhir privat ditampilkan sebagai disetujui, pengindeks yang ada yang mencoba berkomunikasi dengan sumber daya yang aman (seperti akun penyimpanan) akan berakhir dalam status kegagalan sementara dan pengindeks baru akan gagal dibuat.
Buat definisi sumber data, indeks, dan skillset (jika Anda menggunakannya) seperti biasanya. Tidak ada properti dalam salah satu definisi ini yang bervariasi saat menggunakan titik akhir privat bersama.
Buat pengindeks yang menunjuk ke sumber data, indeks, dan skillset yang Anda buat di langkah sebelumnya. Selain itu, paksa pengindeks untuk berjalan di lingkungan eksekusi privat dengan mengatur properti konfigurasi
executionEnvironment
pengindeks keprivate
.{ "name": "indexer", "dataSourceName": "blob-datasource", "targetIndexName": "index", "parameters": { "configuration": { "executionEnvironment": "private" } }, "fieldMappings": [] }
Setelah pengindeks berhasil dibuat, pengindeks harus menyambung ke sumber daya Azure melalui koneksi titik akhir privat. Anda dapat memantau status pengindeks menggunakan API Status Pengindeks.
Catatan
Jika Anda sudah memiliki pengindeks yang ada, Anda dapat memperbaruinya melalui PUT API dengan mengatur executionEnvironment
ke private
atau menggunakan editor JSON di portal Azure.
5 - Menguji tautan privat bersama
Jika Anda belum melakukannya, verifikasi bahwa sumber daya Azure PaaS Anda menolak koneksi dari internet publik. Jika koneksi diterima, tinjau pengaturan DNS di halaman Jaringan sumber daya Azure PaaS Anda.
Pilih alat yang dapat memanggil skenario permintaan keluar, seperti koneksi pengindeks ke titik akhir privat. Pilihan yang mudah adalah menggunakan wizard Impor data , tetapi Anda juga dapat mencoba klien REST dan REST API untuk presisi yang lebih baik. Dengan asumsi bahwa layanan pencarian Anda tidak juga dikonfigurasi untuk koneksi privat, koneksi klien REST untuk pencarian dapat melalui internet publik.
Atur string koneksi ke sumber daya Azure PaaS privat. Format string koneksi tidak berubah untuk tautan privat bersama. Layanan pencarian memanggil tautan privat bersama secara internal.
Untuk beban kerja pengindeks, string koneksi berada dalam definisi sumber data. Contoh sumber data mungkin terlihat seperti ini:
{ "name": "my-blob-ds", "type": "azureblob", "subtype": null, "credentials": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<YOUR-STORAGE-ACCOUNT>;AccountKey=..." }
Untuk beban kerja pengindeks, ingatlah untuk mengatur lingkungan eksekusi dalam definisi pengindeks. Contoh definisi pengindeks mungkin terlihat seperti ini:
"name": "indexer", "dataSourceName": "my-blob-ds", "targetIndexName": "my-index", "parameters": { "configuration": { "executionEnvironment": "private" } }, "fieldMappings": [] }
Jalankan pengindeks. Jika eksekusi pengindeks berhasil dan indeks pencarian diisi, tautan privat bersama berfungsi.
Pemecahan Masalah
Jika pembuatan pengindeks Anda gagal dengan "Kredensial sumber data tidak valid," periksa status persetujuan tautan privat bersama sebelum men-debug koneksi. Jika statusnya adalah
Approved
, periksaproperties.provisioningState
properti . Jika ituIncomplete
, mungkin ada masalah dengan dependensi yang mendasar. Dalam hal ini, terisiPUT
ulang permintaan untuk membuat ulang tautan privat bersama. Anda mungkin juga perlu mengulangi langkah persetujuan.Jika pengindeks gagal secara konsisten atau terputus-putus, periksa
executionEnvironment
properti pada pengindeks. Nilai harus diatur keprivate
. Jika Anda tidak mengatur properti ini, dan pengindeks berjalan berhasil di masa lalu, itu karena layanan pencarian menggunakan lingkungan privat dengan kemauannya sendiri. Layanan pencarian memindahkan pemrosesan keluar dari lingkungan multipenyewa jika sistem sedang dimuat.Jika Anda mendapatkan kesalahan saat membuat tautan privat bersama, periksa batas layanan untuk memverifikasi bahwa Anda berada di bawah kuota untuk tingkat Anda.
Langkah berikutnya
Pelajari selengkapnya tentang titik akhir privat dan metode koneksi aman lainnya: