

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pilih metode untuk menjalankan fungsi Lambda Anda menggunakan permintaan HTTP
<a name="apig-http-invoke-decision"></a>

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 API REST lengkap, 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?
<a name="w2aac15c43c29c46b9"></a>

[Lambda menawarkan dua metode utama untuk menjalankan fungsi menggunakan permintaan HTTP - [URL fungsi dan API](urls-configuration.md) Gateway.](services-apigateway.md) Perbedaan utama antara kedua opsi ini adalah sebagai berikut:
+ **URL fungsi Lambda 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 API berfitur lengkap. API Gateway dioptimalkan untuk membangun dan mengelola API produksi dalam skala besar dan menyediakan alat komprehensif untuk keamanan, pemantauan, dan manajemen lalu lintas.

## Rekomendasi jika Anda sudah mengetahui kebutuhan Anda
<a name="w2aac15c43c29c46c11"></a>

Jika Anda sudah jelas tentang kebutuhan Anda, berikut adalah rekomendasi dasar kami:

Kami merekomendasikan **[URL fungsi](urls-configuration.md)** untuk aplikasi sederhana atau prototipe di mana Anda hanya memerlukan metode otentikasi dasar dan request/response penanganan dan di mana Anda ingin meminimalkan biaya dan kompleksitas.

**[API Gateway](services-apigateway.md)** adalah pilihan yang lebih baik untuk aplikasi produksi dalam skala besar atau untuk kasus di mana Anda memerlukan fitur yang lebih canggih seperti dukungan [OpenAPI Description](https://www.openapis.org/), pilihan opsi otentikasi, nama domain khusus, atau request/response penanganan kaya termasuk throttling, caching, dan transformasi. request/response 

## Apa yang harus dipertimbangkan saat memilih metode untuk menjalankan fungsi Lambda Anda
<a name="w2aac15c43c29c46c13"></a>

Saat memilih antara URL fungsi 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 canggih seperti validasi permintaan dan request/response pemformatan
+ 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.

### Autentikasi
<a name="w2aac15c43c29c46c13c11b1"></a>
+ **URL fungsi** 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 kredensyal 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](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html) (logika otentikasi khusus), kumpulan pengguna Amazon Cognito, dan alur.](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) OAuth2.0 Fleksibilitas ini memungkinkan Anda menerapkan skema otentikasi yang kompleks, termasuk penyedia otentikasi pihak ketiga, otentikasi berbasis token, dan otentikasi multi-faktor.

### Request/response penanganan
<a name="w2aac15c43c29c46c13c11b3"></a>
+ **URL fungsi** 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 templat pemetaan, menyiapkan request/response header, dan menerapkan cache respons. API Gateway juga mendukung payload biner dan nama domain khusus dan dapat memodifikasi tanggapan sebelum mencapai klien. Anda dapat mengatur model untuk request/response validasi dan transformasi menggunakan JSON Schema.

### Penskalaan
<a name="w2aac15c43c29c46c13c11b5"></a>
+ **URL fungsi** menskalakan secara langsung dengan batas konkurensi fungsi Lambda Anda dan menangani 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.

### Memantau
<a name="w2aac15c43c29c46c13c11b7"></a>
+ **URL fungsi** 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 hit/miss tingkat cache melalui CloudWatch. API Gateway juga terintegrasi dengan AWS X-Ray untuk penelusuran terdistribusi dan menyediakan format logging yang dapat disesuaikan.

### Biaya
<a name="w2aac15c43c29c46c13c11b9"></a>
+ **URL fungsi** 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 API sederhana atau aplikasi dengan lalu lintas rendah jika Anda tidak memerlukan fitur tambahan API Gateway.
+ **API Gateway** menawarkan [tingkat gratis](https://aws.amazon.com/api-gateway/pricing/#Free_Tier) yang mencakup satu juta panggilan API yang diterima untuk REST API dan satu juta panggilan API yang diterima untuk API HTTP. Setelah ini, API Gateway mengenakan biaya untuk panggilan API, transfer data, dan caching (jika diaktifkan). Lihat [halaman harga](https://aws.amazon.com/api-gateway/pricing/) API Gateway untuk memahami biaya untuk kasus penggunaan Anda sendiri.

### Fitur lainnya
<a name="w2aac15c43c29c46c13c11c11"></a>
+ **URL fungsi** 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 paket penggunaan, dokumentasi API melalui, API Swagger/OpenAPI, WebSocket API pribadi dalam VPC, dan integrasi 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
<a name="w2aac15c43c29c46c15"></a>

Sekarang setelah Anda membaca tentang kriteria untuk memilih antara URL fungsi Lambda 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.

------
#### [ Function URLs ]

**Memulai URL fungsi dengan sumber daya berikut**
+ Ikuti tutorial [Membuat fungsi Lambda dengan URL fungsi](urls-webhook-tutorial.md)
+ Pelajari lebih lanjut tentang URL fungsi di [Membuat dan mengelola URL fungsi Lambda](urls-configuration.md) bagian panduan ini
+ Coba tutorial yang dipandu dalam konsol **Buat aplikasi web sederhana** dengan melakukan hal berikut:

1. Buka [halaman fungsi konsol](https://console.aws.amazon.com/lambda/home#/functions) Lambda.

1. Buka panel bantuan dengan memilih ikon di sudut kanan atas layar.  
![Diagram yang menunjukkan toolbar konsol Lambda dan ikon panel bantuan di sudut kanan atas](http://docs.aws.amazon.com/id_id/lambda/latest/dg/images/console_help_screenshot.png)

1. Pilih **Tutorial**.

1. Di **Buat aplikasi web sederhana**, pilih **Mulai tutorial**.

------
#### [ API Gateway ]

**Memulai Lambda dan API Gateway dengan sumber daya berikut**
+ Ikuti tutorial [Menggunakan Lambda dengan API Gateway untuk membuat REST API](services-apigateway-tutorial.md) yang terintegrasi dengan fungsi Lambda backend.
+ Pelajari selengkapnya tentang berbagai jenis API yang ditawarkan oleh API Gateway di bagian berikut dari *Panduan Pengembang Amazon API Gateway*:
  + [API API Gateway REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-rest-api.html)
  + [API API Gateway HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html)
  + [API Gateway WebSocket API](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html)
+ Coba satu atau beberapa contoh di bagian [Tutorial dan lokakarya](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-tutorials.html) dari *Panduan Pengembang Amazon API Gateway*.

------