Tutorial: Mengintegrasikan Azure Functions dengan jaringan virtual Azure dengan menggunakan titik akhir privat

Tutorial ini memperlihatkan kepada Anda cara menggunakan Azure Functions untuk menyambungkan ke sumber daya dalam jaringan virtual Azure dengan menggunakan titik akhir privat. Anda membuat aplikasi fungsi baru menggunakan akun penyimpanan baru yang terkunci di belakang jaringan virtual melalui portal Azure. Jaringan virtual menggunakan pemicu antrean Microsoft Azure Service Bus.

Dalam tutorial ini, Anda akan:

  • Buat aplikasi fungsi dalam paket Elastic Premium dengan integrasi jaringan virtual dan titik akhir privat.
  • Membuat sumber daya Azure, seperti Azure Service Bus
  • Mengunci Microsoft Azure Service Bus Anda di belakang titik akhir privat.
  • Menyebarkan aplikasi fungsi yang menggunakan Microsoft Azure Service Bus dan pemicu HTTP.
  • Menguji untuk melihat bahwa aplikasi fungsi Anda aman di dalam jaringan virtual.
  • Membersihan sumber daya.

Membuat aplikasi fungsi dalam paket Premium

Anda membuat aplikasi fungsi C# dalam paket Elastic Premium, yang mendukung kemampuan jaringan seperti integrasi jaringan virtual pada buat bersama dengan skala tanpa server. Tutorial ini menggunakan C# dan Windows. Bahasa lain dan Linux juga didukung.

  1. Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.

  2. Di halaman Baru, pilih Komputasi>Aplikasi Fungsi.

  3. Di halaman Dasar, gunakan pengaturan aplikasi fungsi seperti yang ditentukan dalam tabel di bawah ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan sebagai dasar aplikasi fungsi baru ini dibuat.
    Grup Sumber Daya myResourceGroup Nama untuk grup sumber daya baru tempat Anda membuat aplikasi fungsi.
    Nama Aplikasi Fungsi Nama unik global Nama yang mengidentifikasi aplikasi fungsi baru Anda. Karakter yang valid a-z(tidak peka huruf besar/kecil),0-9, dan -.
    Terbitkan Kode Opsi untuk menerbitkan file kode atau kontainer Docker.
    Tumpukan runtime .NET Tutorial ini menggunakan .NET.
    Versi 6 (LTS) Tutorial ini menggunakan .NET 6.0 yang berjalan dalam proses yang sama dengan host Functions.
    Wilayah Wilayah pilihan Pilih wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.
    Sistem Operasi Windows Tutorial ini menggunakan Windows tetapi juga berfungsi untuk Linux.
    Paket Fungsi Premium Paket hosting yang menentukan bagaimana sumber daya dialokasikan ke aplikasi fungsi Anda. Secara default, saat Anda memilih Premium, paket App Service baru dibuat. Sku dan ukuran default adalahEP1, EP adalah singkatan dari elastis premium . Untuk informasi selengkapnya, lihat daftar SKU Premium.

    Saat Anda menjalankan fungsi JavaScript pada paket Premium, pilih instans yang memiliki lebih sedikit vCPU. Untuk informasi selengkapnya, lihat Memilih paket Premium inti tunggal.
  4. Pilih Berikutnya: Penyimpanan. Pada halaman Penyimpanan , masukkan pengaturan berikut ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Akun penyimpanan Nama unik global Buat akun penyimpanan yang digunakan oleh aplikasi fungsi Anda. Nama akun penyimpanan harus memiliki panjang antara 3 dan 24 karakter. Nama dapat berisi angka dan huruf kecil saja. Anda juga dapat menggunakan akun yang sudah ada yang tidak dibatasi oleh aturan firewall dan memenuhi persyaratan akun penyimpanan. Saat menggunakan Functions dengan akun penyimpanan yang dikunci, akun penyimpanan v2 diperlukan. Ini adalah versi penyimpanan default yang dibuat saat membuat aplikasi fungsi dengan kemampuan jaringan melalui bilah buat.
  5. Pilih Berikutnya: Jaringan. Pada halaman Jaringan , masukkan pengaturan berikut ini.

    Catatan

    Beberapa pengaturan ini tidak terlihat sampai opsi lain dipilih.

    Pengaturan Nilai yang disarankan Deskripsi
    Mengaktifkan akses publik Nonaktif Tolak akses jaringan publik akan memblokir semua lalu lintas masuk kecuali yang berasal dari titik akhir privat.
    Aktifkan injeksi jaringan Aktif Kemampuan untuk mengonfigurasi aplikasi Anda dengan integrasi VNet saat pembuatan muncul di jendela portal setelah opsi ini dialihkan ke Aktif.
    Jaringan Virtual Buat baru Pilih bidang Buat Baru . Di layar pop-out, berikan nama untuk jaringan virtual Anda dan pilih Ok. Opsi untuk membatasi akses masuk dan keluar ke aplikasi fungsi Anda saat dibuat ditampilkan. Anda harus secara eksplisit mengaktifkan integrasi VNet di bagian Akses keluar jendela untuk membatasi akses keluar.

    Masukkan pengaturan berikut untuk bagian Akses masuk . Langkah ini membuat titik akhir privat di aplikasi fungsi Anda.

    Tip

    Untuk terus berinteraksi dengan aplikasi fungsi dari portal, Anda harus menambahkan komputer lokal ke jaringan virtual. Jika Anda tidak ingin membatasi akses masuk, lewati langkah ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Mengaktifkan titik akhir privat Aktif Kemampuan untuk mengonfigurasi aplikasi Anda dengan integrasi VNet saat pembuatan muncul di portal setelah opsi ini diaktifkan.
    Nama titik akhir privat myInboundPrivateEndpointName Nama yang mengidentifikasi titik akhir privat aplikasi fungsi baru Anda.
    Subnet masuk Buat baru Opsi ini membuat subnet baru untuk titik akhir privat masuk Anda. Beberapa titik akhir privat dapat ditambahkan ke subnet tunggal. Berikan Nama Subnet. Blok Alamat Subnet mungkin dibiarkan pada nilai default. Pilih Ok. Untuk mempelajari selengkapnya tentang ukuran subnet, lihat Subnet.
    DNS Azure Private DNS Zone Nilai ini menunjukkan server DNS mana yang digunakan titik akhir privat Anda. Dalam kebanyakan kasus jika Anda bekerja dalam Azure, Zona DNS Privat Azure adalah zona DNS yang harus Anda gunakan karena menggunakan Manual untuk zona DNS kustom telah meningkatkan kompleksitas.

    Masukkan pengaturan berikut untuk bagian Akses keluar . Langkah ini mengintegrasikan aplikasi fungsi Anda dengan jaringan virtual saat pembuatan. Ini juga mengekspos opsi untuk membuat titik akhir privat di akun penyimpanan Anda dan membatasi akun penyimpanan Anda dari akses jaringan saat dibuat. Ketika aplikasi fungsi terintegrasi vnet, semua lalu lintas keluar secara default melewati vnet..

    Pengaturan Nilai yang disarankan Deskripsi
    Mengaktifkan Integrasi VNet Aktif Ini mengintegrasikan aplikasi fungsi Anda dengan VNet saat membuat dan mengarahkan semua lalu lintas keluar melalui VNet.
    Subnet keluar Buat baru Ini membuat subnet baru untuk integrasi VNet aplikasi fungsi Anda. Aplikasi fungsi hanya dapat diintegrasikan VNet dengan subnet kosong. Berikan Nama Subnet. Blok Alamat Subnet mungkin dibiarkan pada nilai default. Jika Anda ingin mengonfigurasinya, pelajari lebih lanjut ukuran Subnet di sini. Pilih Ok. Opsi untuk membuat titik akhir privat Penyimpanan ditampilkan. Untuk menggunakan aplikasi fungsi dengan jaringan virtual, Anda harus menggabungkannya ke subnet.

    Masukkan pengaturan berikut untuk bagian Titik akhir privat penyimpanan . Langkah ini membuat titik akhir privat untuk titik akhir blob, antrean, file, dan tabel di akun penyimpanan Anda saat dibuat. Ini secara efektif mengintegrasikan akun penyimpanan Anda dengan VNet.

    Pengaturan Nilai yang disarankan Deskripsi
    Menambahkan titik akhir privat penyimpanan Aktif Kemampuan untuk mengonfigurasi aplikasi Anda dengan integrasi VNet saat pembuatan ditampilkan di portal setelah opsi ini diaktifkan.
    Nama titik akhir privat myInboundPrivateEndpointName Nama yang mengidentifikasi titik akhir privat akun penyimpanan Anda.
    Subnet titik akhir privat Buat baru Ini membuat subnet baru untuk titik akhir privat masuk Anda di akun penyimpanan. Beberapa titik akhir privat dapat ditambahkan ke subnet tunggal. Berikan Nama Subnet. Blok Alamat Subnet mungkin dibiarkan pada nilai default. Jika Anda ingin mengonfigurasinya, pelajari lebih lanjut ukuran Subnet di sini. Pilih Ok.
    DNS Azure Private DNS Zone Nilai ini menunjukkan server DNS mana yang digunakan titik akhir privat Anda. Dalam kebanyakan kasus jika Anda bekerja dalam Azure, Zona DNS Privat Azure adalah zona DNS yang harus Anda gunakan saat menggunakan Manual untuk zona DNS kustom akan memiliki peningkatan kompleksitas.
  6. Pilih Berikutnya: Pemantauan. Pada halaman Pemantauan, masukkan pengaturan berikut.

    Pengaturan Nilai yang disarankan Deskripsi
    Application Insights Default Membuat sumber daya Application Insights dari nama aplikasi yang sama di wilayah terdekat yang didukung. Perluas pengaturan ini jika Anda perlu mengubah Nama sumber daya baru atau menyimpan data Anda di Lokasi yang berbeda dalam geografi Azure.
  7. Pilih Tinjau + Buat untuk meninjau pilihan konfigurasi aplikasi.

  8. Pada halaman Tinjau + buat, tinjau pengaturan Anda. Lalu pilih Buat untuk membuat dan menyebarkan aplikasi fungsi.

  9. Di sudut kanan atas portal, pilih ikon Pemberitahuan dan cermati pesan Deployment berhasil.

  10. Pilih Buka sumber daya untuk melihat aplikasi fungsi baru Anda. Anda juga dapat memilih Sematkan ke dasbor. Penyematan ini memudahkan Anda untuk kembali ke sumber daya aplikasi fungsi ini dari dasbor Anda.

Selamat! Anda berhasil membuat aplikasi fungsi premium Anda.

Catatan

Beberapa penyebaran mungkin gagal membuat titik akhir privat di akun penyimpanan dengan kesalahan 'StorageAccountOperationInProgress'. Kegagalan ini terjadi meskipun aplikasi fungsi itu sendiri berhasil dibuat. Saat Anda mengalami kesalahan seperti itu, hapus aplikasi fungsi dan coba lagi operasi. Anda dapat membuat titik akhir privat di akun penyimpanan secara manual.

Membuat Microsoft Azure Service Bus

Selanjutnya, Anda membuat instans Bus Layanan yang digunakan untuk menguji fungsionalitas kemampuan jaringan aplikasi fungsi Anda dalam tutorial ini.

  1. Pada menu portal Microsoft Azure atau halaman Beranda, pilih Buat sumber daya.

  2. Pada halaman Baru, cari Microsoft Azure Service Bus. Kemudian pilih Buat.

  3. Pada tab Dasar, gunakan tabel berikut ini untuk mengonfigurasi pengaturan Microsoft Azure Service Bus. Semua pengaturan lain dapat menggunakan nilai default.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat sumber daya Anda dibuat.
    Grup sumber daya myResourceGroup Grup sumber daya yang Anda buat dengan aplikasi fungsi Anda.
    Nama namespace myServiceBus Nama instans Azure Service Bus tempat titik akhir privat diaktifkan.
    Lokasi myFunctionRegion Wilayah tempat Anda membuat aplikasi fungsi.
    Tingkat harga Premium Pilih tingkat ini untuk menggunakan titik akhir privat dengan Azure Service Bus.
  4. Pilih Tinjau + buat. Setelah validasi selesai, pilih Buat.

Mengunci Microsoft Azure Service Bus

Buat titik akhir privat untuk mengunci Microsoft Azure Service Bus Anda:

  1. Di Microsoft Azure Service Bus baru Anda, di menu di sebelah kiri, pilih Jaringan.

  2. Pada tab Koneksi titik akhir privat, pilih Titik akhir privat.

    Cuplikan layar cara masuk ke titik akhir privat untuk Microsoft Azure Service Bus.

  3. Pada tab Dasar, gunakan pengaturan titik akhir privat yang diperlihatkan dalam tabel berikut ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat sumber daya Anda dibuat.
    Grup sumber daya myResourceGroup Grup sumber daya yang Anda buat dengan aplikasi fungsi Anda.
    Nama sb-endpoint Nama titik akhir privat untuk bus layanan.
    Wilayah myFunctionRegion Pilih wilayah tempat Anda membuat akun penyimpanan.
  4. Pada tab Sumber Daya, gunakan pengaturan titik akhir privat yang diperlihatkan dalam tabel berikut ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat sumber daya Anda dibuat.
    Jenis Sumber Daya Microsoft.ServiceBus/namespaces Jenis sumber daya untuk Microsoft Azure Service Bus.
    Sumber daya myServiceBus Microsoft Azure Service Bus yang Anda buat sebelumnya dalam tutorial.
    Subresource target ruang nama Titik akhir privat yang digunakan untuk namespace layanan dari Azure Service Bus.
  5. Pada tab Virtual Network, untuk pengaturan Subnet, pilih default.

  6. Pilih Tinjau + buat. Setelah validasi selesai, pilih Buat.

  7. Setelah titik akhir privat dibuat, kembali ke bagian Jaringan dari namespace Bus Layanan Anda dan periksa tab Akses Publik .

  8. Pastikan Jaringan terpilih dipilih.

  9. Pilih + Tambahkan jaringan virtual yang sudah ada untuk menambahkan jaringan virtual yang baru dibuat.

  10. Pada tab Tambahkan jaringan, gunakan pengaturan jaringan dari tabel berikut ini:

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat sumber daya Anda dibuat.
    Jaringan virtual myVirtualNet Nama jaringan virtual tempat aplikasi fungsi Anda terhubung.
    Subnet fungsi Nama subnet tempat aplikasi fungsi Anda terhubung.
  11. Pilih Tambahkan alamat IP klien Anda untuk memberikan akses namespace bagi IP klien Anda saat ini.

    Catatan

    Mengizinkan alamat IP klien Anda diperlukan untuk mengaktifkan portal Microsoft Azure guna memublikasikan pesan ke antrean di bagian lain dalam tutorial ini.

  12. Pilih Aktifkan untuk mengaktifkan titik akhir layanan.

  13. Pilih Tambahkan untuk menambahkan subnet dan jaringan virtual terpilih ke aturan firewall untuk Microsoft Azure Service Bus.

  14. Pilih Simpan untuk menyimpan aturan firewall yang diperbarui.

Sumber daya dalam jaringan virtual sekarang dapat berkomunikasi dengan Microsoft Azure Service Bus menggunakan titik akhir privat.

Buat antrean

Buat antrean tempat pemicu Azure Functions Service Bus Anda mendapatkan peristiwa:

  1. Di Microsoft Azure Service Bus Anda, di menu di sebelah kiri, pilih Antrean.

  2. Pilih Antrean. Untuk keperluan tutorial ini, berikan nama antrean sebagai nama antrean baru.

    Cuplikan layar cara membuat antrean Microsoft Azure Service Bus.

  3. Pilih Buat.

Mendapatkan string koneksi Microsoft Azure Service Bus

  1. Di Microsoft Azure Service Bus Anda, di menu di sebelah kiri, pilih Kebijakan akses bersama.

  2. Pilih RootManageSharedAccessKey. Salin dan simpan String Koneksi Utama. Anda memerlukan string koneksi ini saat mengonfigurasi pengaturan aplikasi.

    Cuplikan layar cara mendapatkan string koneksi Bus Layanan.

Mengonfigurasi pengaturan aplikasi fungsi Anda

  1. Di aplikasi fungsi Anda, di menu di sebelah kiri, pilih Konfigurasi.

  2. Untuk menggunakan aplikasi fungsi Anda dengan jaringan virtual dan bus layanan, perbarui pengaturan aplikasi yang diperlihatkan dalam tabel berikut. Untuk menambahkan atau mengedit pengaturan, pilih + Pengaturan aplikasi baru atau ikon Edit di kolom paling kanan tabel pengaturan aplikasi. Setelah selesai, pilih Simpan.

    Pengaturan Nilai yang disarankan Deskripsi
    SERVICEBUS_CONNECTION myServiceBusConnectionString Buat pengaturan aplikasi ini untuk string koneksi Microsoft Azure Service Bus Anda. String koneksi penyimpanan ini berasal dari bagian Mendapatkan string koneksi Microsoft Azure Service Bus.
    WEBSITE_CONTENTOVERVNET 1 Buat pengaturan aplikasi ini. Nilai 1 membuat aplikasi fungsi Anda dapat menskalakan saat akun penyimpanan Anda dibatasi ke jaringan virtual.
  3. Karena Anda menggunakan paket hosting Elastic Premium, Dalam tampilan Konfigurasi , pilih tab Pengaturan runtime fungsi . Atur Pemantauan Skala Runtime ke Aktif. Lalu pilih Simpan. Penskalaan yang digerakkan oleh runtime membuat Anda dapat menghubungkan fungsi pemicu non-HTTP ke layanan yang berjalan di dalam jaringan virtual Anda.

    Cuplikan layar cara mengaktifkan penskalaan yang digerakkan oleh runtime untuk Azure Functions.

Catatan

Penskalaan runtime tidak diperlukan untuk aplikasi fungsi yang dihosting dalam paket App Service Khusus.

Menyebarkan pemicu Microsoft Azure Service Bus dan pemicu HTTP

Catatan

Mengaktifkan titik akhir privat pada aplikasi fungsi juga membuat situs Manajer Kontrol Sumber (SCM) tidak dapat diakses secara publik. Instruksi berikut memberikan petunjuk penyebaran menggunakan Pusat Penyebaran dalam aplikasi fungsi. Atau, gunakan penyebaran zip atau agen yang dihost sendiri yang disebarkan ke subnet di jaringan virtual.

  1. Di GitHub, buka repositori sampel berikut. Repositori berisi satu aplikasi fungsi dan dua fungsi, satu pemicu HTTP, dan satu pemicu antrean Microsoft Azure Service Bus.

    https://github.com/Azure-Samples/functions-vnet-tutorial

  2. Di bagian atas halaman, pilih Garpu untuk membuat garpu repositori ini di akun atau organisasi GitHub Anda sendiri.

  3. Di aplikasi fungsi Anda, di menu di sebelah kiri, pilih Pusat Penyebaran. Lalu pilih Pengaturan.

  4. Pada tab Pengaturan, gunakan pengaturan penyebaran yang diperlihatkan dalam tabel berikut ini.

    Pengaturan Nilai yang disarankan Deskripsi
    Sumber GitHub Anda harus membuat repositori GitHub untuk kode sampel di langkah 2.
    Organisasi myOrganisasi Organisasi tempat repositori Anda diperiksa. Biasanya akun Anda.
    Repositori functions-vnet-tutorial Repositori yang bercabang dari https://github.com/Azure-Samples/functions-vnet-tutorial.
    Cabang utama Cabang utama repositori yang Anda buat.
    Tumpukan runtime .NET Kode sampel ada di C#.
    Versi .NET Core 3.1 Versi runtime.
  5. Pilih Simpan.

    Cuplikan layar cara menggunakan kode Azure Functions melalui portal.

  6. Penyebaran awal Anda mungkin memakan waktu beberapa menit. Saat aplikasi Anda berhasil diterapkan, pada tab Log, Anda akan melihat pesan status Sukses (Aktif) . Jika perlu, refresh halaman.

Selamat! Anda berhasil menerapkan aplikasi fungsi sampel.

Menguji aplikasi fungsi Anda yang dikunci

  1. Di aplikasi fungsi Anda, di menu di sebelah kiri, pilih Fungsi.

  2. Pilih ServiceBusQueueTrigger.

  3. Di menu di sebelah kiri, pilih Pantau.

Anda melihat bahwa Anda tidak dapat memantau aplikasi Anda. Browser Anda tidak memiliki akses ke jaringan virtual, sehingga tidak dapat langsung mengakses sumber daya dalam jaringan virtual.

Berikut adalah cara alternatif untuk memantau fungsi Anda dengan menggunakan Application Insights:

  1. Di aplikasi fungsi Anda, di menu di sebelah kiri, pilih Application Insights. Kemudian pilih Lihat data Application Insights.

    Cuplikan layar cara melihat aplikasi insight untuk aplikasi fungsi.

  2. Di menu di sebelah kiri, pilih Metrik langsung.

  3. Buka tab baru. Di Microsoft Azure Service Bus Anda, di menu di sebelah kiri, pilih Antrean.

  4. Pilih antrean Anda.

  5. Di menu di sebelah kiri, pilih Penjelajah Bus Layanan. Di bawah Kirim, untukTipe Konten, pilih Teks/Biasa. Lalu masukkan pesan.

  6. Pilih Kirim untuk mengirim pesan.

    Cuplikan layar cara mengirim pesan Microsoft Azure Service Bus dengan menggunakan portal.

  7. Pada tab Metrik langsung, Anda akan melihat bahwa pemicu antrean Microsoft Azure Service Bus Anda telah dipicu. Jika belum, ulangi pengiriman pesan dari Penjelajah Bus Layanan.

    Cuplikan layar cara melihat pesan dengan menggunakan metrik langsung untuk aplikasi fungsi.

Selamat! Anda berhasil menguji penyiapan aplikasi fungsi dengan titik akhir privat.

Memahami zona DNS privat

Anda telah menggunakan titik akhir privat untuk menyambungkan ke sumber daya Azure. Anda menyambungkan ke alamat IP privat, alih-alih titik akhir publik. Layanan Azure yang sudah ada dikonfigurasi untuk menggunakan DNS yang sudah ada untuk menyambungkan ke titik akhir publik. Anda harus mengganti konfigurasi DNS untuk tersambung ke titik akhir privat.

Zona DNS privat dibuat untuk setiap sumber daya Azure yang dikonfigurasi dengan titik akhir privat. Catatan DNS dibuat untuk setiap alamat IP privat yang terkait dengan titik akhir privat.

Zona DNS berikut ini dibuat dalam tutorial ini:

  • privatelink.file.core.windows.net
  • privatelink.blob.core.windows.net
  • privatelink.servicebus.windows.net
  • privatelink.azurewebsites.net

Membersihkan sumber daya

Dalam langkah-langkah sebelumnya, Anda membuat sumber daya Azure dalam grup sumber daya. Jika Anda tidak berharap membutuhkan sumber daya ini di masa mendatang, Anda dapat menghapusnya dengan menghapus grup sumber daya.

Pada beranda portal Microsoft Azure atau halaman Beranda, pilih Grup sumber daya. Setelah itu, pada halaman Grup sumber daya, pilih myResourceGroup.

Pada halaman myResourceGroup, pastikan sumber daya yang tercantum adalah sumber daya yang ingin Anda hapus.

Pilih Hapus grup sumber daya, ketik myResourceGroup di kotak teks untuk mengonfirmasi, lalu pilih Hapus.

Langkah berikutnya

Dalam tutorial ini, Anda membuat aplikasi fungsi Premium, akun penyimpanan, dan Microsoft Azure Service Bus. Anda mengamankan semua sumber daya ini di belakang titik akhir privat.

Gunakan tautan berikut ini untuk mempelajari selengkapnya tentang opsi jaringan Azure Functions dan titik akhir privat: