Integrasi: Lambda, HTTP, dan Tiruan
Hubungkan metode API Gateway ke integrasi proksi Lambda, titik akhir HTTP hulu, dan integrasi tiruan untuk pengujian.
Integrasi: Lambda, HTTP, dan Tiruan adalah pelajaran AWS Solutions Architect gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AWS Solutions Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Ikhtisar Jenis Integrasi API Gateway
Setiap metode API Gateway memerlukan integrasi backend—sistem yang memproses permintaan dan mengembalikan tanggapan. API Gateway mendukung lima jenis integrasi: Proksi Lambda, Lambda Khusus, Proksi HTTP, HTTP Khusus, dan Mock. API HTTP hanya mendukung Proksi Lambda dan Proksi HTTP. API REST mendukung kelimanya. Pemilihan integrasi yang tepat menentukan seberapa besar kendali yang Anda miliki atas transformasi permintaan dan tanggapan.
Integrasi Proksi Lambda
Dengan integrasi Proksi Lambda, API Gateway meneruskan seluruh permintaan HTTP ke Lambda sebagai objek kejadian terstruktur yang mencakup header, string kueri, parameter jalur, isi, dan konteks. Fungsi Lambda Anda bertanggung jawab mengembalikan objek tanggapan dengan format yang benar, yang berisi statusCode, headers, dan body. Ini adalah pola yang paling sederhana dan umum—tidak memerlukan templat pemetaan, dan Lambda Anda mengendalikan seluruh tanggapan.
def lambda_handler(event, context):
# event.httpMethod, event.path, event.queryStringParameters
# event.headers, event.body
user_id = event['pathParameters']['userId']
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': '{"userId": "' + user_id + '", "name": "Alice"}'
}Integrasi Lambda Non-Proksi (Khusus)
Dengan Lambda Non-Proksi (integrasi khusus), API Gateway menggunakan templat pemetaan (Apache Velocity Template Language, VTL) untuk mengubah permintaan sebelum mengirimkannya ke Lambda, serta mengubah tanggapan Lambda sebelum mengembalikannya kepada klien. Fungsi Lambda Anda menerima muatan khusus yang bersih—bukan kejadian mentah API Gateway. Hal ini memisahkan urusan transportasi dari logika bisnis, tetapi memerlukan pemeliharaan templat VTL. Gunakan integrasi khusus jika Anda menginginkan pemisahan kontrak API-backend yang ketat.
## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
'userId': '$input.params('userId')',
'action': '$inputRoot.action',
'timestamp': '$context.requestTime'
}Integrasi Proksi HTTP
Integrasi Proksi HTTP meneruskan permintaan secara langsung ke titik akhir HTTP eksternal (dapat berupa instans EC2, ALB, server lokal, atau URL publik apa pun) tanpa transformasi. API Gateway meneruskan permintaan dan mengembalikan tanggapan backend kepada klien. Ini ideal untuk memigrasikan backend REST yang sudah ada ke balik API Gateway guna menambahkan pembatasan laju, pemantauan, dan kunci API tanpa mengubah kode backend. Mendukung backend HTTPS dengan verifikasi sertifikat.
# Create HTTP proxy integration via REST API
aws apigateway put-integration \
--rest-api-id 'abc123' \
--resource-id 'xyz789' \
--http-method GET \
--type HTTP_PROXY \
--integration-http-method GET \
--uri 'https://my-backend.example.com/api/users/{userId}'Integrasi HTTP Khusus (Non-Proksi)
Integrasi HTTP Khusus juga meneruskan permintaan ke titik akhir HTTP eksternal, tetapi menggunakan templat pemetaan untuk mengubah permintaan yang dikirim ke backend dan tanggapan yang diterima kembali. Ini berguna ketika antarmuka API Gateway dan API backend memiliki kontrak yang berbeda—Anda dapat menerjemahkan panggilan API REST menjadi format SOAP lama atau format khusus, lalu mengubah tanggapan backend kembali menjadi struktur JSON yang bersih untuk klien. Cara ini menambah kompleksitas, tetapi memberikan kendali terbesar untuk integrasi lama.
Integrasi Layanan AWS
Integrasi Layanan AWS menghubungkan API Gateway secara langsung ke layanan AWS tanpa perantara Lambda. Misalnya, Anda dapat mengonfigurasi titik akhir POST yang langsung menulis pesan ke SQS, menerbitkan pesan ke SNS, atau memulai eksekusi Step Functions. Hal ini mengurangi latensi dan menghilangkan biaya fungsi Lambda untuk operasi perutean sederhana. Integrasi ini memerlukan konfigurasi peran IAM dan templat pemetaan untuk memformat panggilan API AWS dengan benar.
# Direct API Gateway → SQS integration
# Integration Request URI:
https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
# Integration Request Body Mapping Template:
Action=SendMessage&MessageBody=$input.bodyIntegrasi Mock untuk Pengembangan dan Pengujian
Integrasi Mock mengonfigurasi API Gateway untuk mengembalikan respons yang telah ditentukan tanpa memanggil backend apa pun. Anda menentukan respons tersebut dalam templat pemetaan respons integrasi. Integrasi Mock sangat cocok untuk: pengembangan API sebelum backend selesai dibuat (sehingga tim frontend dapat segera memulai), pengujian unit pada konfigurasi API, pengembalian header CORS standar, atau penyediaan stub untuk mitra pihak ketiga selama pengembangan. Titik akhir Mock juga dapat digunakan untuk memblokir versi API yang sudah tidak digunakan dengan mengembalikan 410 Gone.
# Integration Response for Mock
# Integration Response Mapping Template:
{
'statusCode': 200,
'message': 'This is a mock response',
'timestamp': '$context.requestTime'
}
# Method Response: map status code 200 to this templateKonfigurasi CORS di API Gateway
CORS (Cross-Origin Resource Sharing) harus diaktifkan ketika klien browser pada satu domain memanggil API Anda pada domain lain. HTTP API menyediakan konfigurasi CORS sekali klik; REST API mengharuskan Anda membuat OPTIONS method dengan integrasi Mock yang mengembalikan header CORS yang diperlukan (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). Integrasi proxy Lambda juga mengharuskan Lambda Anda mengembalikan header CORS dalam responsnya.
# HTTP API CORS config (simple)
aws apigatewayv2 update-api \
--api-id 'abc123' \
--cors-configuration '{
"AllowOrigins": ["https://myapp.example.com"],
"AllowMethods": ["GET", "POST", "OPTIONS"],
"AllowHeaders": ["Content-Type", "Authorization"]
}'Validasi Permintaan di REST API
REST API mendukung validasi permintaan: API Gateway dapat memvalidasi bahwa parameter string kueri, header, dan skema isi permintaan yang wajib ada telah tersedia dan diformat dengan benar—sebelum memanggil integrasi backend. Hal ini mengurangi pemanggilan Lambda yang tidak perlu akibat permintaan yang formatnya salah dan secara otomatis mengembalikan error 400 standar. Tentukan model permintaan menggunakan JSON Schema dan lampirkan model tersebut ke method untuk mengaktifkan validasi isi. Validasi permintaan tidak tersedia di HTTP API.
Batas Waktu Integrasi
API Gateway memiliki batas waktu integrasi bawaan selama 29 detik untuk REST API dan HTTP API (batas maksimum untuk REST API, serta nilai tetap untuk proxy HTTP API). Jika backend Anda memerlukan waktu lebih dari 29 detik, API Gateway mengembalikan error 504 Gateway Timeout. Artinya, fungsi Lambda yang dipanggil secara sinkron melalui API Gateway harus selesai dalam 29 detik—meskipun Lambda sendiri mendukung batas waktu hingga 15 menit. Untuk operasi yang berjalan lama, gunakan pola asinkron: API Gateway memicu Lambda, lalu Lambda memulai pekerjaan asinkron dan segera mengembalikan ID pekerjaan.
Memilih Jenis Integrasi yang Tepat
Panduan pemilihan jenis integrasi: Lambda Proxy: paling umum, paling sederhana, dan memberikan kontrol penuh atas permintaan di Lambda; Lambda Custom: ketika Anda memerlukan transformasi permintaan/respons pada lapisan gateway; HTTP Proxy: untuk backend HTTP yang sudah ada dan skenario migrasi; HTTP Custom: untuk menerjemahkan format API lama; AWS Service: untuk menghilangkan kebutuhan Lambda dalam perutean sederhana ke SQS/SNS/DynamoDB; Mock: untuk stub pengembangan dan prapenerbangan CORS. Untuk ujian SAA-C03, pola Lambda Proxy dan HTTP Proxy adalah yang paling sering diujikan.
Pemeriksaan Cepat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Rangkuman Pelajaran
Dalam pelajaran ini Anda mempelajari bahwa integrasi Lambda Proxy meneruskan seluruh permintaan ke Lambda, yang mengendalikan respons—ini adalah integrasi paling sederhana dan paling umum; HTTP Proxy meneruskan permintaan ke backend HTTP yang sudah ada untuk menambahkan fitur API Gateway tanpa mengubah backend; dan integrasi Mock mengembalikan respons yang telah ditentukan untuk pengembangan dan pengujian frontend tanpa infrastruktur backend apa pun. Selanjutnya, kita akan membahas otorisasi API Gateway dengan IAM, pemberi otorisasi Lambda, dan Cognito.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Integrasi: Lambda, HTTP, dan Tiruan” gratis?
Ya — teks lengkap “Integrasi: Lambda, HTTP, dan Tiruan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AWS Solutions Architect, upgrade ke CoddyKit PRO. Kursus AWS Solutions Architect mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Integrasi: Lambda, HTTP, dan Tiruan”?
Hubungkan metode API Gateway ke integrasi proksi Lambda, titik akhir HTTP hulu, dan integrasi tiruan untuk pengujian. Kamu berlatih AWS Solutions Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AWS Solutions Architect?
Tidak diperlukan pengalaman sebelumnya. AWS Solutions Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Integrasi: Lambda, HTTP, dan Tiruan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- REST API vs HTTP API vs WebSocket API
- Integrasi: Lambda, HTTP, dan Tiruan
- Otorisasi: IAM, Pemberi Otorisasi Lambda, dan Cognito
- Pembatasan, Penyimpanan Tembolok, dan Rencana Penggunaan