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 berkas lokal, proses turunan, dan artefak yang serupa tidak boleh melampaui masa permintaan, dan tiap status persisten harus disimpan di Amazon S3, Amazon DynamoDB, Amazon EFS, 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 512 MB ruang disk nonpersisten 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 di 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 bisa menggunakan lebih banyak memori untuk 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. Lihat halaman harga AWS Lambda untuk detailnya.

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. Baca dokumentasi kami tentang versi fungsi Lambda.

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

Waktu deployment 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 notifikasi kejadian Amazon S3, kunjungi Mengonfigurasi Notifikasi untuk Kejadian Amazon S3. Untuk mempelajari selengkapnya tentang Amazon DynamoDB Streams, kunjungi Panduan Developer 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 Developer 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 backend 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 waktu nyata 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 (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 nirserver, 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 mengautomasikan penerapan untuk aplikasi nirserver?

Anda dapat mengautomasikan proses rilis aplikasi nirserver menggunakan AWS CodePipeline dan AWS CodeDeploy. CodePipeline adalah layanan pengiriman berkelanjutan yang memungkinkan Anda memodelkan, memvisualisasikan, dan mengautomasikan langkah-langkah yang diperlukan untuk merilis aplikasi nirserver. CodeDeploy memberikan mesin automasi deployment 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 nirserver, 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 deployment 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, deployment, 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 menerapkan gambar dasar Linux pihak ketiga (misalnya 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 dijalankan, dan memberikan keluaran 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 Application Auto Scaling 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.

Fungsi AWS Lambda didukung oleh prosesor Graviton2

T: Apa fungsi AWS Lambda yang didukung oleh prosesor Graviton2?

AWS Lambda memungkinkan Anda menjalankan fungsi pada prosesor berbasis x86 atau berbasis Arm. Prosesor AWS Graviton2 dibuat khusus oleh Amazon Web Services menggunakan core Arm Neoverse 64-bit untuk memberikan peningkatan performa harga bagi beban kerja cloud Anda. Pelanggan mendapatkan keuntungan yang sama dari AWS Lambda, menjalankan kode tanpa menyediakan atau mengelola server, penskalaan otomatis, ketersediaan tinggi, dan hanya membayar sumber daya yang Anda konsumsi.

T: Mengapa saya harus menggunakan fungsi AWS Lambda yang didukung oleh prosesor Graviton2?

Fungsi AWS Lambda yang didukung oleh Graviton2, menggunakan arsitektur prosesor berbasis Arm yang dirancang oleh AWS, dirancang untuk memberikan performa harga hingga 34% lebih baik dibandingkan dengan fungsi yang berjalan pada prosesor x86, untuk berbagai beban kerja nirserver, seperti backend web dan seluler, data, dan pemrosesan aliran. Dengan latensi yang lebih rendah, performa hingga 19% lebih baik, biaya 20% lebih rendah, dan efisiensi daya tertinggi yang saat ini tersedia di AWS, fungsi Graviton2 dapat menjalankan aplikasi nirserver bermisi kritis. Pelanggan dapat mengonfigurasi fungsi yang ada dan yang baru untuk menargetkan prosesor Graviton2. Mereka dapat men-deploy fungsi yang berjalan di Graviton2 sebagai file zip atau citra kontainer.

T: Bagaimana cara mengonfigurasi fungsi saya untuk berjalan di prosesor Graviton2?

Anda dapat mengonfigurasi fungsi untuk dijalankan di Graviton2 melalui Konsol Manajemen AWS, API AWS Lambda, AWS CLI, dan AWS CloudFormation dengan menyetel flag arsitektur ke 'arm64' untuk fungsi Anda.

T: Bagaimana cara men-deploy aplikasi saya yang dibangun menggunakan fungsi yang didukung oleh prosesor Graviton2?

Tidak ada perubahan antara fungsi berbasis x86 dan berbasis Arm. Cukup unggah kode Anda melalui Konsol Manajemen AWS, file zip, atau citra kontainer, dan AWS Lambda secara otomatis menjalankan kode Anda saat dipicu, tanpa mengharuskan Anda menyediakan atau mengelola infrastruktur.

T: Dapatkah aplikasi menggunakan kedua fungsi yang didukung oleh prosesor Graviton2 maupun prosesor x86?

Sebuah aplikasi dapat berisi fungsi yang berjalan pada kedua arsitektur. AWS Lambda memungkinkan Anda mengubah arsitektur ('x86_64' atau 'arm64') dari versi fungsi Anda saat ini. Setelah Anda membuat versi tertentu dari fungsi Anda, arsitekturnya tidak dapat diubah.

T: Apakah AWS Lambda mendukung citra kontainer multi-arsitektur?

Tidak. Setiap versi fungsi hanya dapat menggunakan satu citra kontainer.

T: Dapatkah saya membuat Lapisan AWS Lambda yang menargetkan fungsi yang didukung oleh prosesor AWS Graviton2?

Ya. Lapisan dan ekstensi dapat ditargetkan ke arsitektur yang kompatibel dengan 'x86_64' atau 'arm64'. Arsitektur default untuk fungsi dan lapisan adalah 'x86_64'.

T: Bahasa dan runtime apa yang didukung oleh fungsi Lambda yang berjalan pada prosesor Graviton2?

Saat peluncuran, pelanggan dapat menggunakan citra Python, Node.js, Java, Ruby, .Net Core, Custom Runtime (provided.al2), dan OCI Base. Untuk mempelajari selengkapnya, silakan lihat Runtime AWS Lambda.

T: Berapa harga fungsi AWS Lambda yang didukung oleh prosesor AWS Graviton2? Apakah tingkat gratis AWS Lambda berlaku untuk fungsi yang didukung oleh Graviton2?

Fungsi AWS Lambda yang didukung oleh prosesor AWS Graviton2 20% lebih murah dibandingkan dengan fungsi Lambda berbasis x86. Tingkat gratis Lambda berlaku untuk fungsi AWS Lambda yang didukung oleh arsitektur berbasis x86 dan Arm.

T: Bagaimana cara saya memilih antara menjalankan fungsi saya pada prosesor Graviton2 atau prosesor x86?

Setiap beban kerja bersifat unik dan kami menyarankan pelanggan menguji fungsi mereka untuk menentukan peningkatan performa harga yang mungkin mereka lihat. Untuk melakukannya, kami sarankan menggunakan alat AWS Lambda Power Tuning. Sebaiknya mulai dengan backend web dan seluler, data, dan pemrosesan aliran saat menguji beban kerja Anda untuk peningkatan performa harga yang potensial.

T: Apakah saya memerlukan mesin pengembangan berbasis Arm untuk membuat, membangun, dan menguji fungsi yang didukung oleh prosesor Graviton2 secara lokal?

Bahasa yang ditafsirkan seperti Python, Java, dan Node umumnya tidak memerlukan kompilasi ulang kecuali kode Anda mereferensikan pustaka yang menggunakan komponen khusus arsitektur. Dalam kasus tersebut, Anda perlu menyediakan pustaka yang ditargetkan ke arm64. Untuk detail selengkapnya, silakan lihat halaman Memulai AWS Graviton. Bahasa yang tidak ditafsirkan akan memerlukan kompilasi kode Anda untuk menargetkan arm64. Sementara kompiler yang lebih modern akan menghasilkan kode yang dikompilasi untuk arm64, Anda perlu men-deploy-nya ke lingkungan berbasis arm untuk menguji. Untuk mempelajari lebih lanjut tentang menggunakan fungsi Lambda dengan Graviton2, silakan lihat dokumentasi.

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 memungkinkan Anda mengintegrasikan Lambda dengan alat-alat favorit Anda untuk pemantauan, kemudahan pengamatan, 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 pengamatan, keamanan, dan tata kelola dari AWS serta mitra berikut: AppDynamics, Coralogix, Datadog, Dynatrace, Epsagon, HashiCorp, Honeycomb, Imperva, Lumigo, Check Point CloudGuard, New Relic, Thundra, Splunk, Sentry, Site24x7, Sumo Logic, AWS AppConfig, Amazon CodeGuru Profiler, Amazon CloudWatch Lambda Insights, AWS Distro for OpenTelemetry. 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.

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

Anda dapat melihat daftar runtime yang mendukung ekstensi di sini.

T: Apakah Ekstensi berpengaruh terhadap batas paket deployment?

Ya, ukuran unzipped total dari fungsi dan semua Ekstensi tidak dapat melebihi batas ukuran paket deployment 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 komputasi intensif, Anda mungkin melihat bahwa durasi eksekusi fungsi Anda meningkat karena ekstensi dan kode fungsi Anda menggunakan sumber daya CPU yang sama. Karena Lambda mengalokasikan CPU proporsional berdasarkan pengaturan memori yang Anda pilih, Anda dapat melihat peningkatan eksekusi dan durasi inisialisasi pada pengaturan memori yang lebih rendah saat lebih banyak proses bersaing untuk 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 telah selesai. Untuk mempelajari selengkapnya, kunjungi Dokumentasi developer 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, dan yang dapat berlangsung hingga dua detik. Anda dapat ditagih untuk waktu komputasi yang digunakan untuk menjalankan kode ekstensi Anda selama tiga fase siklus aktif Lambda. Untuk mempelajari selengkapnya tentang siklus aktif Lambda, lihat dokumentasi tentang Lingkungan Eksekusi Lambda.

Tidak ada biaya tambahan untuk memasang ekstensi, meskipun penawaran partner mungkin dikenakan biaya. Lihat situs web partner 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 dijalankan 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. Oleh karena itu, 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 postingan blog peluncuran.

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 komputasi intensif, 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.

URL fungsi AWS Lambda

T: Apakah fungsi AWS Lambda mendukung titik akhir HTTPS?

Ya. Anda bisa mengonfigurasi fungsi Lambda dengan URL fungsi—titik akhir HTTPS bawaan yang bisa Anda panggil menggunakan peramban, curl, dan klien HTTP apa pun. URL Fungsi menyediakan cara mudah untuk mulai membangun fungsi yang bisa diakses HTTPS.

T: Bagaimana cara mengonfigurasi URL fungsi Lambda untuk fungsi saya?

Anda bisa mengonfigurasi URL fungsi melalui AWS Management Console, Lambda API, AWS Command Line Interface (CLI), AWS CloudFormation, dan AWS Serverless Application Model (AWS SAM). URL Fungsi bisa ditetapkan pada versi fungsi Anda yang tidak memenuhi syarat $LATEST, atau pada alias fungsi apa pun. Untuk mempelajari selengkapnya tentang mengonfigurasi URL fungsi, lihat dokumentasi.

T: Bagaimana cara mengamankan URL fungsi Lambda saya?

URL fungsi Lambda diamankan dengan otorisasi AWS Identity and Access Management (IAM) secara default. Anda bisa memilih untuk menonaktifkan otorisasi IAM untuk membuat titik akhir publik atau menerapkan otorisasi khusus sebagai bagian dari logika bisnis fungsi.

T: Bagaimana cara memanggil fungsi saya dengan URL fungsi Lambda?

Panggil fungsi dari peramban web Anda dengan menavigasi ke URL Lambda, dari kode aplikasi klien Anda menggunakan pustaka HTTP, atau dari baris perintah menggunakan curl.

T: Apakah URL fungsi Lambda bisa digunakan dengan versi fungsi dan alias?

Ya—Anda bisa menetapkan URL fungsi Lambda ke suatu fungsi atau alias fungsi. Jika tidak ada alias yang ditentukan, URL merujuk ke $LATEST secara default. URL Fungsi tidak bisa menargetkan versi fungsi individual.

T: Bisakah saya menetapkan domain khusus untuk URL fungsi Lambda saya?

URL fungsi saat ini tidak mendukung nama domain khusus. Untuk menggunakan domain kustom dengan URL fungsi, buat distribusi Amazon CloudFront dan CNAME untuk memetakan domain kustom ke nama distribusi CloudFront Anda. Lalu, petakan nama domain distribusi CloudFront untuk dirutekan ke URL fungsi Anda sebagai asal.

 T: Bisakah saya menggunakan URL fungsi Lambda untuk menjalankan fungsi di VPC?

Ya—Anda bisa menggunakan URL fungsi untuk menjalankan fungsi Lambda di virtual private cloud (VPC).

T: Berapa harga untuk URL fungsi Lambda?

Tidak ada biaya tambahan untuk menggunakan URL fungsi di luar harga standar untuk Lambda. Untuk mempelajari selengkapnya, lihat Harga AWS Lambda.

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 service limits 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.


  Amazon EFS Amazon EBS (io1)
Latensi per-operasi Rendah, konsisten Terendah, konsisten
Skala throughput Beberapa GB per detik Satu GB per detik

Sifat Amazon EFS yang terdistribusi memungkinkan ketersediaan, ketahanan, dan skalabilitas tingkat tinggi, yang menghasilkan overhead latensi yang kecil untuk setiap operasi file. Karena latensi per-operasi ini, semua throughput pada umumnya meningkat saat ukuran I/O rata-rata meningkat, karena overhead mengalami amortisasi atas jumlah data yang lebih besar. Amazon EFS juga mendukung beban kerja paralel yang tinggi (dengan kata lain, pengoperasian yang konsisten dari beberapa utasan dan instans EC2), memungkinkan tingkat throughput agregat dan IOPS yang tinggi.

T: Berapa performa baca yang bisa saya harapkan dari EFS?

Sistem file Amazon EFS menawarkan latensi submilidetik untuk metadata, serta pembacaan data serendah [XXX mikrodetik (µs)] untuk sistem file Tujuan Umum menggunakan mode Tujuan Umum. Data yang sering diakses mengalami latensi serendah [xxx] mikrodetik. Data yang jarang diakses mengalami latensi rata-rata [x] milidetik.

T: Operasi Amazon EFS apa yang menghasilkan latensi submilidetik?

Latensi submilidetik berlaku untuk 80% operasi pembacaan metadata dan data, termasuk operasi pembacaan metadata dan data kecil untuk aplikasi umum. Latensi persis bergantung pada detail pola akses aplikasi Anda.

T: Apa manfaat dari latensi baca submilidetik terhadap beban kerja?

Latensi baca submilidetik meningkatkan kinerja untuk berbagai macam aplikasi. Misalnya, Anda bisa mencapai waktu pemuatan halaman yang lebih rendah untuk beban kerja penyajian web seperti WordPress dan Drupal; mengurangi waktu pembuatan alur kerja Jenkins CI/CD; dan mengurangi latensi ekstrak, transformasi, dan pemuatan (ETL) untuk pipeline data yang dikelola oleh Apache Airflow.

T: Bagaimana cara mendapatkan latensi baca submilidetik untuk sistem file Amazon EFS saya?

Tidak ada tindakan yang diperlukan. Latensi submilidetik berlaku untuk sistem file yang ada dan baru menggunakan mode Tujuan Umum untuk kelas penyimpanan EFS Standard dan EFS One Zone—tanpa memerlukan konfigurasi atau biaya tambahan apa pun.

T: Apa perbedaan antara mode performa Tujuan Umum dan I/O Maks? Mode mana yang harus saya pilih?

Mode kinerja Tujuan Umum merupakan default yang sesuai untuk sebagian besar sistem file. Mode performa I/O Maks dioptimalkan untuk aplikasi tempat puluhan, ratusan, atau ribuan EC2 instance yang mengakses sistem file—yang melakukan penskalaan ke tingkat throughput agregat dan operasi yang lebih tinggi per detik dengan mempertaruhkan latensi yang sedikit lebih tinggi untuk operasi file. Sistem file yang menggunakan kelas penyimpanan One Zone hanya mendukung mode Tujuan Umum. Untuk informasi selengkapnya, lihat dokumentasi mengenai Kinerja Sistem File.

T: Seberapa banyak throughput yang dapat didukung sistem file?

Dengan mode lonjakan throughput, mode throughput default untuk sistem file Amazon EFS, throughput suatu sistem file yang tersedia diskalakan sesuai perkembangan sistem file. Karena beban kerja berbasis file biasanya sering melonjak—memerlukan tingkat throughput yang tinggi selama beberapa saat dan tingkat throughput yang lebih rendah di kebanyakan waktu—EFS dirancang untuk menangani “lonjakan,” guna memungkinkan tingkat throughput yang tinggi selama beberapa saat. Selain itu, karena banyak beban kerja yang penuh pembacaan, operasi baca diukur pada rasio 1:3 terhadap operasi sistem file jaringan (NFS) lain (misalnya tulis). Semua sistem file memberikan kinerja dasar yang konsisten sebesar 50 MB/dtk per TB penyimpanan EFS Standard atau EFS One Zone, sementara semua sistem file (berapa pun ukurannya) bisa ditingkatkan hingga 100 MB/dtk. 

Sistem file dengan penyimpanan EFS Standard atau EFS One Zone lebih dari 1 TB bisa ditingkatkan hingga 100 MB/dtk per TB. Karena operasi baca diukur pada rasio 1:3, Anda dapat mendorong sampai 300 MiB/dtk per TiB throughput baca. Saat Anda menambahkan data ke sistem file, throughput maksimum yang tersedia untuk sistem file akan melakukan penskalaan secara linier dan otomatis dengan penyimpanan Anda dalam kelas penyimpanan Standar Amazon EFS. Jika Anda membutuhkan throughput lebih dari yang bisa Anda capai dengan jumlah data yang tersimpan, Anda dapat mengonfigurasi Throughput Tersedia ke jumlah spesifik yang dibutuhkan beban kerja Anda.

Throughput sistem file dibagikan ke semua instans EC2 yang terhubung dengan sistem file. Misalnya, sistem file 1 TB yang dapat melonjak hingga 1 MB/dtk throughput dapat mendorong 100 MB/dtk dari satu instans EC2, atau 100 instans EC2 dapat menjalankan 10 MB/dtk (10 MB/dtk secara kolektif). Untuk informasi selengkapnya, lihat dokumentasi mengenai Kinerja Sistem File.

T: Apa yang dimaksud dengan Throughput yang Disediakan dan kapan saya harus menggunakannya?

Dengan Throughput yang Disediakan EFS, Anda bisa menyediakan throughput sistem file secara independen dari jumlah data yang disimpan, mengoptimalkan kinerja throughput sistem file untuk mengimbangi kebutuhan aplikasi Anda.

Throughput yang Disediakan tersedia untuk aplikasi dengan rasio throughput tinggi terhadap penyimpanan (MB/dtk per TB). Misalnya, jika Anda menggunakan Amazon EFS untuk alat pengembangan, layanan web atau aplikasi pengelolaan konten—di mana jumlah data dalam sistem file Anda relatif rendah dibandingkan permintaan throughput—Anda bisa langsung memperoleh tingkat throughput tinggi yang dibutuhkan aplikasi.

Pilih mode throughput sistem file Anda melalui AWS Management Console, AWS Command Line Interface (CLI), atau Amazon EFS API. Untuk detail selengkapnya, lihat dokumentasi mengenai Throughput yang Disediakan.

T: Bagaimana cara kerja Throughput yang Disediakan untuk Amazon EFS?

Saat Anda memilih Throughput Tersedia untuk sistem file, Anda dapat menyediakan throughput sistem file secara independen dari jumlah data yang disimpan, membayar penyimpanan dan Throughput Tersedia secara terpisah. (misalnya 0,30 USD per GB-Bulan penyimpanan Standar dan 6,00 USD per MB/dtk-Bulan Throughput Tersedia di US East [N. Virginia]). Operasi baca diukur pada rasio 1:3, jadi Anda dapat mendorong sampai 3 MiB/dtk throughput baca untuk tiap 1 MiB/dtk throughput tersedia.

Throughput Tersedia juga mencakup 50 KB/dtk per GB (atau 1 MB/dtk per 20 GB) throughput dalam harga penyimpanan Standar Amazon EFS. Misalnya, jika Anda menyimpan 20 GB selama satu bulan di kelas penyimpanan Amazon EFS Standar, dan mengonfigurasi throughput 5 MB/dtk selama bulan tersebut, Anda akan ditagih untuk 20 GB-Bulan penyimpanan dan 4 (5-1) MB/dtk-Bulan throughput.

T: Bagaimana cara memantau penggunaan throughput baca dan tulis saya?

Anda dapat memantau throughput menggunakan Amazon CloudWatch. Metrik TotalIOBytes, ReadIOBytes, WriteIOBytes, dan MetadataIOBytes mencerminkan throughput aktual yang didorong aplikasi Anda. PermittedThroughput dan MeteredIOBytes mencerminkan batas dan penggunaan throughput terukur Anda setelah permintaan baca pada rasio 1:3 dari permintaan lain. Dengan konsol Amazon EFS, Anda dapat menggunakan grafik Batas Throughput Persen untuk memantau penggunaan throughput Anda. 

Jika Anda menggunakan dasbor CloudWatch kustom atau alat pemantauan lain, Anda juga dapat membuat ekspresi matematika metrik CloudWatch yang membandingkan MeteredIOBytes ke PermittedThroughput. Jika nilainya setara, Anda menggunakan seluruh throughput, dan perlu mempertimbangkan konfigurasi Throughput Tersedia atau meningkatkan jumlah throughput. Untuk sistem file mode Lonjakan Throughput, pantau metrik BurstCreditBalance, dan perhatikan saldo yang menuju 0 agar sistem file Anda beroperasi pada tingkat lonjakan, alih-alih tingkat dasarnya.

Q: Bagaimana pengenaan tagihan dalam mode Throughput yang Disediakan?

Dalam mode Throughput yang Disediakan, Anda ditagihkan atas penyimpanan yang digunakan dan throughput yang disediakan secara terpisah. Anda akan ditagih per jam dalam dimensi berikut:

  • Penyimpanan (per GB-Bulan): Anda dikenakan tagihan atas jumlah penyimpanan yang Anda gunakan dalam hitungan GB-Bulan.
  • Throughput (per MB/dtk-Bulan): Anda dikenakan atas throughput yang Anda sediakan dalam hitungan MB/dtk-Bulan.

T. Seberapa sering saya dapat mengubah Throughput yang Disediakan dari sistem file saya?

Dalam mode Throughput yang Disediakan, Anda dapat meningkatkan throughput yang disediakan sesering yang Anda inginkan. Turunkan throughput sistem file dalam mode Throughput yang Disediakan atau beralih antara mode Throughput yang Disediakan dan Throughput Lonjakan default selama sudah lebih dari 24 jam semenjak penurunan atau perubahan mode throughput terakhir.

T: Apa throughput sistem file saya jika mode Throughput yang Disediakan ditetapkan kurang dari Throughput Dasar yang berhak saya dapatkan dalam mode Lonjakan Throughput?

Dalam mode Throughput Lonjakan default, throughput sistem file Anda melakukan penskalaan sesuai jumlah data yang disimpan. Jika sistem file dalam mode Throughput yang Disediakan bertambah besar setelah konfigurasi awal, sistem file Anda bisa berpotensi memiliki tarif dasar lebih tinggi dalam mode Lonjakan Throughput daripada mode Throughput yang Disediakan.

Dalam hal ini, throughput sistem file Anda akan menjadi throughput yang menjadi haknya dalam mode Lonjakan Throughput default. Anda tidak akan dikenakan biaya tambahan untuk throughput di luar dari biaya lonjakan penyimpanan. Anda juga akan mampu melakukan lonjakan data sesuai dengan model lonjakan throughput Amazon EFS.

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 IAM role 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 diterapkan 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 penerapan. 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 penerapan:

• 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 deployment 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 deployment PowerShell Lambda Anda.

T: Bagaimana cara menerapkan kode fungsi AWS Lambda yang tertulis dalam PowerShell?  Paket deployment 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 deployment 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.

Skala dan kinerja

T. Berapa banyak data yang dapat saya simpan?

Anda bisa menyimpan petabyte data dengan Amazon Elastic File System (Amazon EFS). Sistem file Amazon EFS bersifat elastis, dan secara otomatis berkembang dan menyusut saat Anda menambahkan dan menghapus file, tanpa perlu menyediakan ukuran sistem file di awal—dan Anda hanya membayar atas fitur yang digunakan.

T. Berapa banyak instans Amazon EC2 dapat terhubung ke sistem file?

Amazon EFS bisa mendukung satu hingga ribuan instans Amazon Elastic Compute Cloud (EC2) yang terhubung ke sistem file secara bersamaan.

T. Berapa banyak sistem file yang dapat saya buat?

Anda bisa membuat hingga seribu sistem file per Wilayah. Untuk informasi mengenai batasan Amazon EFS, silakan kunjungi halaman Batasan Amazon EFS.

T. Bagaimana kinerja Amazon EFS dibandingkan dengan solusi penyimpanan lain?

Sistem file Amazon EFS didistribusikan ke sejumlah server penyimpanan yang tidak dibatasi. Oleh karena itu, sistem file bisa berkembang secara elastis hingga skala petabyte dan memungkinkan akses paralel secara besar-besaran dari instans komputasi dan fungsi AWS Lambda ke data Anda. Desain terdistribusi Amazon EFS mencegah hambatan dan batasan yang biasanya terdapat di server file tradisional.

Sebagai hasilnya, aplikasi multiutas—serta aplikasi yang mengakses data secara bersamaan dari beberapa instans komputasi dan fungsi Lambda—bisa mendorong tingkat throughput agregat dan operasi I/O per detik (IOPS) yang besar. Contoh dari aplikasi ini mencakup beban kerja big data dan analitik, alur kerja pemrosesan media, pengelolaan konten dan pelayanan web.

Tabel berikut membandingkan kinerja tingkat tinggi dan karakteristik penyimpanan untuk file AWS serta penawaran penyimpanan cloud blok.

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