Tutorial: Mengontrol IP keluar Azure Functions dengan gateway NAT jaringan virtual Azure

Terjemahan alamat jaringan virtual (NAT) menyederhanakan konektivitas internet khusus keluar untuk jaringan virtual. Saat dikonfigurasi pada subnet, semua konektivitas keluar menggunakan alamat IP publik statis yang ditentukan. NAT dapat berguna untuk aplikasi yang perlu menggunakan layanan pihak ketiga yang menggunakan daftar izin alamat IP sebagai langkah keamanan. Untuk mempelajari selengkapnya, lihat Apa itu Azure NAT Gateway?.

Tutorial ini menunjukkan kepada Anda cara menggunakan gateway NAT untuk merutekan lalu lintas keluar dari fungsi yang dipicu HTTP. Dengan fungsi ini, Anda dapat memeriksa alamat IP keluarnya sendiri. Selama tutorial ini, Anda akan:

  • Membuat jaringan virtual
  • Membuat aplikasi fungsi paket Premium
  • Membuat alamat IP publik
  • Membuat gateway NAT
  • Mengonfigurasikan aplikasi fungsi untuk merutekan lalu lintas keluar melalui gateway NAT

Topologi

Diagram berikut menunjukkan arsitektur solusi yang Anda buat:

UI untuk integrasi gateway NAT

Fungsi yang berjalan dalam paket Premium memiliki kemampuan hosting yang sama seperti aplikasi web di Azure App Service, yang mencakup fitur Integrasi VNet. Untuk mempelajari selengkapnya tentang Integrasi VNet, termasuk pemecahan masalah dan konfigurasi lanjutan, lihat Mengintegrasikan aplikasi Anda dengan jaringan virtual Azure.

Prasyarat

Untuk tutorial ini, Anda perlu memahami pengalamatan IP dan subnet. Anda dapat memulai dengan artikel ini yang mencakup dasar-dasar penentuan alamat dan subnet. Lebih banyak artikel dan video tersedia secara online.

Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum memulai.

Jika Anda telah menyelesaikan tutorial ​​mengintegrasikan Fungsi dengan jaringan virtual Azure, Anda dapat langsung ke Membuat fungsi pemicu HTTP.

Membuat jaringan virtual

  1. Dari menu portal Microsoft Azure, pilih Buat sumber daya. Dari Azure Marketplace, pilih Jaringan>Jaringan virtual.

  2. Di Buat jaringan virtual, masukkan atau pilih pengaturan sesuai ketentuan dalam tabel berikut:

    Pengaturan Nilai
    Langganan Pilih langganan Anda.
    Grup sumber daya Pilih Buat baru, masukkan myResourceGroup, lalu pilih OK.
    Nama Masukkan myResourceGroup-vnet.
    Lokasi Pilih US Timur.
  3. Pilih Selanjutnya: Alamat IP, dan untuk ruang alamat IPv4, masukkan 10.10.0.0/16.

  4. Pilih Tambahkan subnet, lalu masukkan Tutorial-Net untuk Nama subnet dan 10.10.1.0/24 untuk Rentang alamat subnet.

    Tab Alamat IP untuk membuat vnet

  5. Pilih Tambahkan, lalu pilih Ulasan + buat. Biarkan yang lain berada dalam setelan default dan pilih Buat.

  6. Di Buat jaringan virtual, pilih Buat.

Selanjutnya, Anda membuat aplikasi fungsi di paket Premium. Paket ini menyediakan skala tanpa server sambil mendukung integrasi jaringan virtual.

Buat aplikasi fungsi dalam paket Premium

Tutorial ini menunjukkan kepada Anda cara membuat aplikasi fungsi Anda di paket Premium. Fungsionalitas yang sama juga tersedia saat menggunakan paket Khusus (Azure App Service).

Catatan

Untuk pengalaman terbaik dalam tutorial ini, pilih .NET untuk tumpukan runtime dan pilih Windows untuk sistem operasi. Selain itu, buat aplikasi fungsi Anda di wilayah yang sama dengan jaringan virtual Anda.

  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 ditentukan dalam tabel di bawah:

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat aplikasi fungsi baru ini dibuat.
    Grup Sumber Daya myResourceGroup Nama untuk grup sumber daya baru tempat membuat aplikasi fungsi Anda.
    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 Bahasa pilihan Pilih runtime yang mendukung bahasa pemrograman fungsi favorit Anda. Pengeditan dalam portal saat ini tidak didukung untuk Pengembangan Python.
    Wilayah Wilayah pilihan Pilih wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.
  4. Pilih Berikutnya: Hosting. Pada halaman Hosting, masukkan pengaturan berikut:

    Pengaturan Nilai yang disarankan Deskripsi
    Akun penyimpanan Nama unik global Buat akun penyimpanan yang digunakan oleh aplikasi fungsi Anda. Nama akun penyimpanan harus sepanjang 3 dan 24 karakter dan dapat mengandung angka dan huruf kecil saja. Anda juga dapat menggunakan akun yang sudah ada, yang harus memenuhi persyaratan akun penyimpanan.
    Sistem Operasi Sistem operasi yang dipilih Sistem operasi telah dipilih untuk Anda berdasarkan pilihan tumpukan runtime, tetapi Anda dapat mengubah pengaturan jika diperlukan. Python hanya didukung di Linux. Pengeditan dalam portal hanya didukung di Windows.
    Paket Premium Paket hosting yang menentukan bagaimana sumber daya dialokasikan ke aplikasi fungsi Anda. Pilih Premium. Secara default, paket Azure App Service baru dibuat. Sku dan ukuran default adalahEP1, di mana EP adalah singkatan dari premi elastis. Untuk mempelajari 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.
  5. 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. Dengan memperluas pengaturan ini, Anda bisa mengubah Nama sumber daya baru atau memilih Lokasi lain di geografi Azure untuk menyimpan data Anda.
  6. Pilih Tinjau + Buat untuk meninjau pilihan konfigurasi aplikasi.

  7. Pada halaman Tinjau + buat, tinjau pengaturan Anda, lalu pilih Buat untuk menyediakan dan menerapkan aplikasi fungsi.

  8. Pilih ikon Pemberitahuan di sudut kanan atas portal dan lihat pesan Deployment berhasil.

  9. 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.

    Pemberitahuan penyebaran

Hubungkan aplikasi fungsi Anda ke jaringan virtual

Sekarang, Anda dapat menghubungkan aplikasi fungsi Anda ke jaringan virtual.

  1. Di aplikasi fungsi Anda, pilih Jaringan di menu sebelah kiri, lalu di bagian Integrasi VNet, pilih Klik di sini untuk mengonfigurasi.

    Pilih jaringan di aplikasi fungsi

  2. Di halaman Integrasi VNET, pilih Tambahkan VNet.

  3. Di Status Fitur Jaringan, gunakan setelan pada tabel di bawah gambar:

    Tentukan jaringan virtual aplikasi fungsi

    Pengaturan Nilai yang disarankan Deskripsi
    Jaringan Maya MyResourceGroup-vnet Jaringan virtual ini adalah yang Anda buat sebelumnya.
    Subnet Buat Subnet Baru Buat subnet di jaringan virtual yang nantinya akan digunakan oleh aplikasi fungsi Anda. Integrasi VNet harus dikonfigurasi agar dapat menggunakan subnet kosong.
    Nama subnet Function-Net Nama subnet baru.
    Blok alamat jaringan maya 10.10.0.0/16 Anda seharusnya hanya menetapkan satu blok alamat.
    Blok Alamat Subnet 10.10.2.0/24 Ukuran subnet membatasi jumlah total instans yang menjadi target peningkatan skala aplikasi fungsi paket Premium Anda. Contoh ini menggunakan /24subnet dengan 254 alamat host yang tersedia. Subnet ini terlalu banyak, tetapi mudah dihitung.
  4. Pilih OK untuk menambahkan subnet. Tutup halaman Integrasi VNet dan Status Fitur Jaringan untuk kembali ke halaman aplikasi fungsi Anda.

Aplikasi fungsi sekarang dapat mengakses jaringan virtual. Ketika konektivitas diaktifkan, vnetrouteallenabled pengaturan situs diatur ke 1. Anda harus memiliki pengaturan situs ini atau pengaturan aplikasi warisan WEBSITE_VNET_ROUTE_ALL yang diatur ke 1.

Selanjutnya, Anda akan menambahkan fungsi yang dipicu HTTP ke aplikasi fungsi.

Membuat fungsi pemicu HTTP

  1. Dari menu kiri jendela Fungsi, pilih Fungsi, lalu pilih Tambah dari menu atas.

  2. Dari jendela Fungsi Baru, pilih Pemicu Http dan terima nama default untuk Fungsi baru, atau masukkan nama baru.

  3. Dalam Kode + Uji, ganti kode skrip C# (.csx) yang dihasilkan templat dengan kode berikut:

    #r "Newtonsoft.Json"
    
    using System.Net;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Primitives;
    using Newtonsoft.Json;
    
    public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
    
        var client = new HttpClient();
        var response = await client.GetAsync(@"https://ifconfig.me");
        var responseMessage = await response.Content.ReadAsStringAsync();
    
        return new OkObjectResult(responseMessage);
    }
    

    Kode ini memanggil situs web eksternal yang mengembalikan alamat IP pemanggil, yang dalam hal ini adalah fungsi ini. Metode ini memungkinkan Anda dengan mudah menentukan alamat IP keluar yang digunakan oleh aplikasi fungsi Anda.

Sekarang Anda siap untuk menjalankan fungsi dan memeriksa IP keluar saat ini.

Verifikasi IP keluar saat ini

Sekarang, Anda dapat menjalankan fungsi tersebut. Akan tetapi, cek masuk portal terlebih dahulu dan lihat IP keluar apa yang sedang digunakan oleh aplikasi fungsi.

  1. Di aplikasi fungsi Anda, pilih Properti dan tinjau bidang Alamat IP Keluar.

    Lihat alamat IP keluar pada aplikasi fungsi

  2. Sekarang, kembali ke fungsi pemicu HTTP Anda, pilih Kode + Uji lalu Uji/Jalankan.

    Menguji fungsi

  3. Pilih Jalankan untuk mengeksekusi fungsi, lalu beralihlah ke Output.

    Output pengujian fungsi

  4. Verifikasi bahwa alamat IP dalam isi respons HTTP adalah salah satu nilai dari alamat IP keluar yang Anda lihat sebelumnya.

Sekarang, Anda dapat membuat IP publik dan menggunakan gateway NAT untuk mengubah alamat IP keluar ini.

Membuat IP publik

  1. Dari grup sumber daya Anda, pilih Tambahkan, cari di Azure Marketplace untuk alamat IP Publik, dan pilih Buat. Gunakan pengaturan dalam tabel di bawah gambar:

    Membuat alamat IP publik

    Pengaturan Nilai yang disarankan
    Versi IP IPv4
    SKU Standard
    Tingkatan Wilayah
    Nama IP Keluar
    Langganan memastikan langganan Anda ditampilkan
    Grup sumber daya myResourceGroup (atau nama yang Anda tetapkan ke grup sumber daya Anda)
    Lokasi US Timur (atau lokasi yang Anda tetapkan ke sumber daya lainnya)
    Zona Ketersediaan Tanpa Zona
  2. Pilih Buat untuk mengirimkan penyebaran.

  3. Setelah penyebaran selesai, navigasi ke sumber daya Alamat IP Publik yang baru Anda buat dan lihat Alamat IP di Gambaran Umum.

    Menampilkan Alamat IP publik

Membuat gateway NAT

Sekarang, mari kita membuat gateway NAT. Ketika Anda mulai dengan tutorial jaringan virtual sebelumnya, Function-Netadalah nama subnet yang disarankan danMyResourceGroup-vnet merupakan nama jaringan virtual yang disarankan dalam tutorial itu.

  1. Dari grup sumber daya Anda, pilih Tambahkan, cari di Azure Marketplace untuk gateway NAT, dan pilih Buat. Gunakan pengaturan dalam tabel di bawah gambar untuk mengisi tab Dasar:

    Membuat gateway NAT

    Pengaturan Nilai yang disarankan
    Langganan Langganan Anda
    Grup sumber daya myResourceGroup (atau nama yang Anda tetapkan ke grup sumber daya Anda)
    Nama gateway NAT myNatGateway
    Wilayah US Timur (atau lokasi yang Anda tetapkan ke sumber daya lainnya)
    Zona Ketersediaan Tidak ada
  2. Pilih Berikutnya: IP keluar. Di bidang Alamat IP publik, pilih alamat IP publik yang dibuat sebelumnya. Biarkan Awalan IP Publik tidak dipilih.

  3. Pilih Berikutnya: Subnet. Pilih sumber daya myResourceGroup-vnet di bidang jaringan Virtual dan subnet Function-Net.

    pilih subnet

  4. Pilih Tinjau + Buat lalu Buat untuk mengirimkan penyebaran.

Setelah penyebaran selesai, gateway NAT siap merutekan lalu lintas dari subnet aplikasi fungsi Anda ke Internet.

Verifikasi IP keluar baru

Ulangi langkah-langkah sebelumnya untuk menjalankan fungsi lagi. Anda sekarang akan melihat alamat IP keluar yang Anda konfigurasi dalam NAT yang ditunjukkan dalam output fungsi.

Bersihkan sumber daya

Anda membuat sumber daya untuk menyelesaikan tutorial ini. Anda akan ditagih untuk sumber daya ini, tergantung pada status akun dan harga layanan Anda. Untuk menghindari timbulnya biaya tambahan, hapus sumber daya jika Anda tidak lagi membutuhkannya.

  1. Di portal Azure, buka halaman Gambaran Umum.

    Untuk masuk ke halaman itu dari halaman aplikasi fungsi, pilih tabGambaran Umum lalu pilih tautan di bawah Grup sumber daya.

    Cuplikan layar yang menunjukkan pilih grup sumber daya yang akan dihapus dari halaman aplikasi fungsi.

    Untuk masuk ke halaman itu dari dasbor, pilih Grup sumber daya, lalu pilih grup sumber daya yang Anda gunakan untuk artikel ini.

  2. Di halamanGrup sumber daya, tinjau daftar sumber daya yang disertakan, dan pastikan bahwa sumber daya tersebut adalah sumber daya yang ingin Anda hapus.

  3. Pilih Hapus grup sumber daya, dan ikuti instruksinya.

    Penghapusan mungkin memakan waktu beberapa menit. Setelah selesai, pemberitahuan akan muncul selama beberapa detik. Anda juga dapat memilih ikon bel di bagian atas halaman untuk melihat pemberitahuan.

Langkah berikutnya