Bagikan melalui


Opsi jaringan Azure Functions

Artikel ini menjelaskan fitur jaringan yang tersedia di seluruh opsi hosting untuk Azure Functions. Opsi jaringan berikut dapat dikategorikan sebagai fitur jaringan masuk dan keluar. Fitur masuk memungkinkan Anda membatasi akses ke aplikasi, sedangkan fitur keluar memungkinkan Anda menghubungkan aplikasi ke sumber daya yang diamankan oleh jaringan virtual dan mengontrol bagaimana lalu lintas keluar dirutekan.

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 Flex Paket Konsumsi Paket premium / Paket khusus ASE AplikasiKontainer 1
Pembatasan IP masuk
Titik Akhir Privat Masuk
Integrasi Virtual Network 2 3
Pembatasan IP keluar
  1. Untuk informasi selengkapnya, lihat Jaringan di lingkungan Azure Container Apps.
  2. Ada pertimbangan khusus saat bekerja dengan pemicu jaringan virtual.
  3. Hanya paket Dedicated/ASE yang mendukung integrasi jaringan virtual yang diperlukan gateway.

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 di tempat, Anda hanya dapat menyebarkan dari dalam jaringan virtual Anda, atau ketika Anda meletakkan alamat IP komputer yang Anda gunakan untuk mengakses portal Microsoft Azure pada 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 Privat untuk fungsi yang dihosting dalam paket Flex Consumption, Elastic Premium, dan Dedicated (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 mengelola titik akhir privat, Anda harus mengetahui alamat titik akhir dan menggunakan catatan A untuk mereferensikan titik akhir yang ingin Anda jangkau.
  • 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. Ikuti langkah-langkah ini untuk mengakses titik akhir layanan aman:

  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, yang Anda aktifkan 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.

Fitur jaringan keluar

Anda dapat menggunakan fitur di bagian ini untuk mengelola koneksi keluar yang dibuat oleh aplikasi Anda.

Integrasi jaringan virtual

Bagian ini merinci fitur yang didukung Functions untuk mengontrol data keluar dari aplikasi Anda.

Integrasi jaringan virtual memberi aplikasi fungsi Anda akses ke sumber daya di jaringan virtual Anda. Setelah terintegrasi, aplikasi Anda merutekan lalu lintas keluar melalui jaringan virtual. Ini memungkinkan aplikasi Anda untuk mengakses titik akhir privat atau sumber daya dengan aturan yang memungkinkan lalu lintas hanya dari subnet tertentu. Saat tujuan adalah alamat IP di luar jaringan virtual, IP sumber akan tetap dikirim dari salah satu alamat yang tercantum di properti aplikasi Anda, kecuali Anda telah mengonfigurasi NAT Gateway.

Azure Functions mendukung dua jenis integrasi jaringan virtual:

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

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.

Pertimbangan untuk paket Konsumsi Flex:

  • Aplikasi dan jaringan virtual harus berada di wilayah yang sama.
  • Pastikan bahwa Microsoft.App penyedia sumber daya Azure diaktifkan untuk langganan Anda dengan mengikuti instruksi ini. Ini diperlukan untuk delegasi subnet.
  • Delegasi subnet yang diperlukan saat berjalan dalam paket Konsumsi Flex adalah Microsoft.App/environments. Ini berbeda dari paket Elastic Premium dan Dedicated (App Service), yang memiliki persyaratan delegasi yang berbeda.
  • 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 15 aplikasi fungsi Konsumsi Flex yang terintegrasi dalam subnet yang sama, Anda harus merencanakan untuk 15x40 = 600 alamat IP yang digunakan paling banyak. Batas ini dapat berubah, dan tidak diberlakukan.
  • 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 dibagikan di seluruh aplikasi fungsi ini, yang dapat menyebabkan satu aplikasi memengaruhi performa orang lain pada subnet yang sama.
  • Anda tidak dapat berbagi subnet yang sama antara lingkungan Container Apps dan aplikasi Konsumsi Flex.
  • Paket Konsumsi Flex saat ini tidak mendukung subnet dengan nama yang berisi karakter garis bawah (_).

Pertimbangan untuk paket Elastic Premium, Dedicated (App Service), dan Container Apps :

  • Fitur ini tersedia untuk 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.
  • Fitur ini tidak dapat digunakan oleh aplikasi paket Terisolasi yang berada di Lingkungan Azure App Service.
  • Aplikasi dan jaringan virtual harus berada di wilayah yang sama.
  • Fitur ini memerlukan subnet yang tidak digunakan yang merupakan /28 atau lebih besar di jaringan virtual Azure Resource Manager.
  • Subnet integrasi hanya dapat digunakan oleh satu paket App Service.
  • 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.
  • Subnet belum dapat digunakan untuk tujuan lain (seperti titik akhir privat atau layanan, atau didelegasikan ke paket Konsumsi Flex atau layanan lain). Meskipun Anda dapat berbagi subnet yang sama dengan beberapa aplikasi dalam paket App Service yang sama, sumber daya jaringan dibagikan di seluruh aplikasi fungsi ini, yang dapat menyebabkan satu aplikasi memengaruhi performa orang lain pada subnet yang sama.
  • Anda tidak dapat menghapus jaringan virtual dengan aplikasi terintegrasi. Hapus integrasi sebelum Anda menghapus jaringan virtual.
  • Anda tidak dapat mengubah langganan aplikasi atau paket saat terdapat aplikasi yang menggunakan integrasi jaringan virtual regional.

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.

    Cuplikan layar halaman integrasi jaringan virtual tempat Anda dapat mengaktifkan integrasi jaringan virtual di aplikasi Anda.

  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 hosting 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 sebelumnya.

    • 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 Anda lebih suka hanya merutekan lalu lintas privat (RFC1918 lalu lintas), ikuti langkah-langkah dalam artikel App Service ini.

Subnet

Integrasi jaringan virtual tergantung pada subnet khusus. Saat Anda menyediakan subnet, Azure mencadangkan lima alamat IP pertama untuk penggunaan internal. Cara alamat IP yang tersisa digunakan tergantung pada paket hosting Anda. Karena ukuran subnet tidak dapat diubah setelah penugasan, gunakan subnet yang cukup besar untuk mengakomodasi skala apa pun yang mungkin dijangkau aplikasi Anda.

Paket Premium dan Terdedikasi Elastis

Dalam paket Elastic Premium dan Dedicated (App Service), setiap instans aplikasi fungsi Anda yang berjalan menggunakan satu alamat IP dari subnet. Saat Anda meningkatkan atau menurunkan skala, ruang alamat yang diperlukan dapat digandakan untuk sementara waktu untuk mengakomodasi transisi. Jika beberapa aplikasi berbagi subnet yang sama, total penggunaan alamat IP adalah jumlah semua instans di seluruh aplikasi tersebut, ditambah penggandaan sementara selama peristiwa penskalaan.

Skenario Konsumsi IP

Scenario Konsumsi Alamat IP
1 aplikasi, 1 instans 1 alamat IP
1 aplikasi, 5 instans 5 alamat IP
1 aplikasi, menskalakan dari 5 hingga 10 instans Hingga 20 alamat IP (sementara, selama operasi skala)
3 aplikasi, masing-masing 5 instance 15 alamat IP

Rekomendasi Rentang CIDR

Ukuran blok CIDR Alamat maks. yang tersedia Skala horizontal maksimum (instans)1
/28 11 5
/27 27 13
/26 59 29
/25 123 612
/24 251 1253

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

2 Meskipun jumlah alamat IP mendukung 61 instans, aplikasi individual pada paket Khusus memiliki maksimum 30 instans.

2 Meskipun jumlah alamat IP mendukung 125 instans, aplikasi individual pada paket Elastic Premium memiliki maksimum 100 instans.

Pertimbangan Tambahan

Untuk aplikasi fungsi pada paket Elastic Premium atau Dedicated:

  • 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 membuat subnet di portal Microsoft Azure sebagai bagian dari integrasi dengan jaringan virtual, ukuran minimum /24 dan /26 diperlukan untuk Windows dan Linux masing-masing.
  • Setiap paket App Service dapat mendukung hingga dua subnet yang dapat digunakan untuk integrasi VNet. Beberapa aplikasi dari satu paket App Service dapat bergabung dengan subnet yang sama, tetapi aplikasi dari paket yang berbeda tidak dapat menggunakan subnet yang sama.

Paket Konsumsi Flex

Dalam paket Konsumsi Flex, lalu lintas jaringan keluar dari instans aplikasi fungsi dirutekan melalui gateway bersama yang didedikasikan untuk subnet. Setiap gateway bersama menggunakan 1 alamat IP dari subnet. Terlepas dari berapa banyak aplikasi yang terintegrasi dengan satu subnet, paling banyak 27 gateway bersama (27 alamat IP) akan digunakan untuk mendukung semua instans. Saat memilih ukuran subnet, yang penting adalah jumlah total instans di semua aplikasi yang terintegrasi dengan subnet. Saat subnet digunakan untuk terlalu banyak instance atau untuk aplikasi yang menjalankan beban kerja intensif I/O, masalah kapasitas jaringan dapat terjadi, seperti peningkatan latensi rata-rata dan kehabisan waktu. Peluasan skala aplikasi tidak akan terpengaruh.

Ukuran subnet /27 (27 alamat IP yang dapat digunakan) direkomendasikan untuk mendukung satu aplikasi fungsi, yang dapat menskalakan hingga maksimum 1.000 instans.

Jika Anda mengharapkan aplikasi fungsi tunggal Anda untuk menskalakan melebihi 1.000 instans atau mengharapkan jumlah instans total beberapa aplikasi fungsi melebihi 1.000 instans, maka gunakan subnet /26 dan hubungi grup produk untuk meminta peningkatan ke jumlah instans maksimum Anda.

Penting

Mengintegrasikan aplikasi fungsi Konsumsi Flex dengan subnet yang ukurannya kurang dari /27 atau mengintegrasikan beberapa aplikasi dengan subnet berukuran /27 akan mengurangi kapasitas jaringan keluar yang tersedia bagi aplikasi-aplikasi tersebut. Jika Anda berencana untuk menerapkannya, ujilah beban aplikasi Anda dengan beban kerja skala produksi untuk memastikan tidak ada kendala kapasitas jaringan.

Skenario Konsumsi IP

Scenario Penggunaan Maksimum Alamat IP
1 aplikasi Hingga 27 alamat IP (/27 ukuran subnet)
2 aplikasi Hingga 27 alamat IP (/27 ukuran subnet)
10 aplikasi Hingga 27 alamat IP (/27 ukuran subnet)

Grup keamanan jaringan

Anda dapat menggunakan grup keamanan jaringan untuk mengontrol lalu lintas antar sumber daya di jaringan virtual Anda. Misalnya, Anda dapat membuat aturan keamanan yang memblokir lalu lintas keluar aplikasi agar tidak menjangkau sumber daya di jaringan virtual Anda atau meninggalkan jaringan. Aturan keamanan ini berlaku untuk aplikasi yang telah mengonfigurasi integrasi jaringan virtual. Untuk memblokir lalu lintas ke alamat publik, Anda harus mengaktifkan integrasi jaringan virtual dan Merutekan Semua. 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 Route All diaktifkan, dan Anda tidak memiliki rute apa pun yang memengaruhi lalu lintas alamat publik pada subnet integrasi Anda, semua lalu lintas keluar Anda masih 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 Rutekan Semua diaktifkan, semua panggilan keluar Anda 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. Saat aplikasi fungsi Anda terintegrasi dengan jaringan virtual dan Route All diaktifkan, seluruh lalu lintas keluar dapat dipengaruhi oleh rute BGP Anda.

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.

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.

automasi

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.

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 saat aplikasi fungsi Anda berjalan di Windows. Aplikasi Linux tidak didukung.

Menyambungkan ke Azure Services melalui jaringan virtual

Integrasi jaringan virtual memungkinkan aplikasi fungsi Anda mengakses sumber daya di jaringan virtual. Bagian ini menjelaskan hal-hal yang harus Anda pertimbangkan saat mencoba menghubungkan aplikasi Anda ke layanan tertentu.

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.

Anda dapat menggunakan akun penyimpanan terbatas jaringan dengan aplikasi fungsi pada paket Flex Consumption, Elastic Premium, dan Dedicated (App Service) ; paket Konsumsi tidak didukung. Untuk paket Elastic Premium dan Dedicated, Anda harus memastikan bahwa perutean berbagi konten privat dikonfigurasi. Untuk mempelajari cara mengonfigurasi aplikasi fungsi Anda dengan akun penyimpanan yang diamankan dengan jaringan virtual, 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 vault yang dibatasi jaringan.

Pemicu jaringan virtual (non-HTTP)

Beban kerja Anda mungkin mengharuskan aplikasi Anda dipicu dari sumber peristiwa yang dilindungi oleh jaringan virtual. Ada dua opsi jika Anda ingin aplikasi Anda menskalakan secara dinamis berdasarkan jumlah peristiwa yang diterima dari sumber pemicu non-HTTP:

  • Jalankan aplikasi fungsi Anda dalam Konsumsi Flex.
  • Jalankan aplikasi fungsi Anda dalam paket Elastic Premium dan aktifkan dukungan pemicu jaringan virtual.

Aplikasi fungsi yang berjalan pada paket Khusus (App Service) tidak diskalakan secara dinamis berdasarkan peristiwa. Sebaliknya, peluasan skala ditentukan oleh aturan skala otomatis yang Anda tentukan.

Paket Elastic Premium dengan pemicu jaringan virtual

Paket Elastic Premium memungkinkan Anda membuat fungsi yang dipicu oleh layanan yang diamankan oleh 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 sudah ada 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

Petunjuk / Saran

Mengaktifkan pemantauan pemicu jaringan virtual dapat memengaruhi performa aplikasi Anda, meskipun dampaknya cenderung 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 sudah ada sebelumnya. Untuk daftar lengkap semua ekstensi pemicu dan pengikatan, lihat Pemicu dan pengikatan.

Paket App Service dan Lingkungan App Service dengan pemicu jaringan virtual

Saat aplikasi fungsi Anda berjalan dalam paket App Service atau Lingkungan App Service, Anda dapat menulis fungsi yang dipicu oleh sumber daya yang diamankan oleh jaringan virtual. Agar fungsi Anda dipicu dengan benar, aplikasi Anda harus terhubung ke jaringan virtual dengan akses ke sumber daya yang ditentukan 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.

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

Saat 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 > 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: