AWS API Gateway Type

Jenis-Jenis API Gateway di AWS#
AWS menyediakan dua jenis utama API Gateway yang dirancang untuk berbagai use case aplikasi modern. API Gateway bertindak sebagai penghubung antara klien dan layanan backend, membantu menyederhanakan pengelolaan permintaan API, autentikasi, throttling, logging, dan banyak lagi.
1. REST API (Legacy)#
REST API adalah jenis API Gateway pertama yang ditawarkan AWS. Ia menyediakan fitur lengkap dan mendalam, cocok untuk kebutuhan enterprise yang kompleks.
Fitur utama:#
- Mendukung berbagai metode HTTP
- Integrasi dengan AWS Lambda, HTTP endpoint, dan AWS services
- IAM, Lambda authorizer, dan Cognito untuk autentikasi
- Mendukung deployment stages dan stage variables
- Rate limiting dan API keys
- Caching menggunakan API Gateway Cache
2. HTTP API (Modern, Lightweight)#
HTTP API adalah versi yang lebih ringan dan hemat biaya dibanding REST API, dirancang untuk performa tinggi dan latensi rendah.
Fitur utama:#
- Mendukung HTTP dan WebSocket
- Integrasi dengan AWS Lambda dan HTTP backend
- Mendukung JWT authorizer (OAuth 2.0 compatible)
- Lebih cepat dan lebih murah dibanding REST API
- Built-in CORS dan throttling sederhana
3. WebSocket API#
Digunakan untuk komunikasi dua arah secara real-time antara klien dan server, seperti dalam aplikasi chat, game, atau live data.
Fitur utama:#
- Persistent connection (bukan request-response)
- Mendukung routes:
$connect
,$disconnect
, dan custom route - Terintegrasi dengan AWS Lambda
- Bisa mengelola state dan sesi pengguna
Tabel Perbandingan#
Fitur/Aspek | REST API | HTTP API | WebSocket API |
---|---|---|---|
Model Komunikasi | Request/Response | Request/Response | Full-duplex |
Latensi | Sedang | Rendah | Sangat rendah |
Biaya | Lebih mahal | Lebih murah | Tergantung durasi koneksi |
Protokol | HTTP/HTTPS | HTTP/HTTPS | WebSocket (wss/ws) |
Dukungan Auth | IAM, Cognito, Lambda | JWT (OAuth 2.0), Lambda | IAM, Lambda |
Caching | ✔ (bisa diaktifkan) | ✘ (tidak tersedia) | ✘ |
Stage Variables | ✔ | ✘ | ✘ |
Monitoring & Logging | CloudWatch | CloudWatch | CloudWatch |
Use Case Umum | API kompleks, legacy | Microservices, Web API | Chat, game, notif real-time |
Kapan Menggunakan yang Mana?#
- Gunakan REST API jika Anda membutuhkan fitur canggih seperti caching, stage variables, atau metode autentikasi kompleks.
- Gunakan HTTP API untuk aplikasi modern yang butuh performa cepat, biaya rendah, dan integrasi sederhana.
- Gunakan WebSocket API jika aplikasi Anda membutuhkan komunikasi real-time yang persist seperti notifikasi live atau game multiplayer.
Kesimpulan#
Memahami jenis API Gateway yang tersedia di AWS sangat penting untuk menentukan arsitektur yang efisien dan hemat biaya. AWS memberikan fleksibilitas untuk memilih gateway sesuai dengan karakteristik aplikasi dan kebutuhan spesifik Anda.