Bagikan melalui


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

Catatan

Anda tidak dapat menggunakan gateway NAT untuk merutekan lalu lintas keluar ke akun Azure Storage di wilayah yang sama dengan aplikasi fungsi Anda. Layanan yang disebarkan di wilayah yang sama dengan akun penyimpanan Anda menggunakan alamat IP Azure privat untuk komunikasi. Untuk informasi selengkapnya, lihat Tanya jawab umum NAT Gateway.

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. Banyak lagi artikel dan video yang tersedia secara online.

Jika Anda tidak memiliki langganan Azure, buat 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. Pada 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 AS 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 Anda menghosting aplikasi Anda dalam paket Konsumsi Flex atau dalam paket Khusus (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 bawah Pilih opsi hosting, pilih Functions Premium>Select untuk membuat aplikasi Anda dalam paket Premium. Dalam opsi hosting tanpa server ini, Anda hanya membayar untuk waktu fungsi Anda berjalan. Untuk mempelajari selengkapnya tentang paket hosting yang berbeda, lihat Gambaran Umum paket.

  4. 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 secara global Nama yang akan mengidentifikasi aplikasi fungsi baru Anda. Karakter yang valid a-z (peka huruf besar dan kecil), 0-9, dan -. Untuk menjamin nama aplikasi unik, Anda dapat secara opsional mengaktifkan Nama host default unik aman, yang saat ini dalam pratinjau.
    Apakah Anda ingin menyebarkan kode atau gambar kontainer? Kode Opsi untuk menerbitkan file kode atau sebuah kontainer Docker.
    Sistem operasi OS pilihan Pilih Linux atau Windows.
    Tumpukan runtime Bahasa pilihan Pilih runtime yang mendukung bahasa pemrograman fungsi favorit Anda.
    Versi Versi bahasa yang didukung Pilih versi bahasa pemrograman fungsi Anda yang didukung.
    Wilayah Wilayah pilihan Pilih wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.
  5. Di bawah Detail lingkungan untuk Paket Windows atau Paket Linux, pilih Buat baru, Beri Nama paket App Service Anda, dan pilih Paket harga. Paket harga default adalah EP1, di mana EP adalah singkatan dari premium 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.

  6. Kecuali Anda ingin mengaktifkan Redundansi Zona, pertahankan nilai default Dinonaktifkan.

  7. Pilih Berikutnya: Penyimpanan. Pada halaman Penyimpanan , buat akun penyimpanan host default yang diperlukan oleh aplikasi fungsi Anda. Panjang nama akun penyimpanan harus antara 3 dan 24 karakter dan hanya dapat berisi angka dan huruf kecil. Anda juga dapat menggunakan akun yang sudah ada, yang harus memenuhi persyaratan akun penyimpanan.

  8. Kecuali Anda mengaktifkan integrasi jaringan virtual, pilih Berikutnya: Pemantauan untuk melewati tab Jaringan . Pada halaman Pemantauan , masukkan pengaturan berikut ini:

    Pengaturan Nilai yang disarankan Deskripsi
    Mengaktifkan Application Insights Ya Memungkinkan integrasi Application Insight bawaan untuk memantau kode fungsi Anda.
    Application Insights Bawaan 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.
  9. Pilih Tinjau + buat untuk menerima default untuk halaman yang tersisa dan tinjau pilihan konfigurasi aplikasi.

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

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

  12. Pilih Buka sumber daya untuk melihat aplikasi fungsi baru Anda. Anda juga dapat memilih Sematkan ke dasbor. Menyematkan memudahkan 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 Virtual 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 /24 subnet 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. Saat 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.

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

    Menguji fungsi

  3. Pilih Jalankan untuk menjalankan fungsi, lalu beralih ke Output dan verifikasi bahwa alamat IP di 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 Standar
    Tingkat Wilayah
    Nama IP Keluar
    Langganan memastikan langganan Anda ditampilkan
    Grup sumber daya myResourceGroup (atau nama yang Anda tetapkan ke grup sumber daya Anda)
    Tempat US Timur (atau lokasi yang Anda tetapkan ke sumber daya lainnya)
    Zona Ketersediaan Tidak Ada 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-Net adalah nama subnet yang disarankan dan MyResourceGroup-vnet merupakan nama jaringan virtual yang disarankan dalam tutorial tersebut.

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

Membersihkan 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