Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Functions menyediakan infrastruktur tanpa server yang kuat, memungkinkan Anda mengembangkan titik akhir HTTP sesuai permintaan yang dapat diskalakan dengan mudah. Dengan menggunakan JavaScript atau TypeScript, Anda dapat membuat aplikasi tanpa server yang merespons berbagai peristiwa, memungkinkan Anda untuk fokus menulis kode tanpa khawatir mengelola server. Panduan ini membantu Anda mulai mengembangkan aplikasi Node.js tanpa server menggunakan Azure Functions, mengintegrasikan dengan mulus dengan layanan Azure lainnya.
Apa itu sumber daya Function?
Sumber daya Azure Function adalah unit logis untuk semua fungsi terkait dalam satu lokasi geografis Azure. Sumber daya dapat berisi satu fungsi atau banyak fungsi, yang dapat terpisah satu sama lain atau terkait dengan pengikatan input atau output. Anda dapat memilih dari banyak fungsi umum atau membuatnya sendiri.
Pengaturan sumber daya fungsi mencakup konfigurasi tanpa server yang khas termasuk variabel lingkungan, autentikasi, pencatatan, dan CORS.
Fungsi stateful yang tahan lama
Fungsi Tahan Lama mempertahankan kondisi, atau mengelola fungsi yang sudah berjalan lama di Azure. Membuat fungsi tahan lama pertama di JavaScript.
Aplikasi web statis menyertakan fungsi
Saat Anda mengembangkan aplikasi klien front-end statis (seperti Angular, React, atau Vue), yang juga memerlukan API tanpa server, gunakan aplikasi Web Statis dengan fungsi untuk menyatukan keduanya.
Proksi dari aplikasi klien ke API
Jika Anda ingin menyebarkan API dengan aplikasi web Statis, Anda tidak perlu mem-proksi panggilan API aplikasi klien Anda. Proksi dibuat untuk Anda saat Anda menyebarkan aplikasi Azure Functions sebagai aplikasi terkelola.
Saat Anda mengembangkan secara lokal dengan Static Web App dan Azure Functions, Azure Static Web Apps CLI menyediakan proksi lokal.
Pengaturan keamanan umum yang perlu Anda konfigurasikan untuk Azure Function
Pengaturan umum berikut harus dikonfigurasi untuk menjaga Azure Function tetap aman:
-
Autentikasi dan otorisasi:
- Gunakan ID Microsoft Entra (sebelumnya Azure Active Directory) untuk autentikasi yang kuat. Konfigurasikan aplikasi fungsi Anda untuk memerlukan token OAuth2 untuk beban kerja produksi.
- Hindari menggunakan kunci fungsi untuk aplikasi sensitif. Sebagai gantinya, integrasikan dengan MICROSOFT Entra ID atau validasi token JWT dalam kode fungsi Anda.
- Gunakan identitas terkelola untuk mengautentikasi aplikasi fungsi Anda dengan sumber daya Azure lainnya, memastikan setiap fungsi hanya mendapatkan akses yang dibutuhkan.
-
Pengaturan konfigurasi:
- Pengaturan aplikasi - buat Pengaturan aplikasi untuk pengaturan yang tidak memengaruhi keamanan.
- Rahasia dan kunci - untuk pengaturan apa pun yang memengaruhi keamanan, gunakan pendekatan berjenjang ini:
- Pertama, gunakan ID Microsoft Entra untuk autentikasi jika didukung.
- Untuk integrasi yang tidak mendukung ID Entra, simpan rahasia di Azure Key Vault dan tarik pengaturan tersebut dari Key Vault Anda.
- Jangan pernah menyematkan rahasia dalam file kode atau konfigurasi.
- Untuk pengaturan keamanan platform lainnya, lihat Mengamankan Azure Functions.
-
Keamanan jaringan:
- CORS - konfigurasikan domain klien Anda. Jangan gunakan
*, menunjukkan semua domain. - Integrasi jaringan virtual - gunakan titik akhir privat atau integrasi jaringan virtual untuk membatasi paparan jaringan dan membatasi lalu lintas masuk dari sumber tepercaya.
- CORS - konfigurasikan domain klien Anda. Jangan gunakan
-
HTTPS dan enkripsi:
- Pengaturan TLS/SSL untuk HTTPS - secara default, API menerima permintaan HTTP dan HTTPS. Aktifkan hanya HTTPS di pengaturan TLS/SSL. Karena aplikasi Function Anda dihosting pada subdomain yang aman, Anda dapat menggunakannya segera (dengan
https) dan menunda pembelian nama domain, dan menggunakan sertifikat untuk domain hingga Anda siap.
- Pengaturan TLS/SSL untuk HTTPS - secara default, API menerima permintaan HTTP dan HTTPS. Aktifkan hanya HTTPS di pengaturan TLS/SSL. Karena aplikasi Function Anda dihosting pada subdomain yang aman, Anda dapat menggunakannya segera (dengan
-
Penyebaran dan pemantauan:
- Slot Penyebaran - buat slot penyebaran, seperti
stageataupreflightdan dorong ke slot itu. Tukar slot tahap ini ke produksi saat Anda siap. Jangan terbiasa mendorong produksi secara manual. Basis kode harus dapat menunjukkan versi atau penerapan yang ada di slot. - Aktifkan Application Insights untuk telemetri real time, pemberitahuan, dan deteksi anomali untuk memantau fungsi dan log audit Anda untuk aktivitas yang mencurigakan.
- Slot Penyebaran - buat slot penyebaran, seperti
Untuk panduan keamanan yang komprehensif, lihat Mengamankan Azure Functions.
Opsi hosting untuk Azure Functions
Anda dapat menghosting Azure Functions dengan cara yang berbeda tergantung pada kebutuhan Anda:
Paket hosting sumber daya Azure Functions
Saat membuat sumber daya Azure Functions, Anda dapat memilih dari paket hosting ini:
- Paket konsumsi: Bayar hanya untuk waktu fungsi Anda berjalan dengan penskalaan otomatis.
- Paket Konsumsi Flex: Menyediakan kontrol yang ditingkatkan dengan instans yang selalu siap untuk mengurangi cold start, integrasi jaringan virtual, dan ukuran instans yang dapat dikonfigurasi (512 MB hingga 4 GB). Paket ini direkomendasikan untuk beban kerja berbasis Linux baru yang membutuhkan fitur keamanan dan performa perusahaan. Perhatikan bahwa paket ini menggunakan penagihan berdasarkan eksekusi, mirip dengan paket Konsumsi, tetapi dengan biaya tambahan untuk fitur seperti instance yang selalu siap digunakan.
- Paket premium: Memberikan performa yang ditingkatkan dengan instans yang telah dihangatkan sebelumnya, konektivitas jaringan virtual, dan durasi eksekusi yang lebih lama.
- Paket Khusus (App Service): Jalankan fungsi pada komputer virtual khusus untuk biaya yang dapat diprediksi dan kontrol penuh atas lingkungan runtime.
Untuk informasi selengkapnya tentang memilih paket hosting yang tepat, lihat Opsi hosting Azure Functions.
Sumber daya Azure Container Apps
Atau, Anda dapat menyebarkan Azure Functions ke sumber daya Azure Container Apps sebagai beban kerja kontainer. Opsi ini memberikan kontrol penuh atas lingkungan kontainer dan sangat ideal ketika Anda membutuhkan dependensi kustom, proses yang berjalan lama, atau ingin menggabungkan fungsi dengan layanan mikro kontainer lainnya. Lihat penerapan Azure Functions pada Azure Container Apps untuk informasi selengkapnya.
Prasyarat untuk mengembangkan Azure Functions
- Node.js LTS - Gunakan versi Dukungan Jangka Panjang (LTS) terbaru untuk pembaruan kompatibilitas dan keamanan terbaik dengan Azure Functions.
- Azure Functions Core Tools - Gunakan versi utama saat ini untuk pengembangan dan penelusuran kesalahan lokal.
Fungsi JavaScript sederhana untuk permintaan HTTP
Sebuah fungsi adalah fungsi asinkron yang diekspor dengan informasi permintaan dan konteks. Tangkapan layar parsial berikut dari portal Microsoft Azure menunjukkan kode fungsi.
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
export async function status(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log(`Http function processed request for url "${request.url}"`);
return {
status: 200,
jsonBody: {
env: process.env
}
};
};
app.http('status', {
route: "status",
methods: ['GET'],
authLevel: 'anonymous',
handler: status
});
Mengembangkan fungsi secara lokal dengan Visual Studio Code dan ekstensi
Buat fungsi pertama menggunakan Visual Studio Code. Visual Studio Code menyederhanakan banyak detail dengan ekstensi Azure Functions.
Ekstensi ini membantu Anda membuat fungsi JavaScript dan TypeScript dengan templat umum.
Mengintegrasikan dengan layanan Azure lainnya
Fungsi tanpa server menghapus banyak konfigurasi dan manajemen server sehingga Anda dapat fokus hanya pada kode yang Anda butuhkan.
- Fungsi kode rendah: Dengan Azure Functions, Anda membuat fungsi yang dipicu oleh layanan Azure lainnya atau output tersebut ke layanan Azure lainnya menggunakan pengikatan pemicu. Model pemrograman v4 mendaftarkan semua pemicu dan pengikatan langsung dalam kode Anda, membuat jenis konfigurasi aman dan intuitif.
- Fungsi kode tinggi: Untuk kontrol lebih lanjut, gunakan Azure SDK untuk mengoordinasikan dan mengontrol layanan Azure lainnya. Gunakan identitas terkelola untuk mengautentikasi fungsi Anda dengan aman dengan sumber daya Azure lainnya tanpa mengelola kredensial.