Umum

T: Apa itu AWS Lambda?

AWS Lambda memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server. Anda membayar hanya untuk waktu komputasi yang digunakan – tidak dikenai biaya ketika kode Anda tidak berjalan. Dengan Lambda, Anda dapat menjalankan kode hampir untuk semua jenis aplikasi atau layanan backend – semua tanpa administrasi. Cukup unggah kode Anda dan Lambda menangani segala yang diperlukan untuk menjalankan dan menskalakan kode Anda dengan ketersediaan yang sangat baik. Anda dapat mengatur kode untuk secara otomatis memicu dari layanan AWS lainnya atau memanggilnya secara langsung dari web atau aplikasi ponsel.

T: Apa itu komputasi tanpa server?

Komputasi tanpa server memungkinkan Anda membuat dan menjalankan aplikasi dan layanan tanpa memikirkan tentang server. Dengan komputasi tanpa server, aplikasi Anda masih berjalan di server, tetapi semua manajemen server dilakukan oleh AWS. Inti dari komputasi tanpa server adalah AWS Lambda, yang memungkinkan Anda menjalankan kode tanpa menyediakan atau mengelola server.

T: Kejadian apa yang dapat memicu fungsi AWS Lambda?

Silakan lihat dokumentasi kami untuk daftar lengkap sumber kejadian.

T: Kapan saya harus menggunakan AWS Lambda atau Amazon EC2?

Amazon Web Services menawarkan seperangkat layanan komputasi untuk memenuhi berbagai kebutuhan.

Amazon EC2 menawarkan fleksibilitas, dengan berbagai macam jenis instans dan opsi untuk menyesuaikan pengaturan sistem operasi, jaringan dan keamanan, serta seluruh tumpukan perangkat lunak, memungkinkan Anda memindahkan aplikasi yang ada ke cloud dengan mudah. Dengan Amazon EC2, Anda bertanggung jawab untuk menyediakan kapasitas, memantau kesehatan dan kinerja armada, serta merancang untuk toleransi kesalahan dan skalabilitas. AWS Elastic Beanstalk menawarkan layanan yang mudah digunakan untuk menerapkan dan menskalakan aplikasi web di mana Anda me-retain kepemilikan dan kontrol penuh atas instans EC2 yang mendasarinya. Amazon EC2 Container Service adalah layanan pengelolaan yang dapat diskalakan yang mendukung kontainer Docker dan memungkinkan Anda untuk mendistribusikan aplikasi pada klaster terkelola dari instans Amazon EC2 dengan mudah.

AWS Lambda memudahkan untuk mengeksekusi kode dalam menanggapi kejadian, seperti perubahan pada bucket Amazon S3, pembaruan pada tabel Amazon DynamoDB, atau kejadian khusus yang dihasilkan oleh aplikasi atau perangkat Anda. Dengan Lambda, Anda tidak perlu menyediakan instans Anda sendiri; Lambda melakukan semua aktivitas operasional dan administratif untuk Anda, termasuk menyediakan kapasitas, memantau kesehatan armada, menerapkan patch keamanan ke sumber daya komputasi yang mendasarinya, menerapkan kode, menjalankan front end layanan web, dan memantau serta mencatat kode Anda. AWS Lambda memberikan penskalaan yang mudah dan ketersediaan yang sangat baik untuk kode Anda tanpa upaya tambahan dari Anda.

T: Jenis kode apa yang dapat berjalan pada AWS Lambda?

AWS Lambda menawarkan cara yang mudah untuk menyelesaikan banyak aktivitas di cloud. Contohnya, Anda dapat menggunakan AWS Lambda untuk membangun back-end mobile yang mengambil dan mengubah data dari Amazon DynamoDB, penangan yang mengompresi atau mengubah objek saat diunggah ke Amazon S3, mengaudit dan melaporkan panggilan API yang dilakukan ke Amazon Web Service apa pun, dan pemrosesan data streaming tanpa server menggunakan Amazon Kinesis.

T: Bahasa apa yang didukung AWS Lambda?

AWS Lambda sejak awal mendukung kode Java, Go, PowerShell, Node.js, C#, Python, dan Ruby, serta menyediakan Runtime API yang memungkinkan Anda menggunakan bahasa pemrograman tambahan apa pun untuk menulis fungsi Anda. Baca dokumentasi kami tentang penggunaan Node.js, Python, Java, Ruby, C#, Go dan PowerShell.

T: Dapatkah saya mengakses infrastruktur yang dijalankan AWS Lambda?

Tidak. AWS Lambda mengoperasikan infrastruktur komputasi atas nama Anda, memungkinkannya melakukan pemeriksaan kesehatan, menerapkan patch keamanan, dan melakukan perawatan rutin lainnya.

T: Bagaimana AWS Lambda mengisolasi kode saya?

Setiap fungsi AWS Lambda berjalan di lingkungannya sendiri yang terisolasi, dengan sumber daya dan tampilan sistem filenya sendiri. AWS Lambda menggunakan teknik yang sama dengan Amazon EC2 untuk memberikan keamanan dan pemisahan di tingkat infrastruktur dan eksekusi.

T: Bagaimana AWS Lambda mengamankan kode saya?

AWS Lambda menyimpan kode di Amazon S3 dan mengenkripsinya saat istirahat. AWS Lambda melakukan pemeriksaan integritas tambahan saat kode Anda sedang digunakan.

T: Wilayah AWS mana yang tersedia untuk AWS Lambda?

Silakan merujuk ke Tabel Wilayah Infrastruktur Global AWS.

Fungsi AWS Lambda

T: Apa itu fungsi AWS Lambda?

Kode yang Anda jalankan pada AWS Lambda diunggah sebagai “fungsi Lambda”. Setiap fungsi memiliki informasi konfigurasi yang terkait, seperti nama, deskripsi, titik masuk, dan persyaratan sumber daya. Kode tersebut harus ditulis dalam gaya "stateless" yaitu harus diasumsikan tidak ada kesamaan dengan infrastruktur komputasi yang mendasarinya. Akses sistem file lokal, proses turunan, dan artefak yang serupa tidak boleh melampaui masa permintaan, dan setiap keadaan persisten harus disimpan di Amazon S3, Amazon DynamoDB, atau layanan penyimpanan lain yang tersedia di Internet. Fungsi Lambda dapat mencakup pustaka yang sudah ada, bahkan yang asli.

T: Apakah AWS Lambda akan menggunakan kembali instans fungsi?

Untuk meningkatkan kinerja, AWS Lambda dapat memilih untuk me-retain suatu instans dari fungsi Anda dan menggunakannya kembali untuk melayani permintaan berikutnya, daripada membuat salinan baru. Untuk mempelajari selengkapnya tentang bagaimana Lambda menggunakan kembali instans fungsi, kunjungi dokumentasi kami. Kode Anda seharusnya tidak menganggap bahwa hal ini akan selalu terjadi.

T: Bagaimana jika saya memerlukan ruang awal pada disk untuk fungsi AWS Lambda saya?

Setiap fungsi Lambda menerima 500 MB ruang disk non-persisten di direktori /tmp-nya sendiri.

T: Mengapa fungsi AWS Lambda harus stateless?

Menjaga fungsi stateless memungkinkan AWS Lambda meluncurkan dengan cepat sebanyak mungkin salinan fungsi sebagaimana diperlukan untuk menskalakan ke tingkat kejadian yang masuk. Meskipun model pemrograman AWS Lambda stateless, kode Anda dapat mengakses data stateful dengan memanggil layanan web lain, seperti Amazon S3 atau Amazon DynamoDB.

T: Dapatkah saya menggunakan utas dan proses dalam kode fungsi AWS Lambda saya?

Ya. AWS Lambda memungkinkan Anda menggunakan fitur bahasa dan sistem pengoperasian yang normal, seperti membuat utas dan proses tambahan. Sumber daya yang dialokasikan untuk fungsi Lambda, termasuk memori, waktu eksekusi, disk, dan penggunaan jaringan, harus dibagi di antara semua utas/proses yang digunakannya. Anda dapat meluncurkan proses menggunakan bahasa yang didukung oleh Amazon Linux.

T: Batasan apa yang berlaku untuk kode fungsi AWS Lambda?

Lambda mencoba mengenakan pembatasan sesedikit mungkin pada aktivitas bahasa dan sistem pengoperasian yang normal, tetapi ada beberapa aktivitas yang dinonaktifkan: Koneksi jaringan masuk diblokir oleh AWS Lambda, dan untuk koneksi keluar hanya soket TCP/IP dan UDP/IP yang didukung, dan panggilan sistem ptrace (debugging) diblokir. Lalu lintas TCP port 25 juga diblokir sebagai langkah anti-spam.

T: Bagaimana cara membuat fungsi AWS Lambda menggunakan konsol Lambda?

Jika menggunakan Node.js atau Phyton, Anda dapat menulis kode untuk fungsi Anda dengan editor kode di konsol AWS Lambda yang memungkinkan untuk menulis dan menguji fungsi Anda, dan melihat hasil eksekusi fungsi dalam lingkungan yang kuat dan seperti IDE. Buka konsol untuk memulai.

Anda juga dapat mengemas kode (dan pustaka yang bergantung) sebagai ZIP dan mengunggahnya menggunakan konsol AWS Lambda dari lingkungan lokal atau menentukan lokasi Amazon S3 tempat file ZIP berada. Unggahan tidak boleh lebih dari 50 MB (terkompresi). Anda dapat menggunakan plugin AWS Eclipse untuk menulis dan menerapkan fungsi Lambda di Java. Anda dapat menggunakan plugin Visual Studio untuk menulis dan menerapkan fungsi Lambda di C#, dan Node.js.

T: Bagaimana cara membuat fungsi AWS Lambda menggunakan Lambda CLI?

Anda juga dapat mengemas kode (dan pustaka yang bergantung) sebagai ZIP dan mengunggahnya menggunakan AWS CLI dari lingkungan lokal, atau menentukan lokasi Amazon S3 tempat file ZIP berada. Unggahan tidak boleh lebih dari 50 MB (terkompresi). Kunjungi panduan Memulai Lambda untuk memulai.

T: Apakah AWS Lambda mendukung variabel lingkungan?

Ya. Anda dapat dengan mudah membuat dan memodifikasi variabel lingkungan dari Konsol AWS Lambda, CLI, atau SDK. Untuk mempelajari selengkapnya tentang variabel lingkungan, lihat dokumentasi.

T: Dapatkah saya menyimpan informasi sensitif di variabel lingkungan?

Untuk informasi sensitif, seperti kata sandi database, kami merekomendasikan Anda menggunakan enkripsi sisi klien menggunakan AWS Key Management Service dan menyimpan nilai yang dihasilkan sebagai teks tersandi (ciphertext) dalam variabel lingkungan Anda. Anda harus menyertakan logika dalam kode fungsi AWS Lambda Anda untuk mendekripsi nilai-nilai ini.

T: Bagaimana saya dapat mengelola fungsi AWS Lambda?

Anda dapat dengan mudah mendaftar, menghapus, memperbarui, dan memantau fungsi Lambda Anda menggunakan dasbor di konsol AWS Lambda. Anda juga dapat menggunakan AWS CLI dan AWS SDK untuk mengelola fungsi Lambda Anda. Kunjungi Panduan Pengembang Lambda untuk mempelajari selengkapnya.

T: Apakah saya dapat melakukan pembagian kode lintas fungsi?

Ya, Anda dapat mengemas kode apa pun (kerangka kerja, SDK, pustaka, dan lainnya) sebagai Lapisan Lambda dan mengelola serta membagikannya dengan mudah di berbagai fungsi.

T: Bagaimana cara memantau fungsi AWS Lambda?

AWS Lambda secara otomatis memantau fungsi Lambda untuk Anda, melaporkan metrik real-time melalui Amazon CloudWatch, termasuk total permintaan, penggunaan konkurensi tingkat akun dan tingkat fungsi, latensi, tingkat kesalahan, dan permintaan terbatas. Anda dapat melihat statistik untuk setiap fungsi Lambda melalui konsol Amazon CloudWatch atau melalui konsol AWS Lambda. Anda juga dapat memanggil API pemantauan pihak ketiga dalam fungsi Lambda Anda.

Kunjungi Metrik pemecahan masalah CloudWatch untuk mempelajari selengkapnya. Biaya standar untuk AWS Lambda berlaku untuk penggunaan metrik bawaan Lambda.

T: Bagaimana cara memecahkan masalah kegagalan dalam fungsi AWS Lambda?

AWS Lambda secara otomatis terintegrasi dengan Amazon CloudWatch logs, membuat grup log untuk setiap fungsi Lambda, dan menyediakan entri log peristiwa siklus aktif aplikasi dasar, termasuk logging sumber daya yang dikonsumsi untuk setiap penggunaan fungsi itu. Anda dapat dengan mudah memasukkan pernyataan logging tambahan ke dalam kode Anda. Anda juga dapat memanggil API logging pihak ketiga dalam fungsi Lambda Anda. Kunjungi Pemecahan masalah fungsi Lambda untuk mempelajari selengkapnya. Tarif Amazon CloudWatch Logs akan berlaku.

T: Bagaimana cara menskalakan fungsi AWS Lambda?

Anda tidak harus menskalakan fungsi Lambda – AWS Lambda menskalakannya secara otomatis untuk Anda. Setiap kali pemberitahuan kejadian diterima untuk fungsi Anda, AWS Lambda dengan cepat menempatkan kapasitas gratis dalam armada komputasinya dan menjalankan kode Anda. Karena kode stateless, AWS Lambda dapat memulai sebanyak mungkin salinan dari fungsi Anda sesuai kebutuhan tanpa penundaan pemasangan dan konfigurasi yang lama. Tidak ada batasan fundamental untuk menskalakan sebuah fungsi. AWS Lambda akan secara dinamis mengalokasikan kapasitas untuk menyesuaikan laju kejadian yang akan datang.

T: Bagaimana sumber daya komputasi ditetapkan untuk fungsi AWS Lambda?

Dalam model sumber daya AWS Lambda, Anda memilih jumlah memori yang Anda inginkan untuk fungsi Anda, dan dialokasikan daya CPU proporsional dan sumber daya lainnya. Misalnya, memilih memori 256 MB akan mengalokasikan kira-kira dua kali lipat daya CPU ke fungsi Lambda Anda seperti meminta memori 128 MB, dan setengah kali lipat daya CPU seperti memilih memori 512 MB. Untuk mempelajari lebih lanjut, lihat dokumentasi Konfigurasi Fungsi kami.

Anda dapat mengatur memori Anda dari 128 MB menjadi 10.240 MB.

T: Kapan seharusnya saya menggunakan fungsi AWS Lambda dengan memori lebih dari 3008 MB?

Pelanggan yang menjalankan beban kerja intensif memori atau komputasi sekarang dapat meningkatkan fungsi mereka. Fungsi memori yang lebih besar membantu aplikasi multithread berjalan lebih cepat, menjadikannya ideal untuk data dan aplikasi intensif komputasi seperti machine learning, tugas batch dan ETL, pemodelan keuangan, genomik, HPC, dan pemrosesan media.

T: Berapa lama fungsi AWS Lambda dapat dijalankan?

Fungsi AWS Lambda dapat dikonfigurasi agar berjalan hingga 15 menit per eksekusi. Anda dapat mengatur batas waktu ke nilai antara 1 hingga 15 menit.

T: Bagaimana saya akan dikenakan biaya untuk menggunakan fungsi AWS Lambda?

AWS Lambda diberi harga berdasarkan bayar per penggunaan. Harap lihat halaman harga AWS Lambda untuk detail.

T: Bisakah saya menghemat uang di AWS Lambda dengan Compute Savings Plan?

Ya. Selain menghemat uang di Amazon EC2 dan AWS Fargate, Anda juga dapat menggunakan Compute Savings Plans untuk menghemat uang di AWS Lambda. Compute Savings Plans menawarkan diskon hingga 17% pada Durasi, Provisioned Concurrency, dan Durasi (Provisioned Concurrency). Compute Savings Plans tidak menawarkan diskon pada Permintaan dalam tagihan Lambda Anda. Namun, komitmen Compute Savings Plans Anda dapat berlaku untuk Permintaan dengan tarif reguler.

T: Apakah AWS Lambda mendukung penentuan versi?

Ya. Secara default, setiap fungsi AWS Lambda memiliki satu versi kode terkini. Klien fungsi Lambda Anda dapat memanggil versi tertentu atau mendapatkan implementasi terbaru. Silakan baca dokumentasi tentang versi fungsi Lambda.

T: Setelah kode diunggah, berapa lama fungsi AWS Lambda saya akan siap dipanggil?

Waktu penerapan dapat bervariasi dengan ukuran kode Anda, tetapi fungsi AWS Lambda biasanya siap dipanggil dalam beberapa detik setelah pengunggahan.

T: Dapatkah saya menggunakan versi pustaka dukungan milik sendiri?

Ya. Anda dapat menyertakan salinan pustaka milik sendiri (termasuk AWS SDK) untuk menggunakan versi yang berbeda dari default yang disediakan oleh AWS Lambda.

Menggunakan AWS Lambda untuk memproses kejadian AWS

T: Apa itu sumber kejadian?

Sumber kejadian adalah layanan AWS atau aplikasi buatan pengembang yang memproduksi kejadian yang memicu fungsi AWS Lambda untuk berjalan. Beberapa layanan memublikasikan kejadian ini ke Lambda dengan memanggil fungsi cloud secara langsung (misalnya, Amazon S3). Lambda juga dapat meminta sumber daya di layanan lain yang tidak memublikasikan kejadian ke Lambda. Misalnya, Lambda dapat menarik catatan dari aliran Amazon Kinesis atau antrean Amazon SQS dan menjalankan fungsi Lambda untuk setiap pesan yang diambil.

Banyak layanan lain, seperti AWS CloudTrail, dapat bertindak sebagai sumber kejadian hanya dengan login ke Amazon S3 dan menggunakan pemberitahuan bucket S3 untuk memicu fungsi AWS Lambda.

T: Sumber kejadian apa yang dapat digunakan dengan AWS Lambda?

Silakan lihat dokumentasi kami untuk daftar lengkap sumber kejadian.

T: Bagaimana kejadian direpresentasikan di AWS Lambda?

Kejadian diteruskan ke fungsi Lambda sebagai parameter input kejadian. Untuk sumber kejadian di mana kejadian tiba dalam batch, seperti Amazon SQS, Amazon Kinesis, dan Amazon DynamoDB Streams, parameter kejadian dapat berisi beberapa peristiwa dalam satu panggilan, berdasarkan ukuran batch yang Anda minta. Untuk mempelajari selengkapnya tentang pemberitahuan kejadian Amazon S3 kunjungi Mengonfigurasi Pemberitahuan untuk Kejadian Amazon S3. Untuk mempelajari selengkapnya tentang Amazon DynamoDB Streams kunjungi Panduan Pengembang DynamoDB Stream. Untuk mempelajari selengkapnya tentang menjalankan fungsi Lambda menggunakan Amazon SNS, kunjungi Panduan Pengembang Amazon SNS. Untuk informasi lebih lanjut tentang kejadian Amazon Cognito, kunjungi Amazon Cognito. Untuk informasi lebih lanjut tentang log AWS CloudTrail dan mengaudit panggilan API di seluruh layanan AWS, lihat AWS CloudTrail.

T: Bagaimana cara membuat fungsi AWS Lambda merespons perubahan di bucket Amazon S3?

Dari konsol AWS Lambda, Anda dapat memilih fungsi dan mengasosiasikannya dengan pemberitahuan dari bucket Amazon S3. Cara lainnya, Anda dapat menggunakan konsol Amazon S3 dan mengonfigurasi pemberitahuan bucket untuk mengirim ke fungsi AWS Lambda Anda. Fungsi yang sama ini juga tersedia melalui AWS SDK dan CLI.

T: Bagaimana cara membuat fungsi AWS Lambda merespons pembaruan di tabel Amazon DynamoDB?

Anda dapat memicu fungsi Lambda pada pembaruan tabel DynamoDB dengan berlangganan fungsi Lambda Anda ke DynamoDB Stream yang terkait dengan tabel. Anda dapat menghubungkan DynamoDB Stream dengan fungsi Lambda menggunakan konsol Amazon DynamoDB, konsol AWS Lambda, atau API registerEventSource Lambda.

T: Bagaimana cara menggunakan fungsi AWS Lambda untuk memproses rekaman di aliran Amazon Kinesis?

Dari konsol AWS Lambda, Anda dapat memilih fungsi Lambda dan menghubungkannya dengan aliran Amazon Kinesis yang dimiliki oleh akun yang sama. Fungsi yang sama ini juga tersedia melalui AWS SDK dan CLI.

T: Bagaimana AWS Lambda memproses data dari Amazon Kinesis Streams dan Amazon DynamoDB Streams?

Rekaman Amazon Kinesis dan Amazon DynamoDB Streams yang dikirimkan ke fungsi AWS Lambda Anda secara ketat diurutkan, per pecahan. Hal ini berarti bahwa jika Anda memasukkan dua rekaman dalam pecahan yang sama, Lambda menjamin bahwa fungsi Lambda Anda akan berhasil dipanggil dengan rekaman pertama sebelum dipanggil dengan rekaman kedua. Jika permintaan untuk satu kali rekaman habis, dibatasi, atau menemui kesalahan lainnya, Lambda akan mencoba lagi hingga berhasil (atau rekaman mencapai waktu kedaluwarsa 24 jam) sebelum bergerak ke rekaman berikutnya. Urutan rekaman di seluruh shard yang berbeda tidak dijamin, dan pemrosesan setiap shard terjadi secara paralel.

T: Bagaimana seharusnya saya memilih antara AWS Lambda dan Amazon Kinesis Data Analytics untuk kebutuhan analitik saya?

AWS Lambda memungkinkan Anda melakukan agregasi berbasis waktu (seperti hitungan, maks., jumlah, rata-rata, dll.) dalam jangka waktu singkat hingga 15 menit untuk data Anda di Amazon Kinesis atau Amazon DynamoDB Streams, melalui partisi logis tunggal seperti shard. Fitur ini memberi Anda opsi menyiapkan analitik sederhana dengan mudah untuk aplikasi berbasis kejadian tanpa menambahkan kerumitan arsitektur, karena logika bisnis dan analitik Anda dapat ditempatkan dalam fungsi yang sama. Lambda memungkinkan agregasi melebihi 15 menit jendela tumbling maksimum berdasarkan tanda waktu kejadian. Amazon Kinesis Data Analytics memungkinkan Anda membangun aplikasi analitik yang lebih kompleks yang mendukung pilihan pemrosesan yang fleksibel dan toleransi kesalahan yang kuat dengan pemrosesan tepat satu kali tanpa duplikat, dan analitik yang dapat dilakukan di seluruh aliran data di beberapa partisi logis. Dengan KDA, Anda dapat menganalisis data melalui beberapa tipe jendela agregasi (jendela tumbling, jendela stagger, jendela geser, jendela sesi), baik menggunakan waktu kejadian maupun waktu pemrosesan.

  AWS Lambda Amazon KDA
Jendela Tumbling Ya Ya
Jendela Stagger Tidak Ya
Jendela Geser Tidak Ya
Jendela Sesi Tidak Ya
Pengayaan Tidak Ya
Tabel input dan referensi gabungan Tidak Ya
Pisahkan aliran input Tidak Ya
Pemrosesan tepat satu kali Tidak Ya
Jendela waktu maksimum 15 menit Tanpa batas
Cakupan agregasi Partisi/shard Aliran
Semantik waktu Waktu kejadian Waktu kejadian, Waktu pemrosesan

T: Bagaimana cara menggunakan fungsi AWS Lambda untuk merespons notifikasi yang dikirimkan oleh Amazon Simple Notification Service (SNS)?

Dari konsol AWS Lambda, Anda dapat memilih fungsi Lambda dan menghubungkannya dengan topik Amazon SNS. Fungsi yang sama ini juga tersedia melalui AWS SDK dan CLI.

T: Bagaimana cara menggunakan fungsi AWS Lambda untuk merespons email yang dikirimkan oleh Amazon Simple Email Service (SES)?

Dari Konsol Amazon SES, Anda dapat menyiapkan aturan penerimaan agar Amazon SES mengirimkan pesan Anda ke fungsi AWS Lambda. Fungsi yang sama tersedia melalui AWS SDK dan CLI.

T: Bagaimana cara menggunakan fungsi AWS Lambda untuk merespons alarm Amazon CloudWatch?

Pertama, konfigurasi alarm untuk mengirim pemberitahuan Amazon SNS. Kemudian dari konsol AWS Lambda, pilih fungsi Lambda dan kaitkan dengan topik Amazon SNS. Lihat Panduan Pengembang Amazon CloudWatch untuk mengetahui lebih banyak tentang menyiapkan alarm Amazon CloudWatch.

T: Bagaimana cara menggunakan fungsi AWS Lambda untuk merespons perubahan di data pengguna atau perangkat yang dikelola oleh Amazon Cognito?

Dari konsol AWS Lambda, Anda dapat memilih fungsi untuk dipicu ketika dataset apa pun yang berkaitan dengan kumpulan identitas Amazon Cognito disinkronkan. Fungsi yang sama ini juga tersedia melalui AWS SDK dan CLI. Kunjungi Amazon Cognito untuk mengetahui informasi lebih lanjut tentang menggunakan Amazon Cognito untuk berbagi dan menyinkronkan data di seluruh perangkat pengguna.

T: Bagaimana aplikasi saya dapat memicu fungsi AWS Lambda secara langsung?

Anda dapat memanggil fungsi Lambda menggunakan kejadian khusus melalui API panggilan AWS Lambda. Hanya pemilik fungsi atau akun AWS lain yang pemiliknya memberikan izin yang dapat memanggil fungsi tersebut. Kunjungi Panduan Pengembang Lambda untuk mempelajari selengkapnya.

T: Apa latensi dari pemanggilan fungsi AWS Lambda dalam merespons suatu kejadian?

AWS Lambda didesain untuk memproses kejadian dalam satuan milidetik. Latensi akan menjadi lebih tinggi segera setelah fungsi Lambda dibuat, diperbarui, atau jika belum digunakan baru-baru ini.

T: Bagaimana cara membuat back-end mobile menggunakan AWS Lambda?

Anda mengunggah kode yang diinginkan untuk dieksekusi oleh AWS Lambda kemudian memanggilnya dari aplikasi mobile Anda menggunakan AWS Lambda SDK yang disertakan dalam AWS Mobile SDK. Anda dapat membuat panggilan langsung (sinkronis) untuk mengambil atau memeriksa data secara real time maupun panggilan asinkronis. Anda juga dapat menentukan API khusus menggunakan Amazon API Gateway dan menjalankan fungsi Lambda Anda melalui klien yang kompatibel dengan REST. Untuk mempelajari selengkapnya tentang AWS Mobile SDK, kunjungi halaman AWS Mobile SDK. Untuk mempelajari selengkapnya tentang Amazon API Gateway, kunjungi halaman Amazon API Gateway.

T: Bagaimana cara memanggil fungsi AWS Lambda melalui HTTPS?

Anda dapat memanggil fungsi Lambda melalui HTTPS dengan menentukan API RESTful khusus menggunakan Amazon API Gateway. Hal ini memberikan Anda titik akhir untuk fungsi yang dapat merespons ke panggilan REST seperti GET, PUT, dan POST. Baca selengkapnya tentang menggunakan AWS Lambda dengan Amazon API Gateway.

T: Bagaimana fungsi AWS Lambda saya dapat menyesuaikan perilakunya ke perangkat dan aplikasi yang membuat permintaan?

Ketika dipanggil melalui AWS Mobile SDK, fungsi AWS Lambda secara otomatis mendapatkan wawasan tentang perangkat dan aplikasi yang membuat panggilan melalui objek ‘konteks’.

T: Bagaimana cara fungsi AWS Lambda saya mempersonalisasi perilakunya berdasarkan identitas pengguna akhir suatu aplikasi?

Ketika aplikasi Anda menggunakan identitas Amazon Cognito, pengguna akhir dapat mengautentikasi dirinya menggunakan berbagai penyedia layanan login publik seperti Amazon, Facebook, Google, dan layanan lain yang kompatibel dengan OpenID Connect. Kemudian, identitas pengguna secara otomatis dan aman disajikan ke fungsi Lambda Anda dalam bentuk id Amazon Cognito, yang memungkinkannya mengakses data pengguna dari Amazon Cognito, atau sebagai kunci untuk menyimpan dan mengambil data di Amazon DynamoDB atau layanan web lainnya.

T: Bagaimana cara membuat keterampilan Alexa menggunakan AWS Lambda?

AWS Lambda terintegrasi dengan Alexa Skills Kit, kumpulan API mandiri, peralatan, dokumentasi dan contoh kode yang mempermudah Anda untuk membuat kemampuan suara (atau “keterampilan”) untuk Alexa. Anda cukup mengunggah kode fungsi Lambda untuk keterampilan Alexa baru yang Anda buat, dan AWS Lambda melakukan sisanya, mengeksekusi kode sebagai respons untuk interaksi suara Alexa dan secara otomatis mengelola sumber daya komputasi untuk Anda. Baca dokumentasi Alexa Skills Kit untuk detail selengkapnya.

T: Apa yang terjadi jika fungsi saya gagal ketika memproses suatu kejadian?

Untuk pemberitahuan bucket Amazon S3 dan kejadian khusus, AWS Lambda akan mencoba menjalankan fungsi Anda tiga kali apabila terjadi kesalahan dalam kode atau jika Anda melebihi batas layanan atau sumber daya.

Untuk sumber kejadian berurutan yang diminta AWS Lambda untuk Anda, seperti Amazon DynamoDB Streams dan Amazon Kinesis Streams, Lambda akan terus mencoba eksekusi dalam hal kesalahan kode pengembang sampai data berakhir. Anda dapat memantau kemajuan melalui Amazon Kinesis dan konsol Amazon DynamoDB, serta melalui metrik Amazon CloudWatch yang dihasilkan AWS Lambda untuk fungsi Anda. Anda juga dapat mengatur alarm Amazon CloudWatch berdasarkan tingkat kesalahan atau pembatasan eksekusi.

Menggunakan AWS Lambda untuk membangun aplikasi

T: Apa itu aplikasi tanpa server?

Aplikasi berbasis Lambda (disebut juga sebagai aplikasi tanpa server) terdiri dari fungsi yang dipicu oleh kejadian. Secara umum, aplikasi tanpa server terdiri dari satu atau beberapa fungsi yang dipicu oleh kejadian seperti unggahan objek ke Amazon S3, pemberitahuan Amazon SNS, atau tindakan API. Fungsi ini dapat berdiri sendiri atau memanfaatkan sumber daya lain seperti tabel DynamoDB atau bucket Amazon S3. Aplikasi tanpa server yang paling dasar adalah sebuah fungsi.

T: Bagaimana cara menerapkan dan mengelola aplikasi tanpa server?

Anda dapat menerapkan dan mengelola aplikasi tanpa server menggunakan Model Aplikasi Tanpa Server AWS (AWS Serverless Application Model, atau AWS SAM). AWS SAM adalah spesifikasi yang menentukan aturan untuk mengekspresikan aplikasi tanpa server di AWS. Spesifikasi ini sejajar dengan sintaks yang digunakan oleh AWS CloudFormation saat ini dan didukung secara asli dalam AWS CloudFormation sebagai satu set jenis sumber daya (disebut sebagai "sumber daya tanpa server"). Sumber daya ini memudahkan pelanggan AWS dalam menggunakan CloudFormation untuk mengonfigurasi dan menerapkan aplikasi tanpa server, menggunakan API CloudFormation yang ada.

T: Bagaimana saya dapat menemukan aplikasi tanpa server yang sudah ada yang dikembangkan oleh komunitas AWS?

Anda dapat memilih dari kumpulan aplikasi tanpa server yang diterbitkan oleh pengembang, perusahaan, dan partner di komunitas AWS dengan AWS Serverless Application Repository. Setelah menemukan aplikasi, Anda dapat mengonfigurasi dan menerapkannya langsung dari konsol Lambda.

T: Bagaimana cara mengotomatiskan penerapan untuk aplikasi tanpa server?

Anda dapat mengotomatiskan proses rilis aplikasi tanpa server menggunakan AWS CodePipeline dan AWS CodeDeploy. CodePipeline adalah layanan pengiriman berkelanjutan yang memungkinkan Anda memodelkan, memvisualisasikan, dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis aplikasi tanpa server. CodeDeploy memberikan mesin automasi penerapan untuk aplikasi berbasis Lambda Anda. CodeDeploy memungkinkan Anda mengorkestrasi penerapan sesuai dengan metodologi praktik terbaik yang sudah ada seperti penerapan canary dan linier, serta membantu Anda menetapkan pagar pembatas yang diperlukan untuk memverifikasi bahwa kode yang baru digunakan itu aman, stabil, dan siap dirilis sepenuhnya untuk produksi.

Untuk mempelajari selengkapnya tentang CI/CD tanpa server, kunjungi dokumentasi kami.

T: Bagaimana cara memulai membuat aplikasi tanpa server?

Untuk memulai, kunjungi konsol AWS Lambda dan unduh salah satu cetak biru kami. File yang Anda unduh akan berisi file AWS SAM (yang menentukan sumber daya AWS di aplikasi), dan file .ZIP (yang termasuk kode fungsi Anda). Anda kemudian dapat menggunakan perintah AWS CloudFormation untuk mengemas dan menerapkan aplikasi tanpa server yang baru saja diunduh. Untuk detail lebih lanjut, kunjungi dokumentasi kami.

T: Bagaimana cara mengoordinasikan panggilan antara beberapa fungsi AWS Lambda?

Anda dapat menggunakan AWS Step Functions untuk mengoordinasikan rangkaian fungsi AWS Lambda dalam urutan yang spesifik. Anda dapat memanggil beberapa fungsi Lambda secara berurutan, meneruskan output satu ke yang lain, dan/atau secara paralel, dan Step Functions akan mempertahankan status selama eksekusi untuk Anda.

T: Bagaimana cara memecahkan masalah aplikasi tanpa server?

Anda dapat mengaktifkan fungsi Lambda untuk penelusuran menggunakanAWS X-Ray dengan menambahkan izin X-Ray ke peran eksekusi fungsi Lambda Anda dan mengubah “mode penelusuran” fungsi Anda ke “aktif”. Ketika X-Ray diaktifkan untuk fungsi Lambda Anda, AWS Lambda akan memancarkan informasi penelusuran ke X-Ray mengenai biaya layanan Lambda yang timbul saat menjalankan fungsi Anda. Hal ini akan memberi Anda wawasan seperti biaya layanan Lambda, waktu inisiasi fungsi, dan waktu eksekusi fungsi. Selain itu, Anda dapat menyertakan SDK X-Ray dalam paket penerapan Lambda. Dengan cara ini, Anda dapat membuat segmen jejak milik sendiri, membuat anotasi jejak, atau melihat segmen jejak untuk panggilan hilir yang dibuat dari fungsi Lambda Anda. SDK X-Ray saat ini tersedia untuk Node.js dan Java. Kunjungi Pemecahan masalah aplikasi berbasis Lambda untuk mempelajari selengkapnya. Tarif AWS X-Ray akan berlaku.

T. Bisakah saya membangun aplikasi tanpa server yang terhubung ke database relasional?

Ya. Anda dapat membangun aplikasi tanpa server berbasis-Lambda yang sangat bisa diskalakan dan aman yang terhubung ke database relasional menggunakan Amazon RDS Proxy, proksi database yang sangat tersedia yang mengelola ribuan koneksi konkuren ke database relasional. Saat ini, RDS Proxy mendukung database MySQL dan Aurora. Anda dapat mulai menggunakan RDS Proxy melalui konsol Amazon RDS atau konsol AWS Lambda. Aplikasi tanpa server yang menggunakan gabungan koneksi terkelola penuh dari RDS Proxy akan ditagihkan sesuai dengan Harga RDS Proxy.

T: Bagaimana cara AWS SAM dilisensikan?

Spesifikasi ini bersumber terbuka di bawah Apache 2.0, yang memungkinkan Anda dan orang lain mengadopsi dan menggabungkan AWS SAM ke dalam alat pengembangan, penerapan, pemantauan, dan pengelolaan dengan lisensi yang ramah komersial. Anda dapat mengakses repositori AWS SAM pada GitHub di sini.

Dukungan Gambar Kontainer

T: Apa yang dimaksud dengan Dukungan Gambar Kontainer untuk AWS Lambda?

AWS Lambda saat ini memungkinkan Anda mengemas dan men-deploy fungsi sebagai gambar kontainer. Pelanggan dapat memanfaatkan fleksibilitas dan alat kontainer yang dikenal, serta agility dan kemudahan operasional AWS Lambda untuk membangun aplikasi.

T: Bagaimana cara menggunakan Dukungan Gambar Kontainer untuk AWS Lambda?

Anda dapat memulai dengan gambar dasar yang disediakan AWS untuk Lambda atau menggunakan salah satu gambar komunitas atau perusahaan privat pilihan Anda. Kemudian, cukup gunakan Docker CLI untuk membuat gambar, unggah ke Amazon ECR, lalu buat fungsi menggunakan semua antarmuka dan alat Lambda yang sudah dikenal, seperti AWS Management Console, AWS CLI, AWS SDK, AWS SAM, dan AWS CloudFormation.

T: Manakah tipe gambar kontainer yang didukung?

Anda dapat men-deploy gambar dasar Linux pihak ketiga (mis. Alpine atau Debian) ke Lambda selain gambar yang disediakan Lambda. AWS Lambda akan mendukung semua gambar berdasarkan format manifes gambar berikut: Docker Image Manifest V2 Schema 2 (digunakan dengan Docker versi 1.10 dan yang lebih baru) atau Open Container Initiative (OCI) Spec (v1.0 dan yang lebih baru). Lambda mendukung gambar dengan ukuran hingga 10 GB.

T: Apa gambar dasar yang bisa digunakan?

AWS Lambda menyediakan berbagai gambar dasar yang dapat diperluas oleh pelanggan dan pelanggan juga dapat menggunakan gambar berbasis Linux yang disukai dengan ukuran hingga 10 GB.

T: Apa alat kontainer yang dapat digunakan untuk mengemas dan men-deploy fungsi sebagai gambar kontainer?

Anda dapat menggunakan alat kontainer apa pun selama alat tersebut mendukung salah satu format manifes gambar kontainer berikut: Docker Image Manifest V2 Schema 2 (digunakan dengan Docker versi 1.10 dan yang lebih baru) atau Open Container Initiative (OCI) Specifications (v1.0 dan yang lebih baru). Misalnya, Anda dapat menggunakan alat kontainer asli (mis. docker run, docker compose, Buildah, and Packer) untuk menentukan fungsi sebagai gambar kontainer dan men-deploy ke Lambda.

T: Apa fitur AWS Lambda yang tersedia untuk fungsi yang di-deploy sebagai gambar kontainer?

Semua fitur AWS Lambda yang ada, kecuali lapis Lambda dan Penandatanganan Kode, dapat digunakan dengan fungsi yang di-deploy sebagai gambar kontainer. Setelah di-deploy, AWS Lambda akan memperlakukan gambar sebagai gambar yang tidak dapat diubah. Pelanggan dapat menggunakan lapis kontainer selama proses pembangunannya untuk menyertakan dependensi.

T: Akankah AWS Lambda melakukan patch dan memperbarui gambar kontainer yang saya deploy?

Tidak untuk saat ini. Gambar Anda, setelah di-deploy ke AWS Lambda, tidak akan dapat diubah. Layanan ini tidak akan melakukan patch atau memperbarui gambar. Namun, AWS Lambda akan menerbitkan gambar dasar yang dikurasi untuk semua runtime yang didukung yang didasarkan pada lingkungan yang dikelola Lambda. Gambar yang dipublikasikan ini akan di-patch dan diperbarui bersama dengan pembaruan pada runtime yang dikelola AWS Lambda. Anda dapat menarik dan menggunakan gambar dasar terbaru dari DockerHub atau Amazon ECR Public, membangun ulang gambar kontainer Anda, dan men-deploy ke AWS Lambda melalui Amazon ECR. Layanan ini memungkinkan Anda membangun dan menguji gambar dan runtime yang diperbarui, sebelum men-deploy gambar untuk diproduksi.

T: Apa perbedaan antara fungsi yang dibuat menggunakan arsip ZIP dengan gambar kontainer?

Ada tiga perbedaan utama antara fungsi yang dibuat menggunakan arsip ZIP dengan gambar kontainer:

  1. Fungsi yang dibuat menggunakan arsip ZIP memiliki ukuran paket kode maksimum sebesar 250 MB saat dibuka dari zip, dan fungsi yang dibuat menggunakan gambar kontainer memiliki ukuran gambar maksimum 10 GB. 
  2. Lambda menggunakan Amazon ECR sebagai penyimpanan kode dasar untuk fungsi yang ditentukan sebagai gambar kontainer, agar fungsi tidak dapat digunakan ketika gambar dasar dihapus dari ECR. 
  3. Fungsi ZIP secara otomatis di-patch untuk keamanan runtime dan perbaikan bug terbaru. Fungsi yang ditentukan sebagai gambar kontainer tidak dapat diubah dan pelanggan bertanggung jawab atas komponen yang dikemas dalam fungsinya. Pelanggan dapat memanfaatkan gambar dasar yang disediakan AWS yang diperbarui secara berkala oleh AWS untuk keamanan dan perbaikan bug, menggunakan patch terbaru yang tersedia.

T: Apakah ada perbedaan performa antara fungsi yang ditentukan sebagai zip dan gambar kontainer?

Tidak - AWS Lambda memastikan profil performa untuk fungsi yang dikemas sebagai gambar kontainer sama dengan yang dikemas sebagai arsip ZIP, terutama waktu mulai sub-detik.

T: Berapa biaya yang dikenakan untuk men-deploy fungsi Lambda sebagai gambar kontainer?

Tidak ada biaya tambahan untuk mengemas dan men-deploy fungsi sebagai gambar kontainer ke AWS Lambda. Saat memanggil fungsi yang di-deploy sebagai gambar kontainer, Anda membayar harga reguler untuk permintaan dan durasi eksekusi. Untuk mempelajari selengkapnya, kunjungi harga AWS Lambda. Anda akan dikenakan biaya atas penyimpanan gambar kontainer Anda di Amazon ECR dengan harga ECR standar. Untuk mempelajari selengkapnya, kunjungi harga Amazon ECR.

T: Apa yang dimaksud dengan Lambda Runtime Interface Emulator (RIE)?

Lambda Runtime Interface Emulator adalah proxy untuk API Runtime Lambda yang memungkinkan pelanggan menguji secara lokal fungsi Lambda mereka yang dikemas sebagai gambar kontainer. Ini adalah server web ringan yang mengonversi permintaan HTTP menjadi kejadian JSON dan meniru API Runtime Lambda. Server ini memungkinkan Anda menguji fungsi secara lokal menggunakan alat yang sudah dikenal seperti cURL dan Docker CLI (saat menguji fungsi yang dikemas sebagai gambar kontainer). Server ini juga menyederhanakan perjalanan aplikasi Anda pada layanan komputasi tambahan. Anda dapat menyertakan Lambda Runtime Interface Emulator dalam gambar kontainer agar menerima permintaan HTTP secara asli, bukan kejadian JSON yang diperlukan untuk deployment ke Lambda. Komponen ini tidak meniru orkestrator Lambda atau konfigurasi keamanan dan autentikasi. Runtime Interface Emulator adalah sumber terbuka di GitHub. Anda dapat memulai dengan mengunduh dan menginstalnya di mesin lokal Anda.

T: Mengapa diperlukan Lambda Runtime Interface Emulator (RIE) selama pengujian lokal?

API Runtime Lambda dalam layanan Lambda yang berjalan menerima kejadian JSON dan menampilkan respons. Lambda Runtime Interface Emulator memungkinkan fungsi yang dikemas sebagai gambar kontainer menerima permintaan HTTP selama pengujian lokal dengan alat seperti cURL, dan menampilkannya melalui antarmuka yang sama secara lokal ke fungsi tersebut. Ini memungkinkan Anda menggunakan perintah docker run atau docker-compose up untuk menguji aplikasi lambda Anda secara lokal.

T: Apa perilaku fungsi yang dapat diuji secara lokal dengan emulator?

Anda dapat menggunakan emulator untuk menguji apakah kode fungsi Anda kompatibel dengan lingkungan Lambda, berhasil berjalan, dan memberikan output yang diharapkan. Misalnya, Anda dapat meniru kejadian pengujian dari sumber kejadian lainnya. Anda juga dapat menggunakannya untuk menguji ekstensi dan agen yang dibangun ke dalam gambar kontainer terhadap API Ekstensi Lambda.

T: Bagaimana Runtime Interface Emulator (RIE) membantu menjalankan gambar yang kompatibel dengan Lambda pada layanan komputasi tambahan?

Pelanggan dapat menambahkan Runtime Interface Emulator sebagai titik entri ke gambar kontainer atau mengemasnya sebagai tambahan untuk memastikan gambar kontainer sekarang menerima permintaan HTTP, bukan kejadian JSON. Ini menyederhanakan perubahan yang diperlukan untuk menjalankan gambar kontainernya pada layanan komputasi tambahan. Pelanggan akan bertanggung jawab untuk memastikan mereka mengikuti semua praktik terbaik keamanan, performa, dan konkurensi untuk lingkungan pilihan mereka. RIE dikemas sebelumnya ke dalam gambar yang disediakan AWS Lambda, dan tersedia secara default di AWS SAM CLI. Penyedia gambar dasar dapat menggunakan dokumentasi untuk menyediakan pengalaman yang sama untuk gambar dasar mereka.

T: Bagaimana saya bisa men-deploy aplikasi dalam kontainer yang ada ke AWS Lambda?

Anda dapat men-deploy aplikasi dalam kontainer ke AWS Lambda jika memenuhi persyaratan berikut:

  1. Gambar kontainer harus mengimplementasikan API Runtime Lambda. Kami memiliki satu set paket perangkat lunak sumber terbuka, Runtime Interface Client (RIC), yang mengimplementasikan API Runtime Lambda, yang memungkinkan Anda memperluas gambar dasar pilihan Anda dengan mulus agar kompatibel dengan Lambda.
  2. Gambar kontainer harus bisa berjalan pada sistem file hanya baca. Kode fungsi Anda dapat mengakses penyimpanan direktori /tmp yang dapat ditulis sebesar 512 MB. Jika Anda menggunakan gambar yang memerlukan direktori root yang dapat ditulis, konfigurasikan untuk menulis ke direktori /tmp.
  3. File yang diperlukan untuk menjalankan kode fungsi dapat dibaca oleh pengguna Lambda default. Lambda menentukan pengguna Linux default dengan izin hak istimewa paling rendah yang mengikuti praktik terbaik keamanan. Anda perlu memverifikasi kode aplikasi Anda tidak tergantung pada file yang dibatasi oleh pengguna Linux lain agar dapat dijalankan.
  4. Ini adalah gambar kontainer berbasis Linux.

Provisioned Concurrency

T: Apa itu AWS Lambda Provisioned Concurrency?

Provisioned Concurrency memberi Anda kontrol lebih besar pada kinerja aplikasi tanpa server Anda. Jika diaktifkan, Provisioned Concurrency menjaga fungsi selalu dimulai dan sangat siap untuk merespons dalam milidetik dua digit.

T: Bagaimana caranya menyiapkan dan mengelola Provisioned Concurrency?

Anda dapat mengonfigurasi konkurensi pada fungsi Anda melalui AWS Management Console, Lambda API, AWS CLI, dan AWS CloudFormation. Cara termudah mendapatkan manfaat dari Provisioned Concurrency adalah dengan menggunakan AWS Auto Scaling. Anda dapat menggunakan Auto Scaling Aplikasi untuk mengonfigurasi jadwal, atau meminta Auto Scaling untuk menyesuaikan level Provisioned Concurrency secara otomatis dalam real time sebagai perubahan permintaan. Untuk mempelajari lebih lanjut tentang Provisioned Concurrency, lihat dokumentasi.

Q: Apakah saya perlu mengubah kode jika ingin menggunakan Provisioned Concurrency?

Anda tidak perlu melakukan perubahan apa pun pada kode Anda untuk menggunakan Provisioned Concurrency. Provisioned Concurrency berfungsi lancar dengan semua fungsi dan waktu proses yang ada. Tidak ada perubahan pada model pemanggilan dan eksekusi Lambda saat menggunakan Provisioned Concurrency.

Q: Bagaimana cara perhitungan biaya Provisioned Concurrency?

Provisioned Concurrency menambahkan pricing dimension, dari ‘Provisioned Concurrency’, agar fungsi selalu diinisialisasi. Bila diaktifkan, Anda membayar untuk jumlah konkurensi yang Anda konfigurasi dan untuk periode waktu selama Anda mengonfigurasinya. Ketika fungsi Anda dijalankan selagi Provisioned Concurrency dikonfigurasi di dalamnya, Anda juga membayar Permintaan dan Durasi eksekusi. Untuk mempelajari harga Provisioned Concurrency selengkapnya, lihat Harga AWS Lambda.

T: Kapan sebaiknya saya menggunakan Provisioned Concurrency?

Provisioned Concurrency cocok untuk membuat aplikasi yang sensitif terhadap latensi, seperti web atau backend mobile, API yang dijalankan secara sinkron, dan microservice interaktif. Anda dapat dengan mudah mengonfigurasi jumlah konkurensi yang sesuai berdasarkan permintaan unik aplikasi Anda. Anda dapat meningkatkan jumlah konkurensi saat permintaan meningkat dan menurunkannya, atau mematikan sepenuhnya, saat permintaan menurun.

T: Apa yang terjadi jika fungsi menerima pemanggilan di atas level Provisioned Concurrency yang telah dikonfigurasi?

Jika konkurensi suatu fungsi mencapai level yang telah dikonfigurasi, pemanggilan fungsi berikutnya akan memiliki karakteristik latensi dan skala fungsi Lambda reguler. Anda dapat membatasi fungsi Anda ke hanya menaikkan skala ke level terkonfigurasi. Jika dilakukan maka akan mecegah fungsi agar tidak melebihi level Provisioned Concurrency yang telah dikonfigurasi. Ini adalah mekanisme untuk mencegah variabilitas yang tidak diinginkan di aplikasi Anda saat permintaan melebihi jumlah yang diantisipasi.

Amazon EFS untuk AWS Lambda

T: Apa yang dimaksud Amazon EFS untuk AWS Lambda?

Dengan Amazon Elastic File System (Amazon EFS) untuk AWS Lambda, pelanggan dapat membaca, menulis, dan mempertahankan volume data yang besar dengan aman, hampir pada segala skala menggunakan sistem file NFS elastis yang dikelola sepenuhnya, yang dapat menskalakan sesuai permintaan tanpa penyediaan atau pengelolaan kapasitas. Sebelumnya, pengembang menambahkan kode ke fungsi untuk mengunduh data dari S3 atau basis data ke penyimpanan lokal sementara, terbatas hanya 512 MB. Dengan EFS untuk Lambda, pengembang tidak perlu menulis kode untuk mengunduh data ke penyimpanan sementara agar dapat memprosesnya.

T: Bagaimana cara menyiapkan Amazon EFS untuk Lambda?

Pengembang dapat dengan mudah menghubungkan sistem file EFS yang ada ke fungsi Lambda melalui Titik Akses EFS menggunakan konsol, CLI, atau SDK. Ketika fungsi dipanggil pertama kali, sistem file akan dipasang secara otomatis dan disediakan untuk kode fungsi. Anda dapat mempelajari selengkapnya di dokumentasi.

T: Apakah saya perlu mengonfigurasi fungsi dengan pengaturan VPC sebelum dapat menggunakan sistem file Amazon EFS?

Ya. Target pemasangan untuk Amazon EFS terkait dengan subnet di VPC. Fungsi AWS Lambda perlu dikonfigurasi untuk mengakses VPC tersebut.

T: Siapa yang sebaiknya menggunakan Amazon EFS untuk Lambda?

EFS untuk Lambda cocok digunakan untuk membangun aplikasi pembelajaran mesin atau memuat file atau model referensi yang besar, memproses atau mencadangkan data berjumlah besar, menghosting konten web, atau mengembangkan sistem build internal. Pelanggan juga dapat menggunakan EFS untuk Lambda guna mempertahankan status antara panggilan dalam arsitektur layanan mikro stateful, di alur kerja StepFunctions, atau berbagi file antara aplikasi tanpa server dan aplikasi berbasis instans atau kontainer.

T: Apakah data saya akan dienkripsi dalam transit?

Ya. Enkripsi data dalam transit menggunakan Transport Layer Security (TLS) 1.2 standar industri untuk mengenkripsi data yang dikirim antara fungsi AWS Lambda dan sistem file Amazon EFS.

T: Apakah data saya dienkripsi saat istirahat?

Pelanggan dapat menyediakan Amazon EFS untuk mengenkripsi data saat istirahat. Data yang terenkripsi saat istirahat dienkripsi secara transparan saat ditulis dan didekripsi secara transparan saat dibaca, sehingga Anda tidak perlu mengubah aplikasi Anda. Kunci enkripsi dikelola oleh AWS Key Management Service (KMS), menghilangkan kebutuhan untuk membuat dan memelihara infrastruktur pengelolaan kunci yang aman.

T: Bagaimana saya akan dikenakan biaya untuk Amazon EFS untuk AWS Lambda?

Tidak ada biaya tambahan untuk menggunakan Amazon EFS untuk AWS Lambda. Pelanggan membayar harga standar untuk AWS Lambda dan untuk Amazon EFS. Saat menggunakan Lambda dan EFS dalam availability zone yang sama, pelanggan tidak dikenakan biaya untuk transfer data. Namun, jika mereka menggunakan peering VPC untuk akses Lintas Akun, akan menimbulkan biaya transfer data. Untuk mempelajari selengkapnya, lihat Harga.

T: Dapatkah saya menghubungkan lebih dari satu sistem file Amazon EFS dengan fungsi AWS Lambda saya?

Tidak. Setiap fungsi AWS Lambda akan dapat mengakses satu sistem file EFS.

T: Dapatkah saya menggunakan sistem file Amazon EFS yang sama di beberapa fungsi, kontainer, dan instans?

Ya. Amazon EFS mendukung fungsi Lambda, kontainer ECS dan Fargate, dan instans EC2. Anda dapat membagikan sistem file yang sama dan menggunakan kebijakan IAM dan Titik Akses untuk mengontrol apa yang dapat diakses oleh setiap fungsi, kontainer, atau instans.  

Ekstensi Lambda

T: Apa itu Ekstensi AWS Lambda?

Ekstensi AWS Lambda (Pratinjau) memungkinkan Anda mengintegrasikan Lambda dengan alat-alat favorit Anda untuk pemantauan, kemudahan untuk diamati, keamanan, dan tata kelola. Ekstensi memungkinkan Anda dan vendor alat pilihan Anda terhubung ke siklus aktif Lambda dan terintegrasi lebih mendalam ke lingkungan eksekusi Lambda.

T: Bagaimana cara kerja ekstensi Lambda?

Ekstensi adalah proses pendamping yang berjalan di dalam lingkungan eksekusi Lambda yang merupakan tempat kode fungsi Anda dieksekusi. Selain itu, ekstensi dapat berjalan di luar invokasi fungsi - yaitu ekstensi dimulai sebelum fungsi dimulai, berjalan secara paralel dengan fungsi, dapat berjalan setelah eksekusi fungsi selesai, dan dapat berjalan sebelum layanan Lambda menonaktifkan lingkungan eksekusi.

T: Apa kegunaan Ekstensi Lambda?

Anda dapat menggunakan ekstensi untuk alat-alat favorit Anda untuk pemantauan, kemudahan untuk diamati, keamanan, dan tata kelola dari AWS serta mitra berikut: AppDynamics, Datadog, Dynatrace, Epsagon, HashiCorp, Lumigo, Check Point CloudGuard, New Relic, Thundra, AWS AppConfig, Amazon CloudWatch. Untuk mempelajari selengkapnya tentang ekstensi ini, kunjungi luncurkan postingan blog.

T: Bagaimana cara menyiapkan dan mengelola ekstensi Lambda?

Anda dapat menerapkan ekstensi, menggunakan Lapisan, pada beberapa fungsi Lambda menggunakan Konsol, CLI, atau alat-alat Infrastructure as Code seperti CloudFormation, AWS Serverless Application Model, dan Terraform. Untuk memulai, kunjungi dokumentasi. Selama pratinjau, Anda dapat menjalankan maksimum 10 ekstensi per fungsi.

T: Runtime apa yang dapat digunakan dengan ekstensi AWS Lambda?

Anda dapat menggunakan ekstensi dengan runtime berikut: .NET Core 3.1 (C#/PowerShell) (dotnetcore3.1), Runtime kustom (disediakan), Runtime kustom pada Amazon Linux 2 (disediakan.al2), Java 11 (Corretto) (java11), Java 8 (Corretto) (java8.al2), Node.js 12.x (nodejs12.x), Node.js 10.x (nodejs10.x), Python 3.8 (python3.8), Python 3.7 (python3.7), Ruby 2.7 (ruby2.7), Ruby 2.5 (ruby2.5). Ekstensi Lambda dan fungsi yang dijalankannya dapat menggunakan runtime yang berbeda-beda.

T: Apakah Ekstensi berpengaruh terhadap batas paket penerapan?

Ya, ukuran unzipped total dari fungsi dan semua Ekstensi tidak dapat melebihi batas ukuran paket penerapan unzipped sebesar 250 MB.

T: Apakah penggunaan ekstensi berdampak pada kinerja?

Ekstensi dapat berdampak pada kinerja fungsi Anda karena menggunakan sumber daya seperti CPU, memori, dan penyimpanan bersamaan dengan fungsi, dan juga karena ekstensi dijalankan sebelum kode fungsi. Contohnya, jika ekstensi melakukan operasi intensif komputasi, Anda mungkin melihat bahwa durasi eksekusi fungsi Anda meningkat karena ekstensi dan kode fungsi Anda menggunakan sumber daya CPU yang sama.

Anda dapat menggunakan metrik PostRuntimeExecutionDuration untuk mengukur waktu tambahan yang dipakai ekstensi setelah eksekusi fungsi, dan, Anda dapat menggunakan metrik MaxMemoryUsed untuk mengukur kenaikan penggunaan memori. Untuk memahami dampak dari ekstensi tertentu, Anda juga dapat menggunakan metrik Durasi. Untuk saat ini, respons eksekusi fungsi dikembalikan setelah eksekusi fungsi dan eksekusi ekstensi selesai. Untuk mempelajari selengkapnya, kunjungi Dokumentasi pengembang Lambda.

T: Bagaimana sistem pembayaran untuk penggunaan ekstensi Lambda?

Ekstensi menggunakan model penagihan yang sama dengan fungsi Lambda. Jika menggunakan fungsi Lambda dengan ekstensi, Anda membayar permintaan yang dipenuhi dan waktu komputasi gabungan yang digunakan untuk menjalankan kode dan semua ekstensi Anda, dengan kenaikan 1ms. Anda akan dikenakan biaya untuk waktu komputasi sesuai harga per durasi Lambda yang ada. Untuk mempelajari selengkapnya, lihat Harga AWS Lambda.

Siklus aktif Lambda tersusun dari tiga fase yang berbeda: ‘init’, saat AWS Lambda menjalankan fungsi, dependensi, dan ekstensi; ‘invoke’, saat Lambda mengeksekusi fungsi dan kode ekstensi sebagai respons terhadap pemicu; dan ‘shut down’, setelah eksekusi fungsi selesai, tetapi kode ekstensi masih dapat dieksekusi. Untuk mempelajari selengkapnya tentang siklus aktif Lambda, lihat dokumentasi tentang Lingkungan Eksekusi Lambda.

Catatan: masalah yang muncul pada saat pengumuman pratinjau ini adalah Anda hanya dikenakan biaya untuk waktu komputasi yang digunakan selama fase ‘invoke’ pada silklus aktif Lambda. Semua fase akan ditagihkan untuk seterusnya setelah masalah ini diperbaiki; tetapi, Anda tidak akan ditagih kembali untuk fase apa pun yang tidak ditagihkan akibat masalah ini.

Tidak ada biaya tambahan untuk memasang ekstensi, meskipun penawaran mitra mungkin berbiaya. Lihat situs web mitra yang relevan untuk detail selengkapnya.

T: Dapatkah saya membuat ekstensi Lambda kustom sendiri?

Ya, dengan menggunakan API Ekstensi Runtime AWS Lambda. Baca dokumentasi untuk mempelajari selengkapnya.

T: Bagaimana cara kerja ekstensi saat Provisioned Concurrency diaktifkan?

Provisioned Concurrency menjaga fungsi selalu dimulai dan siap untuk merespons dalam milidetik dua digit. Jika diaktifkan, Provisioned Concurrency juga akan memulai ekstensi dan menjaganya agar tetap siap untuk mengeksekusi bersama kode fungsi.

T: Izin apa yang ada dimiliki ekstensi?

Karena Ekstensi dieksekusi di dalam lingkungan yang sama dengan fungsi Lambda. Ekstensi memiliki akses ke sumber daya yang sama dengan fungsi dan izin dibagikan di antara fungsi dan ekstensi, sehingga keduanya saling berbagi kredensial, peran, dan variabel lingkungan yang sama. Ekstensi memiliki akses baca-saja untuk kode fungsi, dan dapat membaca dan menulis dalam /tmp.

T: Apa itu AWS Lambda Runtime Logs API?

AWS Lambda Runtime Logs API memungkinkan Anda untuk menggunakan ekstensi untuk mengirim log dari fungsi AWS Lambda secara langsung ke tujuan yang Anda pilih. Ekstensi menggunakan API ini untuk berlangganan ke log yang sama yang dialirkan ke Amazon CloudWatch Logs, dan selanjutnya dapat memroses, memfilter, dan mengirimnya ke tujuan mana pun yang disukai.

T: Bagaimana cara kerja Runtime Logs API?

Layanan Lambda secara otomatis menangkap log dan mengalirkannya ke Amazon CloudWatch. Stream ini berisi log yang dihasilkan dari dalam kode fungsi Anda, dan juga yang dihasilkan dari layanan Lambda sebagai bagian dari permintaan.

Runtime Logs API memungkinkan penulis ekstensi untuk berlangganan ke stream log yang sama secara langsung dari dalam lingkungan eksekusi Lambda. Setelah menerima permintaan berlangganan, layanan Lambda mengalirkan log ke ekstensi melalui HTTP atau TCP selain mengirimkannya ke CloudWatch.

T: Bagaimana cara mulai menggunakan Runtime Logs API?

Anda dapat menerapkan ekstensi yang menggunakan Runtime Logs API, menggunakan Lapisan, pada beberapa fungsi Lambda menggunakan Konsol, CLI, atau alat-alat Infrastructure as Code seperti CloudFormation, AWS Serverless Application Model, dan Terraform.

Anda dapat menggunakan ekstensi untuk alat-alat favorit Anda untuk pemantauan, kemudahan untuk diamati, keamanan, dan tata kelola dari AWS serta mitra berikut: Coralogix, Datadog, Honeycomb, Lumigo, New Relic, Sumo Logic, dan Amazon CloudWatch. Untuk mempelajari selengkapnya tentang ekstensi ini, kunjungi luncurkan postingan blog.

T: Apakah Runtime Logs API berdampak pada kinerja?

Anda hanya dapat menggunakan Runtime Logs API dari dalam Ekstensi AWS Lambda. Ekstensi dapat berdampak pada kinerja fungsi Anda karena menggunakan sumber daya seperti CPU, memori, dan penyimpanan bersamaan dengan fungsi, dan juga karena ekstensi dijalankan sebelum kode fungsi. Contohnya, jika ekstensi melakukan operasi intensif komputasi, Anda mungkin melihat bahwa durasi eksekusi fungsi Anda meningkat karena ekstensi dan kode fungsi Anda menggunakan sumber daya CPU yang sama. Selain itu, setiap langganan ke Runtime Logs API dapat menggunakan tambahan memori untuk menyimpan log, selain memori yang digunakan oleh ekstensi yang memuatnya.

T: Bagaimana saya akan ditagihkan jika menggunakan Runtime Logs API?

Tidak ada biaya tambahan untuk menggunakan AWS Lambda Runtime Logs API. Ekstensi yang membuat penggunaan Runtime Logs API berbagi model penagihan yang sama dengan ekstensi lainnya dan fungsi Lambda. Untuk mempelajari lebih lanjut tentang harga Ekstensi, silakan baca FAQ.

T: Apakah menggunakan Runtime Logs API akan menonaktifkan pengiriman log ke Amazon CloudWatch Logs?

Tidak, secara default, platform Lambda mengirimkan semua log ke CloudWatch Logs, dan menggunakan Runtime Logs API tidak menonaktifkan egress ke CloudWatch Logs.

Lambda@Edge

T: Apa itu Lambda@Edge?

Lambda@Edge memungkinkan Anda menjalankan kode di lokasi AWS secara global tanpa menyediakan atau mengelola server, merespons pengguna akhir pada latensi jaringan terendah. Anda cukup mengunggah kode Node.js atau Python Anda ke AWS Lambda dan mengonfigurasi fungsi untuk dipicu sebagai respons terhadap permintaan Amazon CloudFront (yaitu ketika permintaan pengguna tiba, ketika permintaan diteruskan ke atau diterima kembali dari asalnya, dan tepat sebelum merespons kembali ke pengguna akhir). Kode ini kemudian siap untuk dieksekusi di lokasi AWS secara global ketika permintaan untuk konten diterima, kemudian menskalakan dengan volume permintaan CloudFront secara global. Pelajari lebih lanjut di dokumentasi kami.

T: Bagaimana cara menggunakan Lambda@Edge?

Untuk menggunakan Lambda@Edge, Anda cukup mengunggah kode ke AWS Lambda dan mengaitkan versi fungsi untuk dipicu sebagai respons permintaan Amazon CloudFront. Kode harus memenuhi batasan layanan Lambda@Edge. Lambda@Edge mendukung Node.js dan Python untuk permintaan global oleh kejadian CloudFront pada saat ini. Pelajari lebih lanjut di dokumentasi kami.

T: Kapan saya harus menggunakan Lambda@Edge?

Lambda@Edge dioptimalkan untuk kasus penggunaan latensi sensitif di mana pengguna akhir Anda didistribusikan secara global. Semua informasi yang Anda perlukan untuk membuat keputusan seharusnya tersedia di edge CloudFront, dalam fungsi dan permintaan. Hal ini berarti bahwa kasus penggunaan ketika Anda ingin membuat keputusan tentang cara menyajikan konten berdasarkan karakteristik pengguna (misalnya lokasi, perangkat klien, dll.) sekarang dapat dijalankan dan disajikan dekat dengan pengguna Anda tanpa harus dirutekan kembali ke pusat server.

T: Dapatkah saya menerapkan fungsi Lambda yang sudah ada untuk permintaan global?

Anda dapat mengaitkan fungsi Lambda yang sudah ada dengan kejadian CloudFront untuk permintaan global jika fungsi tersebut memenuhi persyaratan dan batasan layanan Lambda@Edge. Baca selengkapnya di sini cara memperbarui properti fungsi Anda.

T: Apakah kejadian Amazon CloudFront dapat digunakan untuk memicu fungsi saya?

Fungsi Anda akan secara otomatis dipicu sebagai respons terhadap kejadian Amazon CloudFront berikut:

  • Permintaan Pengguna – Kejadian ini terjadi ketika pengguna akhir atau perangkat di Internet membuat permintaan HTTP(S) ke CloudFront, dan permintaan tersebut tiba di lokasi edge yang paling dekat dengan pengguna tersebut.
  • Tanggapan Pengguna – Kejadian ini terjadi ketika server CloudFront di edge siap untuk merespons pengguna akhir atau perangkat yang membuat permintaan.
  • Permintaan Asal – Peristiwa ini terjadi ketika server edge CloudFront belum memiliki objek yang diminta dalam cache-nya, dan permintaan pelanggan siap dikirim ke server web asal backend Anda (misalnya Amazon EC2, atau Application Load Balancer, atau Amazon S3).
  • Respons Asal – Peristiwa ini terjadi ketika server CloudFront di edge menerima respons dari server web asal backend Anda.

T: Apa yang berbeda dari AWS Lambda@Edge dibandingkan menggunakan AWS Lambda di belakang Amazon API Gateway?

Perbedaanya adalah bahwa API Gateway dan Lambda adalah layanan regional. Menggunakan Lambda@Edge dan Amazon CloudFront memungkinkan Anda mengeksekusi logika di beberapa lokasi AWS berdasarkan lokasi pengguna akhir Anda.

Skalabilitas dan ketersediaan

T: Bagaimana ketersediaan fungsi AWS Lambda?

AWS Lambda didesain untuk menggunakan replikasi dan redundansi guna memberikan ketersediaan yang tinggi untuk layanan itu sendiri maupun fungsi Lambda yang dioperasikannya. Tidak ada jendela pemeliharaan atau waktu henti terjadwal untuk keduanya.

T: Apakah fungsi AWS Lambda saya akan tetap tersedia ketika saya mengubah kode atau konfigurasinya?

Ya. Ketika Anda memperbarui fungsi Lambda, akan ada jendela waktu singkat, biasanya kurang dari satu menit, ketika permintaan dapat disajikan oleh versi lama atau versi baru dari fungsi Anda.

T: Adakah batasan untuk jumlah fungsi AWS Lambda yang dapat saya jalankan sekaligus?

Tidak. AWS Lambda didesain untuk menjalankan banyak instans fungsi Anda secara paralel. Namun, AWS Lambda memiliki pembatas keamanan default untuk sejumlah eksekusi bersamaan per akun per wilayah (kunjungi di sini untuk info tentang batasan keamanan default). Anda juga dapat mengontrol eksekusi bersamaan maksimum untuk masing-masing fungsi AWS Lambda yang dapat Anda gunakan untuk memesan subset dari batas konkurensi akun Anda untuk fungsi penting, atau membatasi tingkat lalu lintas ke sumber daya hilir.

Jika Anda ingin mengajukan permintaan untuk meningkatkan batasan, Anda dapat mengunjungi Pusat Dukungan kami, klik "Buka kasus baru", dan ajukan permintaan peningkatan batas layanan.

T: Apa yang terjadi jika akun saya melebihi batasan default pada eksekusi bersamaan?

Jika melebihi batasan, fungsi AWS Lambda yang dipanggil secara sinkronis akan mengembalikan kesalahan pembatasan (kode kesalahan 429). Fungsi Lambda yang dipanggil secara asinkronis dapat menyerap semburan lalu lintas yang wajar selama sekitar 15-30 menit, setelah itu kejadian yang masuk akan ditolak sebagai terbatas. Jika fungsi Lambda sedang dipanggil sebagai respons atas kejadian Amazon S3, kejadian yang ditolak oleh AWS Lambda dapat disimpan dan dicoba kembali oleh S3 selama 24 jam. Kejadian dari Amazon Kinesis Streams dan Amazon DynamoDB Streams dicoba ulang hingga fungsi Lambda berhasil atau data kedaluwarsa. Amazon Kinesis dan Amazon DynamoDB Streams me-retain data selama 24 jam.

T: Apakah batas default diterapkan pada tingkat per fungsi?

Tidak, batas default hanya berlaku di tingkat akun.

T: Apa yang terjadi jika fungsi Lambda saya gagal ketika memproses suatu kejadian?

Jika gagal, fungsi Lambda yang dipanggil secara sinkronis akan merespons dengan pengecualian. Fungsi Lambda yang dipanggil secara asinkronis dicoba ulang setidaknya 3 kali. Kejadian dari Amazon Kinesis Streams dan Amazon DynamoDB Streams dicoba ulang hingga fungsi Lambda berhasil atau data kedaluwarsa. Kinesis dan DynamoDB Streams me-retain data selama minimal 24 jam.

T: Apa yang terjadi jika pemanggilan fungsi Lambda saya melemahkan kebijakan yang tersedia?

Jika melebihi kebijakan coba lagi untuk permintaan asinkronis, Anda dapat mengonfigurasi “dead letter queue” (DLQ) ke tempat kejadian akan diletakkan; dengan tidak adanya DLQ yang dikonfigurasi, kejadian tersebut dapat ditolak. Jika melampaui kebijakan coba lagi untuk permintaan berbasis aliran, data sudah kedaluwarsa dan karenanya ditolak.

T: Sumber daya apa yang dapat saya konfigurasi sebagai antrean dead letter untuk fungsi Lambda?

Anda dapat mengonfigurasi antrean Amazon SQS atau topik Amazon SNS sebagai antrean dead letter.

Keamanan dan kontrol akses

T: Bagaimana cara mengizinkan fungsi AWS Lambda saya untuk mengakses sumber daya AWS lainnya?

Anda memberikan izin untuk fungsi Lambda guna mengakses sumber daya lain menggunakan peran IAM. AWS Lambda mengasumsikan peran saat mengeksekusi fungsi Lambda Anda, jadi Anda selalu me-retain kontrol penuh dan aman dari sumber daya AWS yang tepat yang dapat digunakan. Kunjungi Menyiapkan AWS Lambda untuk mempelajari selengkapnya tentang peran.

T: Bagaimana cara mengontrol bucket Amazon S3 yang dapat memanggil fungsi AWS Lambda?

Ketika Anda mengonfigurasi bucket Amazon S3 untuk mengirim pesan ke fungsi AWS Lambda, aturan kebijakan sumber daya yang memberikan akses akan dibuat. Kunjungi Panduan Pengembang Lambda untuk mempelajari selengkapnya tentang kebijakan sumber daya dan kontrol akses untuk fungsi Lambda.

T; Bagaimana cara mengontrol tabel Amazon DynamoDB atau aliran Amazon Kinesis yang dapat dipilih oleh fungsi AWS Lambda?

Kontrol akses dikelola melalui peran fungsi Lambda. Peran yang Anda berikan untuk fungsi Lambda juga menentukan sumber daya mana yang dapat diminta oleh AWS Lambda untuk dirinya sendiri. Kunjungi Panduan Pengembang Lambda untuk mempelajari selengkapnya.

T; Bagaimana cara mengontrol antrean Amazon SQS yang dapat dipilih oleh fungsi AWS Lambda?

Kontrol akses dapat dikelola oleh peran fungsi Lambda atau pengaturan kebijakan sumber daya pada antrean itu sendiri. Jika kedua kebijakan itu ada, kedua izin yang semakin terbatas tersebut akan diterapkan.

T: Dapatkah saya mengakses sumber daya di belakang Amazon VPC dengan fungsi AWS Lambda saya?

Ya. Anda dapat mengakses sumber daya di belakang Amazon VPC.

T: Bagaimana cara mengaktifkan dan menonaktifkan dukungan VPC untuk fungsi Lambda saya?

Untuk mengaktifkan dukungan VPC, Anda perlu menentukan satu atau lebih subnet dalam satu VPC dan grup keamanan sebagai bagian dari konfigurasi fungsi Anda. Untuk menonaktifkan dukungan VPC, Anda perlu memperbarui konfigurasi dan menentukan daftar kosong untuk subnet dan grup keamanan. Anda dapat mengubah pengaturan ini menggunakan AWS API, CLI, atau AWS Lambda Management Console.

T: Dapatkah satu fungsi Lambda memiliki akses ke beberapa VPC?

Tidak. Beberapa fungsi Lambda memberikan akses ke satu VPC. Jika beberapa subnet ditentukan, semuanya harus berada di VPC yang sama. Anda dapat terhubung ke VPC lainnya dengan menghubungkan VPC Anda.

T: Dapatkah fungsi Lambda di VPC juga mengakses internet dan titik akhir Layanan AWS?

Fungsi Lambda yang dikonfigurasi untuk mengakses sumber daya di VPC tertentu tidak akan memiliki akses ke internet sebagai konfigurasi default. Jika memerlukan akses ke endpoint eksternal, Anda akan perlu membuat NAT di VPC untuk meneruskan traffic ini dan mengonfigurasi grup keamanan Anda untuk mengizinkan traffic keluar.

T: Apa yang dimaksud dengan Penandatanganan Kode untuk AWS Lambda?

Penandatanganan Kode untuk AWS Lambda menawarkan kontrol kepercayaan dan integritas yang memungkinkan Anda memverifikasi bahwa hanya kode yang tidak diubah dari developer yang disetujui yang di-deploy di fungsi Lambda. Anda dapat menggunakan AWS Signer, layanan penandatanganan kode yang dikelola sepenuhnya untuk artefak kode yang ditandatangani secara digital dan mengonfigurasi fungsi Lambda untuk memverifikasi tanda tangan saat deployment. Penandatanganan Kode untuk AWS Lambda saat ini hanya tersedia untuk fungsi yang dikemas sebagai arsip ZIP.

T: Bagaimana cara membuat artefak kode yang ditandatangani secara digital?

Anda dapat membuat artefak kode yang ditandatangani secara digital menggunakan Profil Penandatanganan melalui konsol AWS Signer, Signer API, SAM CLI, atau AWS CLI. Untuk mempelajari selengkapnya, baca dokumentasi untuk AWS Signer.

T: Bagaimana cara mengonfigurasi fungsi Lambda untuk mengaktifkan penandatanganan kode?

Anda dapat mengaktifkan penandatanganan kode dengan membuat Konfigurasi Penandatanganan Kode melalui AWS Management Console, Lambda API, AWS CLI, AWS CloudFormation, dan AWS SAM. Konfigurasi Penandatanganan Kode membantu Anda menentukan profil penandatanganan yang disetujui dan mengonfigurasi apakah akan memperingatkan atau menolak deployment jika pemeriksaan tanda tangan gagal. Konfigurasi Penandatanganan Kode dapat dilampirkan ke fungsi Lambda individu untuk mengaktifkan fitur penandatanganan kode. Fungsi tersebut sekarang mulai memverifikasi tanda tangan saat deployment.

T: Apa pemeriksaan tanda tangan yang dijalankan AWS Lambda saat deployment?

AWS Lambda dapat menjalankan pemeriksaan tanda tangan berikut saat deployment:

• Tanda tangan rusak - Ini terjadi jika artefak kode telah diubah sejak penandatanganan.
• Tanda tangan tidak cocok - Ini terjadi jika artefak kode ditandatangani oleh profil penandatanganan yang tidak disetujui.
• Tanda tangan kedaluwarsa - Ini terjadi jika tanda tangan melebihi tanggal berakhir yang dikonfigurasi.
• Tanda tangan yang dibatalkan - Ini terjadi jika pemilik profil penandatanganan membatalkan tugas penandatanganan.

Untuk mempelajari selengkapnya, baca dokumentasi AWS Lambda.

T: Bisakah saya mengaktifkan penandatanganan kode untuk fungsi yang ada?

Ya, Anda dapat mengaktifkan penandatanganan kode untuk fungsi yang ada dengan melampirkan konfigurasi penandatanganan kode ke fungsi tersebut. Anda dapat melakukannya menggunakan konsol AWS Lambda, API Lambda, AWS CLI, AWS CloudFormation, dan AWS SAM.

T: Apakah ada biaya tambahan untuk menggunakan Penandatanganan Kode untuk AWS Lambda?

Tidak ada biaya tambahan saat menggunakan Penandatanganan Kode untuk AWS Lambda. Anda membayar harga standar untuk AWS Lambda. Untuk mempelajari selengkapnya, lihat Harga.

Fungsi AWS Lambda di Java

T: Bagaimana cara mengompilasi kode Java fungsi AWS Lambda saya?

Anda dapat menggunakan alat standar seperti Maven atau Gradle untuk mengompilasi fungsi Lambda Anda. Proses build harus meniru proses build yang sama yang akan Anda gunakan untuk mengompilasi kode Java apa pun yang bergantung pada AWS SDK. Jalankan alat pengompilasi Java Anda pada file sumber Anda dan sertakan AWS SDK 1.9 atau yang lebih baru dengan dependensi transitif pada classpath Anda. Untuk detail lebih lanjut, lihat dokumentasi kami.

T: Apa saja lingkungan JVM yang digunakan Lambda untuk menjalankan fungsi saya?

Lambda menggunakan build Amazon Linux openjdk 1.8.

Fungsi AWS Lambda di Node.js

T: Dapatkah saya menggunakan paket dengan AWS Lambda?

Ya. Anda dapat menggunakan paket NPM dan juga paket khusus. Pelajari selengkapnya di sini.

T: Dapatkah saya menjalankan program lain dari dalam fungsi AWS Lambda saya yang tertulis di Node.js?

Ya. Sandbox bawaan Lambda memungkinkan Anda menjalankan skrip batch (“shell”), runtime bahasa lainnya, rutinitas utilitas, dan eksekusi. Pelajari selengkapnya di sini.

T: Apakah memungkinkan untuk menggunakan modul asli dengan fungsi AWS Lambda yang tertulis di Node.js?

Ya. Setiap modul asli yang terhubung secara statis dapat dimasukkan dalam file ZIP yang Anda unggah, serta modul-modul yang terhubung secara dinamis yang dikompilasi dengan rpath yang menunjuk ke direktori akar fungsi Lambda Anda. Pelajari selengkapnya di sini.

T: Dapatkah saya mengeksekusi biner dengan AWS Lambda yang tertulis di Node.js?

Ya. Anda dapat menggunakan perintah child_process Node.js untuk mengeksekusi biner yang telah dimasukkan ke dalam fungsi atau eksekusi apa pun dari Amazon Linux yang terlihat oleh fungsi Anda. Atau beberapa paket NPM ada yang mengemas baris perintah biner seperti node-ffmpeg. Pelajari selengkapnya di sini.

T: Bagaimana cara menerapkan kode fungsi AWS Lambda yang tertulis di Node.js?

Untuk menerapkan fungsi Lambda yang tertulis di Node.js, cukup kemas kode Javascript dan pustaka dependen Anda sebagai ZIP. Anda dapat mengunggah ZIP dari lingkungan lokal, atau menentukan lokasi Amazon S3 tempat file ZIP berada. Untuk detail lebih lanjut, lihat dokumentasi kami.

Fungsi AWS Lambda di Python

T: Dapatkah saya menggunakan paket Python dengan AWS Lambda?

Ya. Anda dapat menggunakan pip untuk menginstal paket Python apa pun yang diperlukan.

Fungsi AWS Lambda di C#

T: Bagaimana cara mengemas dan menerapkan fungsi AWS Lambda di C#?

Anda dapat membuat fungsi Lambda C# menggunakan IDE Visual Studio dengan memilih "Terbitkan ke AWS Lambda" di Solution Explorer. Atau, Anda dapat langsung menjalankan perintah "dotnet lambda publish" dari dotnet CLI yang memiliki [patch alat # Lambda CLI] terinstal, yang membuat ZIP kode sumber C# Anda bersama dengan semua dependensi NuGet serta rakitan DLL yang Anda publikasikan sendiri, dan secara otomatis mengunggahnya ke AWS Lambda menggunakan parameter runtime “dotnetcore1.0”

Fungsi AWS Lambda di PowerShell

T: Bagaimana cara menerapkan kode fungsi AWS Lambda yang tertulis dalam PowerShell?

Paket penerapan PowerShell Lambda adalah file ZIP yang berisi skrip PowerShell Anda, modul PowerShell yang diperlukan untuk skrip PowerShell Anda, dan perakitan yang diperlukan untuk menghosting PowerShell Core. Kemudian Anda menggunakan modul AWSLambdaPSCore PowerShell yang dapat Anda instal dari PowerShell Gallery untuk membuat paket penerapan PowerShell Lambda Anda.

T: Bagaimana cara menerapkan kode fungsi AWS Lambda yang tertulis dalam PowerShell?  Paket penerapan PowerShell Lambda adalah file ZIP yang berisi skrip PowerShell Anda, modul PowerShell yang diperlukan untuk skrip PowerShell Anda, dan perakitan yang diperlukan untuk menghosting PowerShell Core. Kemudian Anda menggunakan modul AWSLambdaPSCore PowerShell yang dapat Anda instal dari PowerShell Gallery untuk membuat paket penerapan PowerShell Lambda Anda.
T: Bagaimana cara menerapkan kode fungsi AWS Lambda yang tertulis dalam PowerShell?  Paket penerapan PowerShell Lambda adalah file ZIP yang berisi skrip PowerShell Anda, modul PowerShell yang diperlukan untuk skrip PowerShell Anda, dan perakitan yang diperlukan untuk menghosting PowerShell Core. Kemudian Anda menggunakan modul AWSLambdaPSCore PowerShell yang dapat Anda instal dari PowerShell Gallery untuk membuat paket penerapan PowerShell Lambda Anda.

Fungsi AWS Lambda di Go

T: Bagaimana cara mengemas dan menerapkan fungsi AWS Lambda dalam Go? 

Unggah artefak Go Anda yang dapat dijalankan sebagai file ZIP melalui AWS CLI atau konsol Lambda dan pilih runtime go1.x. Dengan Lambda, Anda dapat menggunakan peralatan asli Go untuk membuat dan mengemas kode Anda. Untuk detail lebih lanjut, baca dokumentasi kami. 

Fungsi AWS Lambda di Ruby

T: Bagaimana cara menyebarkan kode fungsi AWS Lambda yang tertulis dalam Ruby? 

Untuk menyebarkan fungsi Lambda yang tertulis dalam Ruby, cukup kemas kode Ruby dan permata Anda sebagai ZIP. Anda dapat mengunggah ZIP dari lingkungan lokal, atau menentukan lokasi Amazon S3 tempat file ZIP berada.

Topik lainnya

T: Versi mana dari Amazon Linux, Node.js, Python, JDK, .NET Core, SDK, dan pustaka tambahan yang didukung AWS Lambda?

Anda dapat melihat daftar versi yang didukung di sini.

T: Dapatkah saya mengubah versi Amazon Linux atau runtime bahasa apa pun?

Tidak. AWS Lambda menawarkan versi tunggal sistem operasi dan runtime bahasa terkelola ke semua pengguna layanan. Anda dapat membawa runtime bahasa Anda sendiri untuk digunakan di Lambda.

T: Bagaimana saya dapat merekam dan mengaudit panggilan yang dilakukan ke API AWS Lambda?

AWS Lambda terintegrasi dengan AWS CloudTrail. AWS CloudTrail dapat merekam dan menyampaikan file log ke bucket Amazon S3 yang mendeskripsikan penggunaan API akun Anda.

T: Bagaimana cara mengoordinasikan panggilan antara beberapa fungsi Lambda?

Anda dapat menggunakan Amazon Step Functions untuk mengoordinasikan beberapa fungsi Lambda. Anda dapat memanggil beberapa fungsi Lambda secara berangkai, meneruskan output dari satu ke yang lain, atau secara paralel. Baca dokumentasi untuk detail selengkapnya.

T: Apakah AWS Lambda mendukung Advanced Vector Extensions 2 (AVX2)?

Ya, AWS Lambda mendukung set petunjuk Advanced Vector Extensions 2 (AVX2). Untuk mempelajari selengkapnya tentang cara menyusun kode aplikasi Anda untuk menargetkan set instruksi ini bagi performa yang ditingkatkan, baca dokumentasi pengembang AWS Lambda.

Pelajari selengkapnya tentang harga AWS Lambda

Kunjungi halaman harga
Siap untuk memulai?
Daftar
Punya pertanyaan lainnya?
Hubungi kami