Tutorial: Membangun akses situs pribadi Azure Functions

Tutorial ini menunjukkan cara mengaktifkan akses situs pribadi dengan Azure Functions. Dengan menggunakan akses situs pribadi, Anda dapat mengharuskan kode fungsi Anda hanya dapat dipicu dari jaringan virtual tertentu.

Akses situs pribadi berguna dalam skenario saat akses ke aplikasi fungsi perlu dibatasi ke jaringan virtual tertentu. Misalnya, aplikasi fungsi hanya dapat berlaku untuk karyawan organisasi tertentu, atau layanan yang berada dalam jaringan virtual yang ditentukan (seperti Fungsi Azure lainnya, Azure Virtual Machine, atau klaster AKS).

Jika aplikasi Fungsi perlu mengakses sumber daya Azure dalam jaringan virtual, atau terhubung melalui titik akhir layanan, maka integrasi jaringan virtual diperlukan.

Dalam tutorial ini, Anda akan mempelajari cara mengonfigurasi akses situs pribadi untuk aplikasi fungsi Anda:

  • Membuat mesin virtual
  • Membuat layanan Azure Bastion
  • Membuat aplikasi Azure Functions
  • Mengonfigurasi titik akhir layanan jaringan virtual
  • Membuat dan menyebarkan Fungsi Azure
  • Memanggil fungsi dari luar dan di dalam jaringan virtual

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

Topologi

Diagram berikut menampilkan arsitektur solusi yang akan dibuat:

High-level architecture diagram for private site access solution

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.

Masuk ke portal Azure

Masuk ke portal Azure.

Membuat mesin virtual

Langkah pertama dalam tutorial ini adalah membuat mesin virtual baru di dalam jaringan virtual. Komputer virtual akan digunakan untuk mengakses fungsi setelah Anda membatasi aksesnya agar hanya tersedia dari dalam jaringan virtual.

  1. Pilih tombol Buat sumber daya.

  2. Di bidang pencarian, ketik Windows Server, dan pilih Windows Server di hasil pencarian.

  3. Pilih Pusat Data Windows Server 2019 dari daftar opsi Windows Server, dan tekan tombol Buat.

  4. Di tab Dasar- Dasar, gunakan pengaturan VM seperti yang ditentukan dalam tabel di bawah gambar:

    Basics tab for a new Windows VM

    Pengaturan Nilai yang disarankan Deskripsi
    Langganan Langganan Anda Langganan tempat sumber daya Anda dibuat.
    Grup sumber daya myResourceGroup Pilih grup sumber daya untuk memuat semua sumber daya untuk tutorial ini. Menggunakan grup sumber daya yang sama memudahkan untuk membersihkan sumber daya ketika Anda selesai dengan tutorial ini.
    Nama komputer virtual myVM Nama VM harus yang unik dalam grup sumber daya
    Wilayah US Tengah Utara (AS) Pilih wilayah di dekat Anda atau di dekat fungsi yang akan diakses.
    Port masuk publik Tidak Pilih Tidak Ada untuk memastikan tidak ada konektivitas masuk ke VM dari internet. Akses jarak jauh ke VM akan dikonfigurasi melalui layanan Azure Bastion.
  5. Pilih tab Jaringan dan pilih Buat baru untuk mengonfigurasi jaringan virtual baru.

    Screenshot that shows the

  6. Dalam Membuat jaringan virtual, gunakan pengaturan dalam tabel di bawah gambar:

    Create a new virtual network for the new VM

    Pengaturan Nilai yang disarankan Deskripsi
    Nama myResourceGroup-vnet Anda bisa menggunakan nama default yang dihasilkan untuk jaringan virtual Anda.
    Rentang alamat 10.10.0.0/16 Gunakan satu rentang alamat untuk jaringan virtual.
    Nama subnet Tutorial Nama subnet.
    Rentang alamat (subnet) 10.10.1.0/24 Ukuran subjaringan menentukan berapa banyak antarmuka yang dapat ditambahkan ke subnet. Subnet ini digunakan oleh VM. Sebuah subnet /24 menyediakan 254 alamat host.
  7. Pilih OK untuk membuat jaringan virtual.

  8. Kembali ke tab Jaringan, pastikan Tidak Ada yang dipilih untuk IP Publik.

  9. Pilih tab Manajemen, lalu di Akun penyimpanan diagnostik, pilih Buat baru untuk membuat akun Penyimpanan baru.

  10. Biarkan nilai default untuk bagian Identitas, Dimatikan otomatis, dan Pencadangan.

  11. Pilih Tinjau + buat. Setelah validasi selesai, pilih Buat. Proses pembuatan VM membutuhkan waktu beberapa menit.

Mengonfigurasi Azure Bastion

Azure Bastion adalah layanan Azure terkelola penuh yang menyediakan akses RDP dan SSH yang aman ke komputer virtual langsung dari portal Microsoft Azure. Menggunakan layanan Azure Bastion menghapus kebutuhan untuk mengonfigurasi pengaturan jaringan yang terkait dengan akses RDP.

  1. Di portal, pilih Tambahkan di bagian atas tampilan grup sumber daya.

  2. Di bidang pencarian, ketik Bastion.

  3. Pilih Bastion di hasil pencarian.

  4. Pilih Buat untuk memulai proses pembuatan sumber daya Azure Bastion baru. Anda akan melihat pesan kesalahan di bagian Jaringan virtual karena belum ada subnet AzureBastionSubnet. Subnet dibuat dalam langkah-langkah berikut. Gunakan pengaturan dalam tabel di bawah gambar:

    Start of creating Azure Bastion

    Pengaturan Nilai yang disarankan Deskripsi
    Nama myBastion Nama sumber daya Bastion baru
    Wilayah US Tengah Utara Pilih wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.
    Jaringan virtual myResourceGroup-vnet Jaringan virtual tempat sumber daya Bastion akan dibuat di
    Subnet AzureBastionSubnet Subnet di jaringan virtual Anda tempat sumber daya host Bastion baru akan digunakan. Anda harus membuat subnet menggunakan nilai nama AzureBastionSubnet. Nilai ini memungkinkan Azure mengetahui subnet mana yang akan digunakan untuk menerapkan sumber daya Bastion. Anda harus menggunakan subnet minimal /27 atau lebih besar (/27, /26, dan sebagainya).

    Catatan

    Untuk panduan langkah demi langkah yang terperinci untuk membuat sumber daya Azure Bastion, lihat tutorial Membuat host Azure Bastion.

  5. Buat subnet di mana Azure dapat menyediakan host Azure Bastion. Memilih Kelola konfigurasi subnet membuka panel baru tempat Anda bisa menentukan subnet baru. Pilih + Subnet untuk membuat subnet baru.

  6. Subnet harus bernama AzureBastionSubnet dan awalan subnet harus minimal /27. Pilih OK untuk membuat subnet.

    Create subnet for Azure Bastion host

  7. Pada halaman Buat Bastion, pilih AzureBastionSubnet yang baru dibuat dari daftar subnet yang tersedia.

    Create an Azure Bastion host with specific subnet

  8. Pilih Tinjau & Buat. Setelah validasi selesai, pilih Buat. Dibutuhkan beberapa menit agar sumber daya Azure Bastion selesai dibuat.

Membuat aplikasi Azure Functions

Langkah selanjutnya adalah membuat aplikasi fungsi di Azure menggunakan Paket konsumsi. Anda menyebarkan kode fungsi Anda ke sumber daya ini nanti dalam tutorial.

  1. Di portal, pilih Tambahkan di bagian atas tampilan grup sumber daya.

  2. Pilih Komputasi > Aplikasi Fungsi

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

    Pengaturan Nilai yang disarankan Deskripsi
    Grup Sumber Daya myResourceGroup Pilih grup sumber daya untuk memuat semua sumber daya untuk tutorial ini. Menggunakan grup sumber daya yang sama untuk aplikasi fungsi dan VM memudahkan untuk membersihkan sumber daya ketika Anda selesai dengan tutorial ini.
    Nama Aplikasi Fungsi Nama unik secara global Nama yang akan mengidentifikasi aplikasi fungsi baru Anda. Karakter yang valid adalah a-z (tidak sensitif huruf besar kecil), 0-9, dan -.
    Mempublikasikan Kode Opsi untuk menerbitkan file kode atau sebuah kontainer Docker.
    Tumpukan runtime Bahasa pilihan Pilih runtime yang mendukung bahasa pemrograman fungsi favorit Anda.
    Wilayah US Tengah Utara Pilih wilayah di dekat Anda atau di dekat layanan lain yang diakses fungsi Anda.

    Pilih tombol Berikutnya: Hosting >.

  4. Untuk bagian Hosting, pilih akun Penyimpanan yang tepat, sistem operasi, dan Rencanakan seperti yang dijelaskan dalam tabel berikut.

    Pengaturan Nilai yang disarankan Deskripsi
    Akun penyimpanan Nama unik secara 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.
    Rencana Consumption Paket hosting menentukan bagaimana aplikasi fungsi diskalakan dan sumber daya tersedia untuk setiap instans.
  5. Pilih Tinjau + Buat untuk meninjau pilihan konfigurasi aplikasi.

  6. Pilih Buat untuk menyediakan dan menerapkan aplikasi fungsi.

Konfigurasikan pembatasan akses

Langkah selanjutnya adalah mengonfigurasi pembatasan akses untuk memastikan hanya sumber daya di jaringan virtual yang dapat memanggil fungsi.

Akses situs pribadi diaktifkan dengan membuat titik akhir layanan Azure Virtual Network antara aplikasi fungsi dan jaringan virtual yang ditentukan. Pembatasan akses diterapkan melalui titik akhir layanan. Titik akhir layanan memastikan hanya lalu lintas yang berasal dari dalam jaringan virtual yang ditentukan yang dapat mengakses sumber daya yang ditunjuk. Dalam hal ini, sumber daya yang ditunjuk adalah Fungsi Azure.

  1. Dalam aplikasi fungsi, pilih tautan Jaringan di bawah judul bagian Pengaturan.

  2. Halaman Jaringan adalah titik awal untuk mengonfigurasi Azure Front Door, Azure CDN, dan juga Pembatasan Akses.

  3. Pilih Konfigurasi Pembatasan Akses untuk mengonfigurasi akses situs pribadi.

  4. Pada halaman Pembatasan Akses, Anda hanya melihat pembatasan default yang berlaku. Secara default tidak menempatkan batasan pada akses ke aplikasi fungsi. Pilih Tambahkan aturan untuk membuat konfigurasi pembatasan akses situs pribadi.

  5. Di panel Tambahkan Pembatasan Akses, berikan Nama, Prioritas, dan Deskripsi untuk aturan baru.

  6. Pilih Jaringan Virtual dari kotak turun bawah Tipe, lalu pilih jaringan virtual yang dibuat sebelumnya, lalu pilih subnet Tutorial.

    Catatan

    Mungkin diperlukan beberapa menit untuk mengaktifkan titik akhir layanan.

  7. Halaman Pembatasan Akses sekarang menunjukkan bahwa terdapat pembatasan baru. Mungkin perlu waktu beberapa detik agar status titik akhir berubah dari Dinonaktifkan melalui Penyediaan menjadi Diaktifkan.

    Penting

    Setiap aplikasi fungsi memiliki situs Advanced Tool (Kudu) yang digunakan untuk mengelola penyebaran aplikasi fungsi. Situs ini diakses dari URL seperti: <FUNCTION_APP_NAME>.scm.azurewebsites.net. Mengaktifkan pembatasan akses pada situs Kudu mencegah penyebaran kode proyek dari stasiun kerja pengembang lokal, dan kemudian agen diperlukan dalam jaringan virtual untuk melakukan penyebaran.

Mengakses aplikasi Fungsi

  1. Kembali ke aplikasi fungsi yang dibuat sebelumnya. Di bagian Gambaran Umum, salin URL.

    Get the Function app URL

    Jika Anda mencoba mengakses aplikasi fungsi sekarang dari komputer di luar jaringan virtual, Anda akan menerima halaman HTTP 403 yang menunjukkan bahwa akses dilarang.

  2. Kembali ke grup sumber daya dan pilih komputer virtual yang dibuat sebelumnya. Untuk mengakses situs dari VM, Anda perlu terhubung ke VM melalui layanan Azure Bastion.

  3. Pilih Sambungkan lalu pilih Bastion.

  4. Berikan nama pengguna dan kata sandi yang diperlukan untuk masuk ke komputer virtual.

  5. Pilih Sambungkan. Jendela browser baru akan muncul untuk memungkinkan Anda berinteraksi dengan komputer virtual. Dimungkinkan untuk mengakses situs dari browser web di VM karena VM mengakses situs melalui jaringan virtual. Meskipun situs ini hanya dapat diakses dari dalam jaringan virtual yang ditunjuk, entri DNS publik tetap ada.

Membuat fungsi

Langkah selanjutnya dalam tutorial ini adalah membuat Fungsi Azure yang dipicu HTTP. Memanggil fungsi melalui HTTP GET atau POST harus menghasilkan respons "Halo, {name}".

  1. Ikuti salah satu mulai cepat berikut ini untuk membuat dan menggunakan aplikasi Azure Functions Anda.

  2. Saat memublikasikan proyek Azure Functions Anda, pilih sumber daya aplikasi fungsi yang Anda buat sebelumnya dalam tutorial ini.

  3. Verifikasi fungsi telah disebarkan.

    Deployed function in list of functions

Panggil fungsi secara langsung

  1. Untuk menguji akses ke fungsi, Anda perlu menyalin URL fungsi. Pilih fungsi yang disebarkan, lalu pilih Dapatkan Url Fungsi. Kemudian klik tombol Salin untuk menyalin URL ke clipboard Anda.

    Copy the function URL

  2. Tempelkan URL ke browser web. Ketika Anda sekarang mencoba mengakses aplikasi fungsi dari komputer di luar jaringan virtual Anda, Anda akan menerima respons HTTP 403 yang menunjukkan akses ke aplikasi dilarang.

Panggil fungsi dari jaringan virtual

Mengakses fungsi melalui browser web (dengan menggunakan layanan Azure Bastion) pada VM yang dikonfigurasi di jaringan virtual menghasilkan keberhasilan!

Access the Azure Function via Azure Bastion

Membersihkan sumber daya

Di 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 menu 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