Bagikan melalui


Opsi jaringan Azure Functions

Artikel ini menjelaskan fitur jaringan yang tersedia di seluruh opsi hosting untuk Azure Functions. Semua opsi jaringan berikut memberi Anda beberapa kemampuan untuk mengakses sumber daya tanpa menggunakan alamat internet yang dapat dirutekan atau untuk membatasi akses internet ke aplikasi fungsi.

Model hosting memiliki tingkat isolasi jaringan yang berbeda yang tersedia. Memilih model hosting yang benar membantu Anda memenuhi persyaratan isolasi jaringan Anda.

Fitur Paket Konsumsi Paket Konsumsi Flex Paket premium /Paket khusus ASE Aplikasi Kontainer*
Pembatasan IP masuk ✅Ya ✅Ya ✅Ya ✅Ya ✅Ya
Titik Akhir Privat Masuk ❌Tidak ✅Ya ✅Ya ✅Ya ❌Tidak
Integrasi Virtual Network ❌Tidak ✅Ya (Regional) ✅Ya (Regional) ✅Ya (Regional dan Gateway) ✅Ya
Pemicu jaringan virtual (non-HTTP) ❌Tidak ✅Ya ✅Ya ✅Ya ✅Ya
Sambungan hibrid (khusus Windows) ❌Tidak ❌ Tidak ✅Ya ✅Ya ❌Tidak
Pembatasan IP keluar ❌Tidak ✅Ya ✅Ya ✅Ya ✅Ya

*Untuk informasi selengkapnya, lihat Jaringan di lingkungan Azure Container Apps.

Sumber daya mulai cepat

Gunakan sumber daya berikut untuk memulai skenario jaringan Azure Functions dengan cepat. Sumber daya ini dirujuk di seluruh artikel.

Fitur jaringan masuk

Fitur berikut memungkinkan Anda memfilter permintaan masuk ke aplikasi fungsi Anda.

Pembatasan akses masuk

Anda dapat menggunakan pembatasan akses untuk menentukan prioritas daftar alamat IP secara berurutan yang diizinkan atau ditolak akses ke aplikasi Anda. Daftar ini dapat mencakup alamat IPv4 dan IPv6, atau subnet jaringan virtual tertentu menggunakan titik akhir layanan. Ketika ada satu atau beberapa entri, "tolak semua" secara implisit ada di akhir daftar. Pembatasan IP berfungsi untuk semua opsi fungsi hosting.

Pembatasan akses tersedia dalam paket Konsumsi Flex, Elastic Premium, Konsumsi, dan App Service.

Catatan

Dengan pembatasan jaringan, Anda hanya dapat menyebarkannya dari dalam jaringan virtual, atau saat Anda menggunakan alamat IP dari komputer Anda untuk mengakses portal Microsoft Azure di daftar Penerima Aman. Namun, Anda masih dapat mengelola fungsi menggunakan portal.

Untuk mempelajari selengkapnya, lihat Pembatasan akses statis Azure App Service.

Titik Akhir Privat

Azure Private Endpoint adalah antarmuka jaringan yang menghubungkan Anda secara privat dan aman ke layanan yang didukung oleh Azure Private Link. Titik Akhir Privat menggunakan alamat IP privat dari jaringan virtual Anda, membawa layanan ke dalam jaringan virtual Anda secara efektif.

Anda dapat menggunakan Titik Akhir Pribadi untuk fungsi yang dihosting dalam paket Premium dan App Service.

Jika Anda ingin melakukan panggilan ke Titik Akhir Privat, Anda harus memastikan pencarian DNS Anda menentukan titik akhir privat. Anda dapat menerapkan perilaku ini di salah satu cara berikut:

  • Integrasikan dengan zona privat Azure DNS. Ketika jaringan virtual Anda tidak memiliki server DNS kustom, integrasi dilakukan secara otomatis.
  • Kelola titik akhir privat di server DNS yang digunakan oleh aplikasi Anda. Untuk melakukan ini, Anda harus mengetahui alamat titik akhir privat, lalu mengarahkan titik akhir yang Anda coba jangkau ke alamat tersebut menggunakan rekaman A.
  • Konfigurasikan server DNS Anda sendiri untuk diteruskan ke zona privat Azure DNS.

Untuk mempelajari selengkapnya, lihat menggunakan Titik Akhir Pribadi untuk Aplikasi Web.

Untuk menghubungi layanan lain yang memiliki koneksi titik akhir privat, seperti penyimpanan atau bus layanan, pastikan untuk mengonfigurasi aplikasi Anda guna melakukan panggilan keluar ke titik akhir privat. Untuk detail selengkapnya tentang menggunakan titik akhir privat dengan akun penyimpanan untuk aplikasi fungsi Anda, buka membatasi akun penyimpanan Anda ke jaringan virtual.

Titik akhir layanan

Dengan menggunakan titik akhir layanan, Anda dapat membatasi banyak layanan Azure ke subnet jaringan virtual yang dipilih untuk memberikan tingkat keamanan yang lebih tinggi. Integrasi jaringan virtual regional memungkinkan aplikasi fungsi Anda menjangkau layanan Azure yang diamankan menggunakan titik akhir layanan. Konfigurasi ini dapat digunakan di semua paket yang mendukung integrasi jaringan virtual. Untuk mengakses layanan yang diamankan titik akhir layanan, Anda harus melakukan hal berikut:

  1. Konfigurasikan integrasi jaringan virtual regional dengan aplikasi fungsi Anda untuk menyambungkan ke subnet tertentu.
  2. Buka layanan tujuan dan konfigurasikan titik akhir layanan terhadap subnet integrasi.

Untuk mempelajari lebih lanjut, lihat Titik akhir layanan jaringan virtual.

Menggunakan Titik Akhir Layanan

Untuk membatasi akses ke subnet tertentu, buat aturan pembatasan dengan jenis Virtual Network. Anda kemudian dapat memilih langganan, jaringan virtual, dan subnet yang akan Anda izinkan atau tolak aksesnya.

Jika titik akhir layanan belum diaktifkan dengan Microsoft.Web untuk subnet yang Anda pilih, titik akhir layanan tersebut diaktifkan secara otomatis kecuali Anda memilih kotak centang Abaikan titik akhir layanan Microsoft.Web yang hilang. Skenario di mana Anda mungkin ingin mengaktifkan titik akhir layanan pada aplikasi dan bukan pada subnet yang bergantung terutama pada apakah Anda memiliki izin untuk mengaktifkannya di subnet.

Jika Anda ingin orang lain untuk mengaktifkan titik akhir layanan pada subnet, pilih kotak centang Abaikan titik akhir layanan Microsoft.Web yang tidak ada. Aplikasi Anda dikonfigurasi untuk titik akhir layanan untuk mengantisipasi mengaktifkannya nanti di subnet.

Cuplikan layar panel

Anda tidak dapat menggunakan titik akhir layanan untuk membatasi akses ke aplikasi yang berjalan di Lingkungan App Service. Saat aplikasi berada di Lingkungan App Service, Anda dapat mengontrol akses ke aplikasi tersebut dengan menerapkan aturan akses IP.

Untuk mempelajari cara menyiapkan titik akhir layanan, lihat Membuat akses situs privat Azure Functions.

Integrasi jaringan virtual

Integrasi jaringan virtual memungkinkan aplikasi fungsi Anda untuk mengakses sumber daya di dalam jaringan virtual. Azure Functions mendukung dua jenis integrasi jaringan virtual:

  • Tingkat harga komputasi khusus, yang mencakup Dasar, Standar, Premium v2, dan Premium v3.
  • Lingkungan App Service yang disebarkan langsung ke jaringan virtual dengan infrastruktur pendukung khusus dan menggunakan tingkat harga Isolasi dan Isolasi v2.

Fitur integrasi jaringan virtual digunakan dalam tingkat harga komputasi khusus Azure App Service. Jika aplikasi Anda berada di Lingkungan App Service, artinya aplikasi tersebut sudah berada di jaringan virtual dan tidak memerlukan penggunaan fitur integrasi VNet untuk menjangkau sumber di jaringan virtual yang sama. Untuk informasi selengkapnya tentang semua fitur jaringan, lihat Fitur jaringan App Service.

Integrasi jaringan virtual memberi aplikasi Anda akses ke sumber daya di jaringan virtual, tetapi tidak memberikan akses masuk pribadi ke aplikasi Anda dari jaringan virtual. Gunakan akses situs pribadi untuk membuat aplikasi hanya dapat diakses dari jaringan pribadi, seperti dari dalam jaringan Azure Virtual. Integrasi jaringan virtual hanya digunakan untuk melakukan panggilan keluar dari aplikasi Anda ke jaringan virtual. Fitur Integrasi Jaringan Virtual berperilaku berbeda ketika digunakan dengan jaringan virtual di wilayah yang sama dan dengan jaringan virtual di wilayah lain. Fitur integrasi jaringan virtual memiliki dua variasi:

  • Integrasi jaringan virtual regional: Saat Anda terhubung ke jaringan virtual di wilayah yang sama, Anda harus memiliki subnet khusus di jaringan virtual yang Anda integrasikan.
  • Integrasi jaringan virtual yang memerlukan gateway: Saat terhubung langsung ke jaringan virtual di wilayah lain atau ke jaringan virtual klasik di wilayah yang sama, Anda memerlukan gateway Azure Virtual Network yang dibuat di jaringan virtual target.

Fitur integrasi jaringan virtual:

  • Memerlukan tingkat harga App Service Premium Elastis, Premium v3, Premium v2, Premium, atau Dasar atau Standar yang didukung.
  • Mendukung TCP dan UDP.
  • Dapat digunakan dengan aplikasi App Service dan aplikasi fungsi.

Ada beberapa hal yang tidak didukung oleh integrasi jaringan virtual, seperti:

  • Memasang drive.
  • Domain Windows Server Active Directory bergabung.
  • NetBIOS.

Integrasi jaringan virtual yang memerlukan gateway menyediakan akses ke sumber daya hanya dalam jaringan virtual target atau dalam jaringan yang terhubung ke jaringan virtual target dengan peering atau VPN. Integrasi jaringan virtual yang memerlukan gateway tidak menyediakan akses ke sumber daya yang tersedia di seluruh koneksi Azure ExpressRoute atau tidak dapat digunakan dengan titik akhir layanan.

Apa pun versi yang digunakan, integrasi jaringan virtual memberi aplikasi Anda akses ke sumber daya di jaringan virtual, tetapi tidak memberikan akses masuk pribadi ke aplikasi dari jaringan virtual. Akses situs privat mengacu pada membuat aplikasi Anda hanya dapat diakses dari jaringan privat, seperti dari dalam jaringan virtual Azure. Integrasi jaringan virtual hanya digunakan untuk melakukan panggilan keluar dari aplikasi Anda ke jaringan virtual.

Integrasi jaringan virtual di Azure Functions menggunakan infrastruktur bersama dengan aplikasi web App Service. Untuk mempelajari selengkapnya tentang dua jenis integrasi jaringan virtual, lihat:

Untuk mempelajari cara menyiapkan integrasi jaringan virtual, lihat Mengaktifkan Integrasi jaringan virtual.

Aktifkan integrasi jaringan virtual

  1. Di aplikasi fungsi Anda di portal Azure, pilih Jaringan, lalu di bawah Integrasi VNet pilih Klik di sini untuk mengonfigurasi.

  2. Pilih Tambahkan VNet.

    Memilih Integrasi VNet

  3. Daftar tarik-turun berisi semua jaringan virtual Azure Resource Manager di langganan Anda di wilayah yang sama. Pilih jaringan virtual yang ingin Anda integrasikan.

    Memilih VNet

    • Paket Functions Flex Consumption dan Elastic Premium hanya mendukung integrasi jaringan virtual regional. Jika jaringan virtual berada di wilayah yang sama, buat subnet baru atau pilih subnet kosong yang sudah ada.

    • Untuk memilih jaringan virtual di wilayah lain, Anda harus memiliki gateway jaringan virtual yang diprovisikan dengan titik-ke-situs yang diaktifkan. Integrasi jaringan virtual di seluruh wilayah hanya didukung untuk paket Khusus, tetapi peering global berfungsi dengan integrasi jaringan virtual regional.

Selama integrasi, aplikasi Anda dimulai ulang. Setelah integrasi selesai, Anda akan melihat detail di jaringan virtual yang terintegrasi dengan Anda. Secara default, Rutekan Semua diaktifkan, dan semua lalu lintas dirutekan ke jaringan virtual Anda.

Jika hanya ingin lalu lintas privat Anda (lalu lintas RFC1918) yang akan dirutekan, silakan ikuti langkah-langkah di dokumentasi layanan aplikasi.

Integrasi jaringan virtual regional

Menggunakan integrasi jaringan virtual regional memungkinkan aplikasi Anda untuk mengakses:

  • Sumber daya di jaringan virtual yang sama dengan aplikasi Anda.
  • Sumber daya dalam jaringan virtual yang di-peering ke jaringan virtual yang terintegrasi dengan aplikasi Anda.
  • Layanan aman titik akhir layanan.
  • Sumber daya di seluruh koneksi Azure ExpressRoute.
  • Sumber daya di seluruh koneksi serekan, yang mencakup koneksi Azure ExpressRoute.
  • Titik Akhir Privat

Saat menggunakan integrasi jaringan virtual regional, Anda dapat menggunakan fitur jaringan Azure berikut ini:

  • Kelompok keamanan jaringan (NSG): Anda dapat memblokir lalu lintas keluar dengan NSG yang ditempatkan di subnet integrasi Anda. Aturan masuk tidak berlaku karena Anda tidak dapat menggunakan integrasi jaringan virtual untuk menyediakan akses masuk ke aplikasi Anda.
  • Tabel rute (UDR): Anda dapat menempatkan tabel rute pada subnet integrasi untuk mengirim lalu lintas keluar ke tempat yang Anda inginkan.

Catatan

Saat Anda merutekan semua lalu lintas keluar ke jaringan virtual, lalu lintas tersebut tunduk pada NSG dan UDR yang diterapkan ke subnet integrasi Anda. Jika jaringan virtual telah terintegrasi, lalu lintas keluar aplikasi fungsi Anda ke alamat IP publik akan tetap dikirim dari alamat yang tercantum di properti aplikasi Anda, kecuali Anda menyediakan rute yang mengarahkan lalu lintas ke tempat lain.

Integrasi jaringan virtual regional tidak dapat menggunakan port 25.

Untuk paket Konsumsi Flex:

  1. Pastikan bahwa Microsoft.App penyedia sumber daya Azure diaktifkan untuk langganan Anda dengan mengikuti instruksi ini. Delegasi subnet yang diperlukan oleh aplikasi Flex Consumption adalah Microsoft.App/environments.
  2. Delegasi subnet yang diperlukan oleh aplikasi Flex Consumption adalah Microsoft.App/environments. Ini adalah perubahan dari Elastic Premium dan App Service yang memiliki persyaratan delegasi yang berbeda.
  3. Anda dapat merencanakan 40 alamat IP yang akan digunakan paling banyak untuk satu aplikasi fungsi, bahkan jika aplikasi menskalakan di luar 40. Misalnya, jika Anda memiliki lima belas aplikasi fungsi Konsumsi Flex yang akan diintegrasikan VNet ke dalam subnet yang sama, Anda dapat merencanakan untuk 15x40 = 600 alamat IP yang paling banyak digunakan. Batas ini dapat berubah, dan tidak diberlakukan.
  4. Subnet belum dapat digunakan untuk tujuan lain (seperti titik akhir privat atau layanan, atau didelegasikan ke paket atau layanan hosting lainnya). Meskipun Anda dapat berbagi subnet yang sama dengan beberapa aplikasi Konsumsi Flex, sumber daya jaringan akan dibagikan di seluruh aplikasi fungsi ini dan ini dapat menyebabkan satu aplikasi fungsi memengaruhi performa orang lain pada subnet yang sama.

Ada beberapa batasan dalam menggunakan jaringan virtual:

  • Fitur ini tersedia dari Flex Consumption, Elastic Premium, dan App Service Premium V2 dan Premium V3. Ini juga tersedia dalam Standar tetapi hanya dari penyebaran App Service yang lebih baru. Jika Anda menggunakan penyebaran yang lebih lama, Anda hanya dapat menggunakan fitur dari paket App Service Premium V2. Jika Anda ingin memastikan Anda dapat menggunakan fitur tersebut dalam paket App Service Standar, buat aplikasi Anda dalam paket App Service Premium V3. Paket tersebut hanya didukung pada penyebaran terbaru kami. Anda dapat menurunkan skala jika Anda menginginkannya setelah itu.
  • Subnet integrasi hanya dapat digunakan oleh satu paket App Service.
  • Fitur ini tidak dapat digunakan oleh aplikasi paket Terisolasi yang berada di Lingkungan Azure App Service.
  • Fitur ini memerlukan subnet yang tidak digunakan yang merupakan /28 atau lebih besar di jaringan virtual Azure Resource Manager.
  • Aplikasi dan jaringan virtual harus berada di wilayah yang sama.
  • Anda tidak dapat menghapus jaringan virtual dengan aplikasi terintegrasi. Hapus integrasi sebelum Anda menghapus jaringan virtual.
  • Anda dapat memiliki hingga dua integrasi jaringan virtual regional per paket App Service. Beberapa aplikasi dalam paket App Service yang sama dapat menggunakan subnet integrasi yang sama.
  • Anda tidak dapat mengubah langganan aplikasi atau paket saat terdapat aplikasi yang menggunakan integrasi jaringan virtual regional.

Subnet

Integrasi jaringan virtual tergantung pada subnet khusus. Saat Anda menyediakan subjaringan, subnet Azure kehilangan lima IP sejak awal. Untuk paket Elastic Premium dan App Service, satu alamat digunakan dari subnet integrasi untuk setiap instans paket. Saat Anda menskalakan aplikasi ke empat instans, empat alamat akan digunakan. Untuk Konsumsi Flex, ini tidak berlaku dan instans berbagi alamat IP.

Ketika Anda meningkatkan atau menurunkan ukuran skala, ruang alamat yang diperlukan digandakan untuk waktu yang singkat. Ini memengaruhi instans nyata yang tersedia dan yang didukung untuk ukuran subnet tertentu. Tabel berikut menampilkan alamat maksimum yang tersedia per blok CIDR dan efeknya pada skala horizontal:

Ukuran blok CIDR Alamat maks. yang tersedia Skala horizontal maks. (instans)*
/28 11 5
/27 27 13
/26 59 29

*Mengasumsikan bahwa Anda perlu meningkatkan atau menurunkan skala dalam ukuran atau SKU di beberapa titik.

Karena ukuran subnet tidak dapat diubah setelah penugasan, gunakan subnet yang cukup besar untuk mengakomodasi skala apa pun yang mungkin dijangkau aplikasi Anda. Untuk menghindari masalah dengan kapasitas subnet untuk paket Functions Elastic Premium, Anda harus menggunakan /24 dengan 256 alamat untuk Windows dan /26 dengan 64 alamat untuk Linux. Saat Anda membuat subnet di portal Azure sebagai bagian dari integrasi dengan jaringan virtual, ukuran minimum /24 dan /26 masing-masing diperlukan untuk Windows dan Linux.

Saat Anda ingin aplikasi dalam paket lain menjangkau jaringan virtual yang sudah tersambung dengan aplikasi di paket lain, pilih subnet yang berbeda dari yang digunakan oleh integrasi jaringan virtual yang sudah ada sebelumnya.

Fitur ini didukung penuh untuk aplikasi Windows dan Linux, termasuk kontainer kustom. Semua perilaku bertindak sama antara aplikasi Windows dan aplikasi Linux.

Grup keamanan jaringan

Anda bisa menggunakan kelompok keamanan jaringan untuk memblokir lalu lintas masuk dan keluar ke sumber daya di jaringan virtual. Aplikasi yang menggunakan integrasi jaringan virtual regional dapat menggunakan grup keamanan jaringan untuk memblokir lalu lintas keluar ke sumber daya di jaringan virtual atau internet Anda. Untuk memblokir lalu lintas ke alamat publik, Anda harus memiliki integrasi jaringan virtual dengan Rutekan Semua diaktifkan. Aturan masuk di NSG tidak berlaku untuk aplikasi Anda karena integrasi jaringan virtual hanya memengaruhi lalu lintas keluar dari aplikasi Anda.

Untuk mengontrol lalu lintas masuk ke aplikasi Anda, gunakan fitur Pembatasan Akses. NSG yang diterapkan ke subnet integrasi Anda berlaku terlepas dari rute apa pun yang diterapkan ke subnet integrasi Anda. Jika aplikasi fungsi Anda adalah jaringan virtual yang terintegrasi dengan Rutekan Semua diaktifkan, dan Anda tidak memiliki rute apa pun yang memengaruhi lalu lintas alamat publik pada subnet integrasi Anda, semua lalu lintas keluar Anda tetap tunduk pada NSG yang ditetapkan ke subnet integrasi Anda. Saat Rutekan Semua tidak diaktifkan, NSG hanya akan diterapkan pada lalu lintas RFC1918.

Rute

Anda dapat menggunakan tabel rute untuk merutekan lalu lintas keluar dari aplikasi ke mana pun Anda inginkan. Secara default, tabel rute hanya memengaruhi lalu lintas tujuan RFC1918 Anda. Saat Semua Rute diaktifkan, semua panggilan keluar Anda akan terpengaruh. Saat Semua Rute dinonaktifkan, hanya lalu lintas privat (RFC1918) yang akan terpengaruh oleh tabel rute Anda. Rute yang diatur pada subnet integrasi Anda tidak akan memengaruhi balasan ke permintaan aplikasi masuk. Tujuan umum dapat mencakup perangkat firewall atau gateway.

Jika Anda ingin merutekan semua lalu lintas keluar secara lokal, Anda dapat menggunakan tabel rute untuk mengirim semua lalu lintas keluar ke gateway ExpressRoute Anda. Jika Anda merutekan lalu lintas ke gateway, pastikan untuk mengatur rute di jaringan eksternal untuk mengirim kembali balasan.

Rute Protokol Gateway Batas (BGP) juga memengaruhi lalu lintas aplikasi Anda. Jika Anda memiliki rute BGP dari sesuatu seperti gateway ExpressRoute, lalu lintas keluar aplikasi Anda terpengaruh. Secara default, rute BGP hanya memengaruhi lalu lintas tujuan RFC1918 Anda. Ketika aplikasi fungsi Anda adalah jaringan virtual yang terintegrasi dengan Rutekan Semua diaktifkan, semua lalu lintas keluar dapat terpengaruh oleh rute BGP Anda.

Zona privat Azure DNS

Setelah aplikasi terintegrasi dengan jaringan virtual Anda, aplikasi ini menggunakan server DNS yang sama dengan yang dikonfigurasi oleh jaringan virtual Anda dan akan berfungsi dengan zona privat Azure DNS yang ditautkan ke jaringan virtual.

Membatasi akun penyimpanan Anda ke jaringan virtual

Catatan

Untuk menyebarkan aplikasi fungsi dengan cepat dengan titik akhir privat yang diaktifkan di akun penyimpanan, lihat templat berikut: Aplikasi fungsi dengan titik akhir privat Azure Storage.

Saat membuat aplikasi fungsi, Anda harus membuat atau menautkan ke akun tujuan umum Azure Storage yang mendukung penyimpanan Blob, Queue, dan Table. Anda dapat mengganti akun penyimpanan ini dengan akun yang diamankan dengan titik akhir layanan atau titik akhir privat.

Fitur ini didukung untuk semua SKU yang didukung jaringan virtual Windows dan Linux dalam paket Khusus (App Service) dan untuk paket Elastic Premium, serta paket Konsumsi Flex. Paket Konsumsi tidak didukung. Untuk mempelajari cara menyiapkan fungsi dengan akun penyimpanan yang terbatas pada jaringan privat, lihat Membatasi akun penyimpanan Anda ke jaringan virtual.

Menggunakan referensi Key Vault

Anda dapat menggunakan referensi Azure Key Vault untuk menggunakan rahasia dari Azure Key Vault di aplikasi Azure Functions Anda tanpa memerlukan perubahan kode apa pun. Azure Key Vault adalah layanan yang menyediakan manajemen rahasia terpusat, dengan kontrol penuh atas kebijakan akses dan riwayat audit.

Jika integrasi jaringan virtual dikonfigurasi untuk aplikasi, referensi Key Vault dapat digunakan untuk mengambil rahasia dari brankas dengan jaringan terbatas.

Pemicu jaringan virtual (non-HTTP)

Saat ini, Anda dapat menggunakan fungsi pemicu non-HTTP dari dalam jaringan virtual dengan salah satu dari dua cara ini:

  • Jalankan aplikasi fungsi Anda dalam paket Elastic Premium dan aktifkan dukungan pemicu jaringan virtual.
  • Jalankan aplikasi fungsi Anda dalam Paket Flex Consumption, App Service, atau App Service Environment.

Paket Elastic Premium dengan pemicu jaringan virtual

Paket Elastic Premium memungkinkan Anda membuat fungsi yang dipicu oleh layanan di dalam jaringan virtual. Pemicu non-HTTP ini dikenal sebagai pemicu jaringan virtual.

Secara default, pemicu jaringan virtual tidak menyebabkan aplikasi fungsi Anda menskalakan di luar jumlah instans yang telah dihangatkan sebelumnya. Namun, ekstensi tertentu mendukung pemicu jaringan virtual yang menyebabkan aplikasi fungsi Anda menskalakan secara dinamis. Anda dapat mengaktifkan pemantauan skala dinamis ini di aplikasi fungsi Anda untuk ekstensi yang didukung dengan salah satu cara berikut:

  1. Di portal Microsoft Azure, navigasikan ke aplikasi fungsi Anda.

  2. Di bawah Pengaturan pilih Konfigurasi, lalu di tab Pengaturan runtime fungsi atur Pemantauan Skala Runtime ke Aktif.

  3. Pilih Simpan untuk memperbarui konfigurasi aplikasi fungsi dan memulai ulang aplikasi.

VNETToggle

Tip

Mengaktifkan pemantauan pemicu jaringan virtual mungkin berdampak pada performa aplikasi Anda, meskipun dampak ini cenderung sangat kecil.

Dukungan untuk pemantauan skala dinamis pemicu jaringan virtual tidak tersedia dalam runtime Functions versi 1.x.

Ekstensi dalam tabel ini mendukung pemantauan skala dinamis pemicu jaringan virtual. Untuk mendapatkan performa penskalan terbaik, Anda harus meningkatkan ke versi yang juga mendukung penskalakan berbasis target.

Ekstensi (versi minimum) Pemantauan skala runtime saja Dengan penskalakan berbasis target
Microsoft.Azure.WebJobs.Extensions.CosmosDB > 3.0.5 > 4.1.0
Microsoft.Azure.WebJobs.Extensions.DurableTask > 2.0.0 n/a
Microsoft.Azure.WebJobs.Extensions.EventHubs > 4.1.0 > 5.2.0
Microsoft.Azure.WebJobs.Extensions.ServiceBus > 3.2.0 > 5.9.0
Microsoft.Azure.WebJobs.Extensions.Storage > 3.0.10 > 5.1.0*

* Hanya penyimpanan antrean.

Penting

Saat Anda mengaktifkan pemantauan pemicu jaringan virtual, hanya pemicu untuk ekstensi ini yang dapat menyebabkan aplikasi Anda menskalakan secara dinamis. Anda masih dapat menggunakan pemicu dari ekstensi yang tidak ada dalam tabel ini, tetapi tidak akan menyebabkan penskalakan di luar jumlah instans yang telah dihangatkan sebelumnya. Untuk daftar lengkap semua ekstensi pemicu dan pengikatan, lihat Pemicu dan pengikatan.

Paket App Service dan Lingkungan App Service dengan pemicu jaringan virtual

Ketika aplikasi fungsi Anda berjalan dalam paket App Service atau Lingkungan App Service, Anda dapat menggunakan fungsi pemicu non-HTTP. Supaya fungsi terpicu dengan benar, Anda harus terhubung ke jaringan virtual dengan akses ke sumber daya yang telah ditentukan di dalam koneksi pemicu.

Misalnya, Anda ingin mengonfigurasi Azure Cosmos DB untuk menerima lalu lintas hanya dari jaringan virtual. Dalam hal ini, Anda harus menyebarkan aplikasi fungsi Anda dalam paket App Service yang menyediakan integrasi jaringan virtual dengan jaringan virtual tersebut. Integrasi memungkinkan fungsi dipicu oleh sumber daya Azure Cosmos DB tersebut.

Sambungan Hibrida

Koneksi Hibrid adalah fitur dari Azure Relay yang dapat Anda gunakan untuk mengakses sumber daya aplikasi di jaringan lain. Koneksi ini menyediakan akses dari aplikasi Anda ke titik akhir aplikasi. Anda tidak dapat menggunakannya untuk mengakses aplikasi Anda. Koneksi Hibrid tersedia untuk fungsi yang berjalan pada Windows di semua paket kecuali paket Konsumsi.

Seperti yang digunakan dalam Azure Functions, setiap koneksi hibrid berkorelasi dengan satu host TCP dan kombinasi port. Artinya titik akhir koneksi hibrid dapat berada di sistem operasi dan aplikasi apa pun selama Anda mengakses port mendengarkan TCP. Fitur Koneksi Hibrid tidak mengetahui atau peduli protokol aplikasi apa pun atau apa yang Anda akses. Fitur ini hanya menyediakan akses jaringan.

Untuk mempelajari lebih lanjut, lihat dokumentasi App Service untuk Koneksi Hibrid. Langkah-langkah konfigurasi yang sama ini mendukung Azure Functions.

Penting

Koneksi Hibrid hanya didukung pada paket Windows. Linux tidak didukung.

Pembatasan IP keluar

Pembatasan IP keluar tersedia dalam paket Konsumsi Flex, paket Elastic Premium, paket App Service, atau Lingkungan App Service. Anda dapat mengonfigurasi pembatasan keluar untuk jaringan virtual tempat Lingkungan App Service Anda disebarkan.

Saat Anda mengintegrasikan aplikasi fungsi dalam paket Elastic Premium atau paket App Service dengan jaringan virtual, aplikasi masih dapat melakukan panggilan keluar ke internet secara default. Dengan mengintegrasikan aplikasi fungsi Anda dengan jaringan virtual yang mengaktifkan Rutekan Semua, Anda memaksa semua lalu lintas keluar untuk dikirim ke jaringan virtual Anda, tempat aturan kelompok keamanan jaringan dapat digunakan untuk membatasi lalu lintas. Untuk Konsumsi Flex, semua lalu lintas sudah dirutekan melalui jaringan virtual dan Rutekan Semua tidak diperlukan.

Untuk mempelajari cara mengontrol IP keluar menggunakan jaringan virtual, lihat Tutorial: Mengontrol IP keluar Azure Functions dengan jaringan virtual Azure NAT gateway.

Automation

API berikut memungkinkan Anda mengelola integrasi jaringan virtual regional secara terprogram:

  • Azure CLI: Gunakan perintah az functionapp vnet-integration untuk menambahkan, mencantumkan, atau menghapus integrasi jaringan virtual regional.
  • Templat ARM:Integrasi jaringan virtual regional dapat diaktifkan dengan menggunakan templat Azure Resource Manager. Untuk contoh lengkapnya, lihat templat mulai cepat Functions.

Pertimbangan pengujian

Saat menguji fungsi di aplikasi fungsi dengan titik akhir privat, Anda harus melakukan pengujian dari dalam jaringan virtual yang sama, seperti pada komputer virtual (VM) di jaringan tersebut. Untuk menggunakan opsi Kode + Uji di portal dari VM tersebut, Anda perlu menambahkan asal CORS berikut ke aplikasi fungsi Anda:

  • https://functions-next.azure.com
  • https://functions-staging.azure.com
  • https://functions.azure.com
  • https://portal.azure.com

Jika Anda telah membatasi akses ke aplikasi fungsi dengan titik akhir privat atau pembatasan akses lainnya, Anda juga harus menambahkan tag AzureCloud layanan ke daftar yang diizinkan. Untuk memperbarui daftar yang diizinkan:

  1. Navigasi ke aplikasi fungsi Anda dan pilih Pengaturan>Jaringan lalu pilih Konfigurasi>akses masuk Akses jaringan publik.

  2. Pastikan bahwa Akses jaringan publik diatur ke Diaktifkan dari jaringan virtual dan alamat IP tertentu.

  3. Tambahkan aturan di bawah Akses dan aturan situs:

    1. Pilih Service Tag sebagai Jenis pengaturan Sumber dan AzureCloud sebagai Tag Layanan.

    2. Pastikan tindakannya adalah Izinkan, dan atur nama dan prioritas yang Anda inginkan.

Pemecahan Masalah

Fitur ini mudah diatur, tetapi bukan berarti Anda tidak akan menemui masalah. Jika Anda mengalami masalah dalam mengakses titik akhir yang diinginkan, ada beberapa utilitas yang dapat Anda gunakan untuk menguji konektivitas dari konsol aplikasi. Ada dua konsol yang bisa Anda gunakan. Salah satunya adalah konsol Kudu, dan yang lainnya adalah konsol di portal Microsoft Azure. Untuk menjangkau konsol Kudu dari aplikasi Anda, buka Tools>Kudu. Anda juga dapat menjangkau konsol Kudo di [sitename].scm.azurewebsites.net. Setelah situs web dimuat, buka tab Konsol debug. Untuk masuk ke konsol yang di-hosting portal Microsoft Azure dari aplikasi Anda, buka Alat>Konsol.

Alat

Di aplikasi Windows asli, alat ping, nslookup, dan tracert tidak akan berfungsi melalui konsol karena batasan keamanan (berfungsi dikontainer Windows kustom). Untuk mengisi kekosongan, dua alat terpisah ditambahkan. Untuk menguji fungsionalitas DNS, kami menambahkan alat bernama nameresolver.exe. Sintaksnya adalah:

nameresolver.exe hostname [optional: DNS Server]

Anda dapat menggunakan nameresolver untuk memeriksa nama host tempat aplikasi Anda bergantung. Dengan cara ini, Anda dapat menguji apakah Anda memiliki sesuatu yang salah dikonfigurasi dengan DNS Anda atau mungkin tidak memiliki akses ke server DNS Anda. Anda dapat melihat server DNS yang digunakan aplikasi Anda di konsol dengan melihat variabel lingkungan WEBSITE_DNS_SERVER dan WEBSITE_DNS_ALT_SERVER.

Catatan

nameresolver.exe saat ini tidak berfungsi dalam kontainer Windows kustom.

Anda dapat menggunakan alat berikutnya untuk menguji konektivitas TCP ke kombinasi host dan port. Alat ini disebut tcpping dan sintaksnya adalah:

tcpping.exe hostname [optional: port]

Utilitas tcpping memberi tahu apakah Anda dapat menjangkau host dan port tertentu. Alat ini juga dapat menunjukkan kesuksesan hanya jika ada aplikasi yang mendengarkan di kombinasi host dan port, dan ada akses jaringan dari aplikasi Anda ke host dan port yang ditentukan.

Akses debug ke sumber daya virtual yang di-hosting jaringan

Beberapa hal dapat dilakukan agar aplikasi Anda tidak mencapai host dan port tertentu. Sering kali, hal tersebut salah satu dari yang berikut:

  • Firewall ada di jalan. Jika Anda memiliki firewall di jalan, Anda mencapai batas waktu TCP. Batas waktu TCP adalah 21 detik dalam hal ini. Gunakan alat tcpping untuk menguji konektivitas. Batas waktu TCP dapat disebabkan oleh banyak hal di luar firewall, tetapi mulai dari sana.
  • DNS tidak dapat diakses. Batas waktu DNS adalah 3 detik per server DNS. Jika Anda memiliki dua server DNS, batas waktunya adalah 6 detik. Gunakan nameresolve untuk melihat apakah DNS berfungsi. Anda tidak dapat menggunakan nslookup, karena nslookup tidak menggunakan DNS yang dikonfigurasi oleh jaringan virtual Anda. Jika tidak dapat diakses, Anda bisa memiliki firewall atau NSG yang memblokir akses ke DNS atau tidak berfungsi.

Jika item tersebut tidak menyelesaikan masalah Anda, carilah terlebih dahulu hal-hal seperti:

Integrasi jaringan virtual regional

  • Apakah tujuan Anda bukan alamat RFC1918 dan Anda tidak mengaktifkan Rute Semua?
  • Apakah ada jalan keluar pemblokiran NSG dari subnet integrasi Anda?
  • Jika Anda akan melintasi Azure ExpressRoute atau VPN, apakah gateway lokal Anda dikonfigurasi untuk merutekan lalu lintas kembali ke Azure? Jika Anda dapat mencapai titik akhir di jaringan virtual tetapi bukan lokal, periksa rute Anda.
  • Apakah Anda memiliki cukup izin untuk mengatur delegasi pada subnet integrasi? Selama konfigurasi Integrasi jaringan virtual wilayah, subnet integrasi Anda didelegasikan ke Microsoft.Web/serverFarms. UI Integrasi VNet mendelegasikan subnet ke Microsoft.Web/serverFarms secara otomatis. Jika akun Anda tidak memiliki izin jaringan yang memadai untuk mengatur delegasi, Anda memerlukan seseorang yang dapat mengatur atribut pada subnet integrasi Anda untuk mendelegasikan subnet. Untuk mendelegasikan subnet integrasi secara manual, buka UI subnet Azure Virtual Network dan atur delegasi untuk Microsoft.Web/serverFarms.

Integrasi jaringan virtual sesuai persyaratan-gateway

  • Apakah rentang alamat titik-ke-situs berada dalam rentang RFC 1918 (10.0.0.0-10.255.255.255 / 172.16.0.0-172.31.255.255 / 192.168.0.0-192.168.255.255)?
  • Apakah gateway muncul di portal? Jika gateway Anda tidak berfungsi, maka periksa kembali.
  • Apakah sertifikat ditampilkan sebagai sedang disinkronkan, atau apakah Anda menduga bahwa konfigurasi jaringan telah diubah? Jika sertifikat Anda tidak sinkron atau Anda menduga bahwa perubahan dilakukan pada konfigurasi jaringan virtual yang tidak disinkronkan dengan ASP Anda, pilih Sinkronkan Jaringan.
  • Jika Anda akan melintasi VPN, apakah gateway lokal Anda dikonfigurasi untuk merutekan lalu lintas kembali ke Azure? Jika Anda dapat mencapai titik akhir di jaringan virtual tetapi bukan lokal, periksa rute Anda.
  • Apakah Anda mencoba menggunakan gateway koeksistensi yang mendukung titik ke situs dan ExpressRoute? Gateway koeksistensi tidak didukung dengan Integrasi jaringan virtual.

Masalah jaringan penelusuran masalah menjadi tantangannya karena Anda tidak dapat melihat apa yang memblokir akses ke kombinasi host:port tertentu. Beberapa penyebab antara lain:

  • Anda memiliki firewall di host Anda yang mencegah akses ke port aplikasi dari rentang IP titik-ke-situs Anda. Subnet penyeberangan sering kali membutuhkan akses publik.
  • Target host Anda tidak berfungsi.
  • Aplikasi tidak berfungsi.
  • Anda memasukkan IP atau nama host yang salah.
  • Aplikasi Anda mendengarkan di port yang berbeda dari yang Anda harapkan. Anda dapat mencocokkan ID proses dengan port mendengarkan menggunakan "netstat -aon" pada host titik akhir.
  • Grup keamanan jaringan Anda dikonfigurasi sedemikian rupa sehingga untuk mencegah akses ke host aplikasi dan port Anda dari rentang IP titik-ke-situs Anda.

Anda tidak tahu alamat yang sebenarnya digunakan aplikasi Anda. Hal ini dapat berupa alamat apa pun dalam subnet integrasi atau rentang alamat titik-ke-situs, jadi Anda perlu mengizinkan akses dari seluruh rentang alamat.

Langkah-langkah debug lainnya meliputi:

  • Sambungkan ke VM di jaringan virtual Anda dan coba jangkau host:port sumber daya dari sana. Untuk menguji akses TCP, gunakan perintah PowerShell Test-NetConnection. Sintaksnya adalah:
Test-NetConnection hostname [optional: -Port]
  • Munculkan aplikasi pada VM dan uji akses ke host dan port tersebut dari konsol dari aplikasi Anda menggunakan tcpping.

Sumber daya lokal

Jika aplikasi Anda tidak dapat menjangkau sumber daya lokal, periksa apakah Anda dapat menjangkau sumber daya dari jaringan virtual Anda. Gunakan perintah PowerShell Test-NetConnection untuk memeriksa akses TCP. Jika VM Anda tidak dapat menjangkau sumber daya lokal Anda, koneksi VPN atau ExpressRoute Anda mungkin tidak dikonfigurasi dengan benar.

Jika VM yang di-hosting jaringan virtual dapat menjangkau sistem lokal tetapi aplikasi Anda tidak dapat melakukannya, penyebabnya kemungkinan salah satu dari hal berikut:

  • Rute Anda tidak dikonfigurasi dengan rentang alamat subnet atau titik-ke-situs di gateway lokal Anda.
  • Grup keamanan jaringan Anda memblokir akses untuk rentang IP titik-ke-situs.
  • Firewall lokal Anda memblokir lalu lintas dari rentang IP titik-ke-situs.
  • Anda mencoba menjangkau alamat non-RFC 1918 menggunakan fitur Integrasi jaringan virtual wilayah.

Menghapus paket App Service atau aplikasi web sebelum memutuskan sambungan integrasi VNet

Jika Anda menghapus aplikasi web atau paket App Service tanpa memutuskan integrasi VNet terlebih dahulu, Anda tidak akan dapat melakukan operasi pembaruan/penghapusan apa pun di jaringan virtual atau subnet yang digunakan untuk integrasi dengan sumber daya yang dihapus. Delegasi subnet 'Microsoft.Web/serverFarms' akan tetap ditetapkan ke subnet Anda dan akan mencegah operasi pembaruan/penghapusan.

Untuk melakukan pembaruan /hapus subnet atau jaringan virtual lagi, Anda perlu membuat ulang integrasi VNet dan kemudian memutuskan sambungannya:

  1. Buat ulang paket App Service dan aplikasi web (wajib menggunakan nama aplikasi web yang sama persis seperti sebelumnya).
  2. Navigasikan ke bilah 'Jaringan' di aplikasi web dan konfigurasikan integrasi VNet.
  3. Setelah integrasi VNet dikonfigurasi, pilih tombol 'Putuskan Sambungan'.
  4. Hapus paket App Service atau aplikasi web.
  5. Perbarui/Hapus subnet atau jaringan virtual.

Jika Anda masih mengalami masalah dengan integrasi VNet setelah mengikuti langkah-langkah di atas, silakan hubungi Dukungan Microsoft.

Pemecah masalah jaringan

Anda juga dapat menggunakan pemecah masalah Jaringan untuk mengatasi masalah koneksi. Untuk membuka pemecah masalah jaringan, buka aplikasi di portal Azure. Pilih Diagnostik dan selesaikan masalah, lalu cari Pemecah masalah Jaringan.

Masalah koneksi - Ini memeriksa status integrasi jaringan virtual, termasuk memeriksa apakah IP Privat telah ditetapkan ke semua instans paket dan pengaturan DNS. Jika DNS kustom tidak dikonfigurasi, Azure DNS default diterapkan. Pemecah masalah juga memeriksa dependensi aplikasi Fungsi umum termasuk konektivitas untuk Azure Storage dan dependensi pengikatan lainnya.

Cuplikan layar yang memperlihatkan pemecah masalah yang berjalan untuk masalah koneksi.

Masalah konfigurasi - Pemecah masalah ini memeriksa apakah subnet Anda valid untuk Integrasi jaringan virtual.

Cuplikan layar yang memperlihatkan pemecah masalah yang berjalan untuk masalah konfigurasi.

Masalah penghapusan Subnet/VNet - Pemecah masalah ini memeriksa apakah subnet Anda memiliki kunci dan apakah memiliki Tautan Asosiasi Layanan yang tidak digunakan yang mungkin memblokir penghapusan VNet/subnet.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang jaringan dan Azure Functions: