Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Banyak kasus penggunaan umum untuk Lambda melibatkan pemanggilan fungsi Anda menggunakan permintaan HTTP. Misalnya, Anda mungkin ingin aplikasi web menjalankan fungsi Anda melalui permintaan browser. Fungsi Lambda juga dapat digunakan untuk membuat REST penuh APIs, menangani interaksi pengguna dari aplikasi seluler, memproses data dari layanan eksternal melalui panggilan HTTP, atau membuat webhook khusus.
Bagian berikut menjelaskan pilihan Anda untuk memanggil Lambda melalui HTTP dan memberikan informasi untuk membantu Anda membuat keputusan yang tepat untuk kasus penggunaan khusus Anda.
Apa pilihan Anda saat memilih metode pemanggilan HTTP?
Lambda menawarkan dua metode utama untuk memanggil fungsi menggunakan permintaan HTTP - fungsi dan API URLs Gateway. Perbedaan utama antara kedua opsi ini adalah sebagai berikut:
-
Fungsi Lambda URLs menyediakan titik akhir HTTP langsung yang sederhana untuk fungsi Lambda. Mereka dioptimalkan untuk kesederhanaan dan efektivitas biaya dan menyediakan jalur tercepat untuk mengekspos fungsi Lambda melalui HTTP.
-
API Gateway adalah layanan yang lebih canggih untuk membangun fitur lengkap APIs. API Gateway dioptimalkan untuk membangun dan mengelola produksi dalam APIs skala besar dan menyediakan alat komprehensif untuk keamanan, pemantauan, dan manajemen lalu lintas.
Rekomendasi jika Anda sudah mengetahui kebutuhan Anda
Jika Anda sudah jelas tentang kebutuhan Anda, berikut adalah rekomendasi dasar kami:
Kami merekomendasikan fungsi URLs untuk aplikasi sederhana atau prototyping di mana Anda hanya memerlukan metode otentikasi dasar dan penanganan permintaan/respons dan di mana Anda ingin meminimalkan biaya dan kompleksitas.
API Gateway adalah pilihan yang lebih baik untuk aplikasi produksi dalam skala besar atau untuk kasus di mana Anda memerlukan fitur yang lebih canggih seperti dukungan Deskripsi OpenAPI
Apa yang harus dipertimbangkan saat memilih metode untuk menjalankan fungsi Lambda Anda
Saat memilih antara fungsi URLs dan API Gateway, Anda perlu mempertimbangkan faktor-faktor berikut:
-
Kebutuhan otentikasi Anda, seperti apakah Anda memerlukan OAuth atau Amazon Cognito untuk mengautentikasi pengguna
-
Persyaratan penskalaan Anda dan kompleksitas API yang ingin Anda terapkan
-
Apakah Anda memerlukan fitur-fitur canggih seperti validasi permintaan dan pemformatan permintaan/respons
-
Persyaratan pemantauan Anda
-
Sasaran biaya Anda
Dengan memahami faktor-faktor ini, Anda dapat memilih opsi yang paling menyeimbangkan persyaratan keamanan, kompleksitas, dan biaya Anda.
Informasi berikut merangkum perbedaan utama antara kedua opsi.
-
Fungsi URLs menyediakan opsi otentikasi dasar melalui AWS Identity and Access Management (IAM). Anda dapat mengonfigurasi titik akhir Anda menjadi publik (tidak ada otentikasi) atau memerlukan otentikasi IAM. Dengan autentikasi IAM, Anda dapat menggunakan AWS kredensi standar atau peran IAM untuk mengontrol akses. Meskipun mudah diatur, pendekatan ini memberikan opsi terbatas dibandingkan dengan metode otentikat lainnya.
-
API Gateway menyediakan akses ke berbagai opsi otentikasi yang lebih komprehensif. Selain autentikasi IAM, Anda dapat menggunakan otorisasi Lambda (logika otentikasi khusus), kumpulan pengguna Amazon Cognito, dan aliran.0. OAuth2 Fleksibilitas ini memungkinkan Anda menerapkan skema otentikasi yang kompleks, termasuk penyedia otentikasi pihak ketiga, otentikasi berbasis token, dan otentikasi multi-faktor.
-
Fungsi URLs menyediakan permintaan HTTP dasar dan penanganan respons. Mereka mendukung metode HTTP standar dan menyertakan dukungan berbagi sumber daya lintas asal (CORS) bawaan. Meskipun mereka dapat menangani muatan JSON dan parameter kueri secara alami, mereka tidak menawarkan transformasi permintaan atau kemampuan validasi. Penanganan respons sama mudahnya — klien menerima respons dari fungsi Lambda Anda persis seperti Lambda mengembalikannya.
-
API Gateway menyediakan kemampuan penanganan permintaan dan respons yang canggih. Anda dapat menentukan validator permintaan, mengubah permintaan dan tanggapan menggunakan template pemetaan, mengatur request/response headers, and implement response caching. API Gateway also supports binary payloads and custom domain names and can modify responses before they reach the client. You can set up models for request/response validasi dan transformasi menggunakan JSON Schema.
-
URLsSkala fungsi secara langsung dengan batas konkurensi fungsi Lambda Anda dan tangani lonjakan lalu lintas dengan meningkatkan fungsi Anda hingga batas konkurensi maksimum yang dikonfigurasi. Setelah batas itu tercapai, Lambda merespons permintaan tambahan dengan respons HTTP 429. Tidak ada mekanisme antrian bawaan, jadi penanganan penskalaan sepenuhnya bergantung pada konfigurasi fungsi Lambda Anda. Secara default, fungsi Lambda memiliki batas 1.000 eksekusi bersamaan per. Wilayah AWS
-
API Gateway menyediakan kemampuan penskalaan tambahan di atas penskalaan Lambda sendiri. Ini termasuk kontrol antrian permintaan dan pelambatan bawaan, memungkinkan Anda mengelola lonjakan lalu lintas dengan lebih anggun. API Gateway dapat menangani hingga 10.000 permintaan per detik per wilayah secara default, dengan kapasitas burst 5.000 permintaan per detik. Ini juga menyediakan alat untuk membatasi permintaan pada tingkat yang berbeda (API, panggung, atau metode) untuk melindungi backend Anda.
-
Fungsi URLs menawarkan pemantauan dasar melalui CloudWatch metrik Amazon, termasuk jumlah permintaan, latensi, dan tingkat kesalahan. Anda mendapatkan akses ke metrik dan log Lambda standar, yang menunjukkan permintaan mentah yang masuk ke fungsi Anda. Meskipun ini memberikan visibilitas operasional yang penting, metrik difokuskan terutama pada eksekusi fungsi.
-
API Gateway menyediakan kemampuan pemantauan komprehensif termasuk metrik terperinci, pencatatan, dan opsi penelusuran. Anda dapat memantau panggilan API, latensi, tingkat kesalahan, dan tingkat hit/miss cache. CloudWatch API Gateway juga terintegrasi dengan AWS X-Ray untuk penelusuran terdistribusi dan menyediakan format logging yang dapat disesuaikan.
-
Fungsi URLs mengikuti model penetapan harga Lambda standar — Anda hanya membayar untuk pemanggilan fungsi dan waktu komputasi. Tidak ada biaya tambahan untuk titik akhir URL itu sendiri. Ini menjadikannya pilihan hemat biaya untuk aplikasi sederhana APIs atau lalu lintas rendah jika Anda tidak memerlukan fitur tambahan API Gateway.
-
API Gateway menawarkan tingkat gratis
yang mencakup satu juta panggilan API yang diterima untuk REST APIs dan satu juta panggilan API yang diterima untuk HTTP APIs. Setelah ini, API Gateway mengenakan biaya untuk panggilan API, transfer data, dan caching (jika diaktifkan). Lihat halaman harga API Gateway untuk memahami biaya untuk kasus penggunaan Anda sendiri.
-
Fungsi URLs dirancang untuk kesederhanaan dan integrasi Lambda langsung. Mereka mendukung titik akhir HTTP dan HTTPS, menawarkan dukungan CORS bawaan, dan menyediakan titik akhir dual-stack (IPv4 dan). IPv6 Meskipun mereka tidak memiliki fitur canggih, mereka unggul dalam skenario di mana Anda memerlukan cara cepat dan mudah untuk mengekspos fungsi Lambda melalui HTTP.
-
API Gateway mencakup banyak fitur tambahan seperti versi API, manajemen tahap, kunci API untuk rencana penggunaan, dokumentasi API melalui Swagger/OpenAPI, WebSocket APIs privat dalam VPC, dan integrasi APIs WAF untuk keamanan tambahan. Ini juga mendukung penerapan kenari, integrasi tiruan untuk pengujian, dan integrasi dengan yang lain di luar Lambda. Layanan AWS
Pilih metode untuk menjalankan fungsi Lambda Anda
Sekarang setelah Anda membaca tentang kriteria untuk memilih antara fungsi Lambda URLs dan API Gateway dan perbedaan utama di antara keduanya, Anda dapat memilih opsi yang paling sesuai dengan kebutuhan Anda dan menggunakan sumber daya berikut untuk membantu Anda mulai menggunakannya.
Memulai dengan fungsi URLs dengan sumber daya berikut
-
Ikuti tutorial Membuat fungsi Lambda dengan URL fungsi
-
Pelajari lebih lanjut tentang fungsi URLs Membuat dan mengelola fungsi Lambda URLs di bagian panduan ini
-
Coba tutorial yang dipandu dalam konsol Buat aplikasi web sederhana dengan melakukan hal berikut:
-
Buka halaman fungsi konsol
Lambda. -
Buka panel bantuan dengan memilih ikon di sudut kanan atas layar.
-
Pilih Tutorial.
-
Di Buat aplikasi web sederhana, pilih Mulai tutorial.