Lewati ke konten utama

Memulai dengan AWS Lambda: Tutorial Langkah demi Langkah

Pelajari dasar-dasar AWS Lambda, cara menyiapkan fungsi pertama, dan cara mengintegrasikannya dengan layanan inti AWS untuk penerapan serverless aplikasi.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

AWS Lambda adalah layanan komputasi serverless yang andal yang memungkinkan Anda menjalankan kode tanpa mengelola infrastruktur, sehingga Anda dapat fokus sepenuhnya pada penulisan kode tanpa perlu khawatir tentang penyediaan atau pemeliharaan server.

Dalam tutorial ini, kita akan membahas AWS Lambda, mulai dari menyiapkan fungsi pertama hingga mengintegrasikannya dengan layanan AWS lainnya. Baik Anda memproses aliran data maupun membangun API, panduan ini akan membantu Anda memulai penerapan serverless menggunakan AWS Lambda.

Apa itu AWS Lambda?

AWS Lambda adalah platform komputasi serverless yang disediakan oleh Amazon Web Services (AWS) yang memungkinkan pengembang menjalankan kode tanpa perlu menyediakaan atau mengelola server. AWS Lambda memfasilitasi hal ini dengan mengalokasikan sumber daya secara dinamis untuk mengeksekusi fungsi Anda hanya saat diperlukan, dan menagih berdasarkan penggunaan alih-alih kapasitas server yang telah dialokasikan sebelumnya.

Pendekatan ini menghilangkan kebutuhan penyiapan infrastruktur tradisional, sehingga Anda dapat fokus sepenuhnya pada penulisan dan penerapan kode. 

AWS Lambda bersifat event-driven, artinya dipicu oleh peristiwa tertentu dari layanan AWS lainnya, sehingga ideal untuk membangun solusi yang responsif, mudah diskalakan, dan hemat biaya.

Metode penerapan tradisional mengharuskan penyiapan dan pengelolaan server, termasuk penskalaan, pembaruan, dan patching. Tugas-tugas ini dapat memakan waktu, mahal, dan kurang efisien untuk beban kerja yang sporadis. Sebaliknya, penerapan serverless menghilangkan overhead tersebut, menawarkan penskalaan otomatis dan ketersediaan tinggi secara bawaan.

Fitur AWS Lambda

  • Arsitektur berbasis peristiwa (event-driven): Fungsi AWS Lambda dipanggil sebagai respons atas peristiwa seperti perubahan data, permintaan HTTP, atau pembaruan sumber daya AWS. 
  • Dukungan banyak runtime: Lambda mendukung berbagai runtime, termasuk Python, Node.js, Java, Go, Ruby, dan .NET. Pengembang juga dapat membawa runtime sendiri menggunakan AWS Lambda Runtime API, menjadikannya platform serbaguna untuk berbagai kasus penggunaan.
  • Penskalaan otomatis: AWS Lambda secara otomatis menskalakan aplikasi Anda berdasarkan permintaan. Baik memproses satu peristiwa maupun menangani ribuan sekaligus, Lambda menyesuaikan sumber daya komputasi secara dinamis.
  • Harga pay-as-you-go: Biaya ditentukan oleh jumlah permintaan dan waktu eksekusi fungsi Anda. Ini menghilangkan kebutuhan investasi di muka dan memastikan Anda hanya membayar sesuai penggunaan.
  • Keamanan terintegrasi: Lambda beAWS Identity and Access Management (IAM), memastikan pengendalian akses yang rinci dan interaksi aman antara fungsi Anda dan layanan AWS lainnya.

Kasus penggunaan umum Lambda

  • Memproses aliran data: AWS Lambda berintegrasi dengan Amazon Kinesis untuk memproses dan menganalisis data streaming secara real-time. Misalnya, Anda dapat memantau perangkat IoT atau memproses file log secara dinamis.
  • Membangun RESTful API: Fungsi Lambda dapat dipasangkan dengan AWS API Gateway untuk membuat API yang dapat diskalakan bagi aplikasi web dan seluler. Pengaturan ini umum digunakan untuk menangani autentikasi pengguna, kueri basis data, atau menghasilkan konten dinamis.
  • Mengotomatiskan alur kerja: Otomatiskan alur kerja kompleks dengan memicu fungsi Lambda berdasarkan peristiwa dari layanan seperti S3, DynamoDB, atau CloudWatch. Sebagai contoh, Anda dapat mengubah ukuran gambar yang diunggah ke S3 atau mengarsipkan catatan basis data lama secara otomatis.
  • Penanganan peristiwa dalam pipeline data: Anda dapat menggunakan Lambda untuk menangani peristiwa data real-time, seperti memproses unggahan baru ke bucket S3, mentransformasi data sebelum penyimpanan, atau memperkaya aliran data dengan panggilan API eksternal.
  • Pemrosesan backend tanpa server: Lambda umum digunakan untuk memindahkan tugas backend seperti validasi data, proses ETL (Extract, Transform, Load), atau mengirim notifikasi melalui Amazon SNS atau SES.

Bagaimana Cara Kerja AWS Lambda?

AWS Lambda beroperasi pada model berbasis peristiwa, artinya mengeksekusi kode sebagai respons terhadap pemicu atau peristiwa tertentu. Kunci fungsionalitas Lambda adalah integrasinya dengan layanan AWS lain dan kemampuannya mengeksekusi fungsi sesuai permintaan. Mari kita bahas mekanisme kerja AWS Lambda langkah demi langkah:

Screenshot showing how AWS Lambda services work. Official example from AWS website.

Contoh diagram arsitektur menggunakan Lambda dan layanan inti AWS lainnya. Sumber gambar: AWS.

1. Memicu fungsi AWS Lambda

Fungsi AWS Lambda dijalankan oleh peristiwa dari berbagai layanan AWS atau sistem eksternal. Contoh umum sumber peristiwa mencakup:

  • API Gateway: Saat pengguna mengirim permintaan HTTP (misalnya, permintaan GET atau POST) ke endpoint API Gateway Anda, Lambda dapat mengeksekusi fungsi untuk memproses permintaan—contohnya, endpoint RESTful API untuk membuat pengguna di basis data.
  • Peristiwa S3: Fungsi Lambda dapat merespons tindakan seperti mengunggah, menghapus, atau memodifikasi objek di bucket S3. Misalnya, mengubah ukuran gambar atau mengonversi format file setelah gambar diunggah ke bucket S3.
  • DynamoDB streams: Setiap perubahan pada tabel DynamoDB, seperti insert, update, atau delete, dapat memicu fungsi Lambda. Contohnya, memicu pipeline analitik saat baris baru ditambahkan ke tabel DynamoDB.
  • Aplikasi kustom: Anda dapat memanggil fungsi Lambda secara langsung menggunakan SDK, CLI, atau permintaan HTTP, sehingga dapat terintegrasi dengan sistem eksternal.

2. Lingkungan eksekusi

Saat suatu peristiwa memicu fungsi Lambda, AWS secara otomatis membuat lingkungan eksekusi untuk menjalankan kode. Lingkungan ini mencakup:

  • Kode fungsi Anda: Kode yang Anda tulis untuk tugas spesifik Anda.
  • Sumber daya yang dialokasikan: CPU dan memori (dapat dikonfigurasi) ditetapkan secara dinamis berdasarkan kebutuhan fungsi.
  • Dependensi: Pustaka eksternal atau paket apa pun yang ditentukan saat penerapan akan disertakan.

3. Konkruensi dan penskalaan

AWS Lambda mendukung penskalaan otomatis dengan menjalankan beberapa instance fungsi Anda secara paralel. Lambda mengelola penskalaan secara transparan tanpa konfigurasi apa pun. Berikut cara kerja konkruensi:

  • Jika fungsi Anda perlu memproses 100 peristiwa secara bersamaan, Lambda akan membuat sebanyak mungkin lingkungan eksekusi yang diperlukan (hingga batas konkruensi).

4. Integrasi dengan layanan AWS lainnya

AWS Lambda terintegrasi secara mendalam dengan layanan AWS untuk membangun solusi end-to-end yang tangguh:

  • Interaksi basis data: Lambda dapat membaca/menulis data ke DynamoDB atau RDS selama eksekusi.
  • Layanan perpesanan: Lambda dapat memicu notifikasi melalui SNS atau mengirim pesan ke antrian SQS untuk pemrosesan lanjutan.
  • Pemantauan dan logging: CloudWatch menangkap semua log, metrik, dan detail kesalahan untuk fungsi Lambda, memungkinkan Anda memantau dan menelusuri masalah kinerja.

Sekarang, mari mulai menyiapkan fungsi Lambda pertama Anda!

Menyiapkan AWS Lambda

Prasyarat

  • Akun AWS: Pastikan Anda memiliki akun AWS yang aktif. Daftar di sini.
  • Penyiapan pengguna IAM: Buat pengguna IAM dengan izin untuk AWS Lambda. Ikuti panduan IAM.

Menyiapkan lingkungan pengembangan

  • Instal AWS CLI: Unduh dan instal AWS CLI. Konfigurasikan menggunakan kredensial IAM Anda.
  • Siapkan Python atau Node.js: Instal Python atau Node.js sesuai runtime yang Anda pilih. AWS Lambda mendukung banyak runtime. Kita akan menggunakan runtime Python dalam tutorial ini.

Langkah 1: Akses konsol AWS Lambda

  1. Masuk ke AWS Management Console.
  2. Arahkan ke layanan Lambda.

Screenshot of Navigation dashboard in AWS console

Dasbor navigasi di konsol AWS.

Klik Lambda pada menu navigasi untuk melihat dasbor:

Screenshot of AWS Lambda Dashboard in AWS Console

Dasbor AWS Lambda di AWS Console.

Langkah 2: Buat fungsi baru

  1. Klik Create Function.
  2. Pilih “Author from Scratch.”
  3. Berikan nama untuk fungsi Anda.
  4. Pilih runtime (misalnya, Python 3.11).
  5. Klik tombol Create Function.

Screenshot of Create New AWS Lambda Function screen

Buat fungsi AWS Lambda baru.

Proses ini memerlukan beberapa detik. Setelah fungsi dibuat, Anda akan melihat pesan sukses di bagian atas.

Langkah 3: Tulis kode fungsi Anda

Screenshot of AWS Lambda Browser IDE for simple code editing

IDE peramban AWS Lambda untuk penyuntingan kode sederhana.

Langkah 4: Uji fungsi Lambda Anda

Pada tahap ini, fungsi ini hanya mengembalikan string “Hello from Lambda!”. 

Tidak ada logika, tidak ada dependensi, tidak ada apa pun. 

Kita memiliki skrip Python bernama lambda_function.py yang berisi fungsi bernama lambda_handler() yang mengembalikan string. 

Sekarang kita dapat mengujinya dengan cukup mengeklik tombol Test.

Screenshot of Test your AWS lambda function in browser screen

Uji fungsi AWS Lambda Anda di peramban.

Anda dapat menghapus “Event JSON” karena fungsi kita tidak menerima input. Beri nama event dan klik tombol Invoke.

Screenshot of Successful test of AWS Lambda function screen

Pengujian fungsi AWS Lambda berhasil.

Fungsi berhasil dieksekusi, dan pesan dikembalikan.

Yay! Kita baru saja menerapkan fungsi serverless menggunakan AWS Lambda. Saat ini fungsinya belum banyak melakukan hal, tetapi sudah aktif dan berjalan. Setiap kali fungsi ini dipanggil, ia mengembalikan sebuah string sederhana.

Memicu Lambda dengan Peristiwa

Seperti disebutkan, arsitektur AWS Lambda memungkinkan Anda memicu fungsi sebagai respons atas peristiwa tertentu dari berbagai layanan AWS, menjadikannya alat serbaguna untuk mengotomatiskan alur kerja dan mengintegrasikan sistem. 

Peristiwa seperti unggahan file ke bucket S3, pembaruan pada tabel DynamoDB, atau panggilan API melalui API Gateway dapat memanggil fungsi Lambda, memungkinkan pemrosesan real-time dan eksekusi yang dapat diskalakan.

1. Menyiapkan pemicu S3

  1. Buka konsol S3.
  2. Pilih bucket S3.
  3. Di bawah Properties, tambahkan pemberitahuan peristiwa untuk memicu fungsi Lambda Anda saat membuat objek.Screenshot of Create event notification in AWS S3 bucket screenBuat pemberitahuan peristiwa di bucket AWS S3.Screenshot of Select Lambda function to trigger in S3Pilih fungsi Lambda yang akan dipicu di S3.

Contoh kasus penggunaan:

    • Secara otomatis mengubah ukuran gambar yang diunggah ke S3.
    • Mengonversi video ke berbagai resolusi atau format untuk streaming.
    • Memeriksa format file, ukuran, atau metadata saat mengunggah.
    • Menggunakan AI untuk mengekstrak teks dari dokumen yang diunggah (misalnya, melalui Amazon Textract).

2. Integrasi API Gateway

  1. Arahkan ke layanan API Gateway.

Screenshot of API Gateway Service Dashboard in AWS Console

Dasbor Layanan API Gateway di AWS Console.

  1. Buat REST API baru.

Screenshot of Create new REST API via API Gateway

Buat REST API baru melalui API Gateway.

  1. Konfigurasikan metode (misalnya, POST) untuk memicu fungsi Lambda Anda.

Contoh kasus penggunaan:

    • Membangun API tanpa server untuk respons real-time.
    • Memicu fungsi Lambda untuk membuat dan menyimpan data pengguna di basis data.
    • Menangani permintaan POST untuk memproses dan memvalidasi pesanan pelanggan secara real-time
    • Memicu fungsi Lambda untuk melakukan kueri dan mengembalikan data dari basis data atau API.

Menerapkan dan Memantau AWS Lambda

Menerapkan fungsi AWS Lambda sangatlah mudah dan dapat dilakukan dengan berbagai metode sesuai kebutuhan Anda, seperti AWS Management Console untuk penerapan manual atau AWS CLI untuk penerapan otomatis.

1. Penerapan manual menggunakan AWS Console

AWS Management Console menyediakan antarmuka web yang intuitif untuk menerapkan fungsi Lambda. Metode ini ideal untuk proyek kecil atau perubahan cepat. Berikut cara menerapkan fungsi Lambda menggunakan konsol:

  1. Buat atau edit fungsi:
    • Masuk ke AWS Management Console.
    • Arahkan ke AWS Lambda.
    • Klik Create Function untuk menyiapkan fungsi baru atau pilih fungsi yang ada untuk diperbarui.
  2. Unggah kode Anda:
    • Pilih Upload from dan pilih file .zip atau container image.
    • Anda dapat mengedit kode fungsi langsung di editor kode terintegrasi untuk pengembangan skala kecil.
  3. Konfigurasikan fungsi:
    • Tetapkan variabel lingkungan, alokasi memori, dan batas waktu sesuai kasus penggunaan Anda.
    • Tambahkan izin yang diperlukan menggunakan peran AWS IAM agar fungsi dapat berinteraksi dengan layanan AWS lainnya.
  4. Terapkan perubahan:
    • Klik Deploy untuk menyimpan dan mengaktifkan perubahan Anda.
    • Gunakan fitur Test untuk memanggil fungsi secara manual dan memvalidasi bahwa fungsi berjalan sesuai harapan.

2. Penerapan otomatis menggunakan AWS CLI 

AWS CLI adalah cara yang efisien untuk menerapkan dan memperbarui fungsi Lambda untuk otomatisasi atau pembaruan yang sering. Ini memastikan konsistensi dan mengurangi kesalahan manual, terutama pada proyek yang lebih besar atau pipeline CI/CD.

Langkah 1 - Siapkan paket penerapan

Kemas kode dan dependensi Anda ke dalam file .zip. Contohnya:

zip -r my-deployment-package.zip .

Langkah 2 - Terapkan fungsi menggunakan CLI

Gunakan perintah update-function-code untuk mengunggah kode baru ke AWS Lambda:

aws lambda update-function-code \
    --function-name MyFunction \
    --zip-file fileb://my-deployment-package.zip

Langkah 3 - Periksa penerapan

Setelah penerapan, verifikasi status fungsi menggunakan:

aws lambda get-function --function-name MyFunction

Perintah ini mengambil konfigurasi fungsi dan mengonfirmasi penerapan.

Memantau Lambda dengan CloudWatch

Pemantauan sangat penting untuk memastikan fungsi Lambda Anda berjalan efisien, menangani kesalahan dengan baik, dan memenuhi ekspektasi kinerja. AWS Lambda berintegrasi dengan Amazon CloudWatch untuk menyediakan kemampuan pemantauan dan logging.

Amazon CloudWatch secara otomatis mengumpulkan dan menampilkan metrik kunci untuk fungsi Lambda Anda. Metrik ini membantu Anda menganalisis kinerja fungsi dan menelusuri masalah.

Metrik yang dipantau:

  1. Invocations: Melacak jumlah pemanggilan fungsi Anda. Membantu memahami pola lalu lintas dan tren penggunaan.
  2. Errors: Menampilkan jumlah kesalahan selama eksekusi fungsi. Gunakan ini untuk mengidentifikasi tingkat kegagalan dan men-debug masalah.
  3. Duration: Mengukur waktu yang dibutuhkan untuk mengeksekusi fungsi. Ini penting untuk mengoptimalkan kinerja dan mengelola biaya.
  4. Throttles: Menunjukkan jumlah pemanggilan yang dibatasi karena mencapai batas konkruensi.

Mengakses metrik:

  • Buka CloudWatch Metrics Console.
  • Pilih Lambda dari daftar namespace.
  • Pilih fungsi yang ingin Anda pantau untuk melihat metrik terperinci.

Praktik Terbaik AWS Lambda

Sekarang setelah Anda menerapkan fungsi Lambda pertama, ada baiknya mengetahui beberapa praktik terbaik untuk proyek yang lebih kompleks di masa depan. Pada bagian ini, saya memberikan beberapa praktik terbaik yang perlu diingat.

1. Optimalkan cold start fungsi

Cold start terjadi saat fungsi Lambda dipanggil setelah tidak aktif, menimbulkan sedikit latensi ketika AWS menyediakan lingkungan eksekusi. Meskipun AWS meminimalkan overhead ini, ada langkah-langkah yang dapat Anda ambil untuk mengurangi waktu cold start:

Gunakan paket penerapan yang lebih kecil

  • Jaga agar paket penerapan tetap ringan dengan hanya menyertakan dependensi yang diperlukan.
  • Gunakan alat seperti AWS Lambda Layers untuk berbagi pustaka umum (misalnya, AWS SDK) di seluruh fungsi tanpa menyertakannya di masing-masing paket.
  • Kompresi dan minify kode bila memungkinkan, terutama untuk fungsi berbasis JavaScript atau Python.

Hindari inisialisasi berat dalam fungsi Anda

Pindahkan inisialisasi yang intensif sumber daya (misalnya, koneksi basis data, klien API, atau pustaka pihak ketiga) ke luar handler fungsi. Ini memastikan kode hanya dijalankan sekali per lingkungan dan digunakan kembali di pemanggilan berikutnya.

Manfaatkan provisioned concurrency

Untuk fungsi penting yang sensitif terhadap latensi, gunakan Provisioned Concurrency untuk menjaga lingkungan eksekusi tetap siap melayani permintaan. Meskipun menimbulkan biaya tambahan, ini menjamin latensi rendah untuk beban kerja prioritas tinggi.

2. Pertahankan fungsi tetap stateless

Statelessness adalah prinsip fundamental arsitektur serverless, memastikan aplikasi Anda dapat diskalakan dengan mulus:

Hindari ketergantungan pada data dalam memori

Fungsi Lambda bersifat sementara, artinya lingkungan eksekusinya tidak permanen dan mungkin tidak bertahan antar pemanggilan. Alih-alih mengandalkan variabel dalam memori, simpan informasi state di sistem eksternal seperti DynamoDB, S3, atau Redis.

Aktifkan idempoten

Rancang fungsi Anda agar dapat menangani peristiwa duplikat dengan baik. Gunakan pengenal unik untuk permintaan dan periksa log atau basis data untuk memastikan peristiwa yang sama tidak diproses berulang kali.

3. Gunakan variabel lingkungan

Variabel lingkungan adalah cara yang aman dan praktis untuk mengonfigurasi fungsi Lambda Anda:

Simpan informasi sensitif

  • Simpan kunci API, string koneksi basis data, dan rahasia lainnya sebagai variabel lingkungan. AWS Lambda mengenkripsi variabel ini saat disimpan dan mendekripsinya saat eksekusi.
  • Untuk keamanan tambahan, gunakan AWS Secrets Manager atau Systems Manager Parameter Store untuk mengelola rahasia secara dinamis.

Sederhanakan manajemen konfigurasi

Gunakan variabel lingkungan untuk mengelola konfigurasi seperti level log, pengaturan region, atau URL layanan pihak ketiga. Ini menghilangkan kebutuhan nilai hardcode, membuat fungsi Anda lebih portabel di berbagai lingkungan (misalnya, dev, staging, prod).

Kesimpulan

Tutorial ini telah memberikan panduan untuk memulai dengan AWS Lambda, dari memahami fitur dan kasus penggunaannya hingga menerapkan dan memantau fungsi secara efektif. Anda dapat membuat aplikasi serverless yang andal dan mudah dipelihara dengan menerapkan praktik terbaik seperti mengoptimalkan cold start, menjaga fungsi tetap stateless, dan menggunakan variabel lingkungan.

AWS Lambda adalah cara untuk membangun arsitektur modern berbasis peristiwa yang terintegrasi dengan ekosistem AWS. Jika Anda ingin mempelajarinya lebih lanjut, saya menyarankan untuk melihat kursus AWS DataCamp.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Data Scientist, Pendiri & Kreator PyCaret

Topik
AWS
Python

Pelajari lebih lanjut tentang AWS dengan kursus-kursus ini!

Kursus

Konsep Teknologi dan Layanan Cloud AWS

3 jam
22.3K
Kuasai teknologi cloud AWS melalui pembelajaran praktis dan penerapan langsung dalam ekosistem AWS.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya