Genel

S: AWS Lambda nedir?

AWS Lambda, sunucuları tedarik etmeden veya yönetmeden kod çalıştırmanıza olanak tanır. Yalnızca kullandığınız işlem süresi için ödeme yaparsınız; kodunuzun çalışmadığı zamanlar için ödeme alınmaz. Lambda sayesinde hiçbir yönetim işlemi gerekmeden neredeyse her tür uygulama veya arka uç hizmeti için kod çalıştırabilirsiniz. Kodunuzu yüklemeniz yeterlidir. Lambda, kodunuzu yüksek erişilebilirlikle çalıştırmak ve ölçeklemek için gereken her şeyle ilgilenir. Kodunuzu diğer AWS hizmetlerinden otomatik olarak tetiklenecek şekilde ayarlayabilir veya doğrudan web'den ya da mobil uygulamadan çağırabilirsiniz.

S: Sunucusuz bilişim nedir?

Sunucusuz bilişim, sunucuları düşünmek zorunda kalmadan uygulamalar ve hizmetler oluşturup çalıştırmanızı sağlar. Sunucusuz bilişimde uygulamanız yine sunucularda çalışır ancak sunucuların yönetimi AWS tarafından gerçekleştirilir. Sunucusuz bilişimin merkezinde, sunucuları tedarik etmenize veya yönetmenize gerek kalmadan kodunuzu çalıştırmanızı sağlayan AWS Lambda yer alır.

S: AWS Lambda işlevleri hangi olaylarla tetiklenebilir?

Olay kaynaklarının tam listesi için lütfen belgeler sayfamızı inceleyin.

S: AWS Lambda’yı mı yoksa Amazon EC2’yi mi kullanmalıyım?

Amazon Web Services, farklı ihtiyaçları karşılamak için farklı bilişim hizmetleri sunar.

Amazon EC2, farklı bulut sunucusu tiplerinin yanı sıra işletim sistemi, ağ ve güvenlik ayarlarını özelleştirme seçeneğiyle birlikte var olan uygulamaları buluta kolayca taşımanızı sağlayan tam bir yazılım yığını ile esneklik sunar. Amazon EC2 ile kapasite tedarik etme, sunucuların durumunu ve performansını izleme ile hata toleransı ve ölçeklenebilirlik için gerekli tasarımları yapma sizin sorumluluğunuzda olur. AWS Elastic Beanstalk, web uygulamalarının dağıtılması ve ölçeklendirilmesi için arka plandaki EC2 bulut sunucularının sahipliğini ve tam denetimini elinizde bulundurduğunuz kullanımı kolay bir hizmet sunar. Amazon EC2 Container Service, Docker container'larını destekleyen ve yönetilen bir Amazon EC2 bulut sunucuları kümesinde, dağıtılmış uygulamaları kolayca çalıştırmanıza olanak sağlayan, ölçeklenebilir bir container yönetimi hizmetidir.

AWS Lambda; Amazon S3 klasörlerinde gerçekleştirilen değişiklikler, bir Amazon DynamoDB tablosunda yapılan güncellemeler veya uygulamalarınız ya da cihazlarınız tarafından oluşturulan özel olaylar gibi durumlara yanıt olarak kod yürütmeyi kolaylaştırır. Lambda'yı kullandığınızda kendi bulut sunucularınızı tedarik etmenize gerek kalmaz. Lambda; kapasite tedarik etme, sistem durumunu izleme, arka plandaki işlem kaynaklarına güvenlik düzeltme eklerini uygulama, kodunuzu dağıtma, web hizmeti ön ucu çalıştırma, kodunuzu izleme ve günlüğe kaydetme gibi operasyonel ve yönetimsel etkinlikleri sizin yerinize gerçekleştirir. AWS Lambda, ek çaba göstermenize gerek kalmadan kodunuz için kolay ölçeklendirme ve yüksek erişilebilirlik sunar.

S: AWS Lambda’da ne tür kodlar çalıştırabilirim?

AWS Lambda, bulut üzerinde birçok farklı etkinliği gerçekleştirmek için kolay bir yöntem sunar. Örneğin AWS Lambda’yı Amazon DynamoDB’den veri alıp dönüştüren mobil arka uçlar oluşturma, Amazon S3’e yüklenen nesneleri sıkıştıran veya dönüştüren işleyiciler tasarlama, herhangi bir Amazon Web Service için yapılan API çağrılarını denetleme ve raporlama ve Amazon Kinesis kullanarak akış verilerinin sunucusuz işlenmesi gibi amaçlarla kullanabilirsiniz.

S: AWS Lambda hangi dilleri destekler?

AWS Lambda; Java, Go, PowerShell, Node.js, C #, Python ve Ruby kodlarını doğal olarak destekler ve işlevlerinizi oluşturmak için herhangi bir ek programlama dili kullanmanıza izin veren bir Çalışma Zamanı API'si sağlar. Lütfen Node.js, Python, Java, Ruby, C#, Go ve PowerShell kullanma hakkındaki belgelerimizi okuyun.

S: AWS Lambda'nın üzerinde çalıştığı altyapıya erişebilir miyim?

Hayır. AWS Lambda, bilişim altyapısını sizin adınıza çalıştırır, sistem durumunu kontrol eder, güvenlik düzeltme eklerini uygular ve diğer rutin bakım prosedürlerini gerçekleştirir.

S: AWS Lambda kodum için nasıl bir yalıtım sağlıyor?

AWS Lambda işlevlerinin her biri, kendi kaynaklarına ve dosya sistemi görünümüne sahip olan yalıtılmış bir ortamda çalışır. AWS Lambda, altyapı ve yürütme düzeylerinde güvenlik ve ayrım sağlamak için Amazon EC2 ile aynı teknikleri kullanır.

S: AWS Lambda kodumun güvenliğini nasıl sağlıyor?

AWS Lambda, kodunuzu Amazon S3’te depolar ve bekleme durumunda şifreler. AWS Lambda, kodunuz kullanılırken ek bütünlük denetimleri gerçekleştirir.

S: AWS Lambda, hangi AWS bölgelerinde kullanılabilir?

Lütfen AWS Global Altyapı Bölgeleri Tablosu’na bakın.

AWS Lambda işlevleri

S: AWS Lambda işlevi nedir?

AWS Lambda üzerinde çalıştırdığınız kod, bir “Lambda işlevi” olarak yüklenir. Her işlev adı, açıklaması, giriş noktası ve kaynak gereksinimleri gibi kendine has yapılandırma bilgilerine sahiptir. Kodun “durum bilgisi olmayan” bir şekilde yazılması gerekir. Başka bir deyişle kod, belirli bir işlem altyapısına bağlı olmamalıdır. Yerel dosya sistemine erişim, alt işlemler ve benzer yapıtlar isteğin yaşam süresini aşmamalıdır ve kalıcı durumlar Amazon S3, Amazon DynamoDB, Amazon EFS veya internet üzerinden erişilebilen başka bir depolama hizmetinde depolanmalıdır. Lambda işlevlerinde yerel olanlar dahil olmak üzere kitaplıklar kullanılabilir.

S: AWS Lambda, işlev bulut sunucularını yeniden kullanır mı?

AWS Lambda, performansı artırmak için yeni bir kopya oluşturmak yerine işlevinizin bulunduğu bulut sunucusunu tutarak daha sonra yapılan bir isteği yanıtlamak için yeniden kullanabilir. Lambda’nın işlev bulut sunucularını yeniden kullanması hakkında daha fazla bilgi için belgeler sayfamızı ziyaret edin. Kodunuzda bunun her zaman gerçekleştirileceği varsayımı bulunmamalıdır.

S: AWS Lambda işlevim için diskte geçici alana ihtiyacım olursa ne yapmalıyım?

Her bir Lambda işlevini 1 MB'lık artışlarla 512 MB ile 10.240 MB aralığında olacak şekilde kendi kısa ömürlü depolamasıyla yapılandırabilirsiniz. Kısa ömürlü depolama her bir işlevin /tmp dizininde mevcuttur.

Her işlevin, hiçbir ilave maliyet olmaksızın 512 MB depolamaya erişimi bulunur. İşlevlerinizi 512 MB'ın üzerinde kısa ömürlü depolamayla yapılandırırken, yapılandırdığınız depolama miktarına ve 1 ms'lik artışlarla ölçülmek suretiyle işlevinizin ne uzunlukta çalıştığına göre ücretlendirilirsiniz. Karşılaştıracak olursak, ABD Doğu (Ohio) bölgesinde AWS Fargate kısa ömürlü depolama fiyatı GB-saat başına 0,000111 USD veya GB-ay başına 0,08 USD'dir. ABD Doğu (Ohio) bölgesinde Amazon EBS gp3 depolama birimi fiyatlandırması GB-ay başına 0,08 USD'dir. AWS Lambda kısa ömürlü depolama fiyatlandırması GB-saniye başına 0,0000000309 USD veya GB-saat başına 0.000111 USD ve GB-ay başına 0,08 USD'dir. Daha fazla bilgi edinmek için AWS Lambda Fiyatlandırmasına göz atın.

S: Uygulamamı, AWS Lambda kısa ömürlü depolamayı kullanacak şekilde nasıl yapılandırırım?

İşlev oluşturma veya güncelleme süreci sırasında AWS Lambda konsolunu, AWS Lambda API'yi veya AWS CloudFormation şablonunu kullanarak her bir Lambda işlevini 1 MB'lık artışlarla 512 MB ile 10.240 MB aralığında olacak şekilde kendi kısa ömürlü depolamasıyla yapılandırabilirsiniz.

S: AWS Lambda kısa ömürlü depolama şifreleniyor mu?

Evet. Kısa ömürlü depolamada saklanan bekleme durumundaki tüm veriler, AWS tarafından yönetilen bir anahtarla şifrelenir.

S: AWS Lambda kısa ömürlü depolama kullanımımı izlemek için hangi ölçümleri kullanabilirim?

Kısa ömürlü depolama kullanımınızı izlemek için AWS CloudWatch Lambda Insight ölçümlerini kullanabilirsiniz. Daha fazla bilgi edinmek için AWS CloudWatch Lambda Insights belgelerine bakın.

S: Sunucusuz uygulamalarım için Amazon S3, Amazon EFS veya AWS Lambda kısa ömürlü depolamayı ne zaman kullanmalıyım?

Uygulamanız için dayanıklı, kalıcı depolamaya ihtiyaç duyuyorsanız Amazon S3 veya Amazon EFS kullanmayı düşünün. Uygulamanız, kod için gereken verilerin tek bir işlev çağırma kapsamında saklanmasını gerektiriyorsa AWS Lambda kısa ömürlü depolamayı, geçici bir önbellek olarak kullanmayı düşünün. Daha fazla bilgi edinmek için Web uygulamalarında AWS Lambda veri depolama seçenekleri arasında seçim yapma bölümüne bakın.

S: İşlevim için Tedarik Edilen Eş Zamanlılık etkinleştirilmiş durumdayken kısa ömürlü depolamayı kullanabilir miyim?

Evet. Ancak, uygulamanız için kalıcı depolamaya ihtiyaç duyuyorsanız Amazon EFS veya Amazon S3 kullanmayı düşünün. İşleviniz için Tedarik Edilen Eş Zamanlılığı etkinleştirdiğinizde, işlevinizin çalışan bulut sunucuları geri dönüştürüldükçe işlevinizin başlatma kodu, tahsis sırasında ve her birkaç saate bir çalışır. Bir bulut sunucusu bir isteği işleme aldıktan sonra başlangıç zamanını günlükler ve izlemelerde görebilirsiniz. Ancak başlatma, bulut sunucusunun bir isteği hiç işleme almadığı durumda bile faturalandırılır. Bu Tedarik Edilen Eş Zamanlılık başlatma davranışı, isteklerin işleviniz tarafından işleme alınmadığı durumlarda bile işlevinizin kısa ömürlü depolamada sakladığınız verilerle etkileşime girme şeklini etkileyebilir. Tedarik Edilen Eş Zamanlılık hakkında daha fazla bilgi edinmek için lütfen ilgili belgelere bakın.

S: Uygulamamı, AWS Lambda kısa ömürlü depolamayı kullanacak şekilde nasıl yapılandırırım?

İşlev oluşturma veya güncelleme süreci sırasında AWS Lambda konsolunu, AWS Lambda API'yi veya AWS CloudFormation şablonunu kullanarak her bir Lambda işlevini 1 MB'lık artışlarla 512 MB ile 10.240 MB aralığında olacak şekilde kendi kısa ömürlü depolamasıyla yapılandırabilirsiniz.

S: AWS Lambda kısa ömürlü depolama şifreleniyor mu?

Evet. Kısa ömürlü depolamada saklanan bekleme durumundaki tüm veriler, AWS tarafından yönetilen bir anahtarla şifrelenir.

S: AWS Lambda kısa ömürlü depolama kullanımımı izlemek için hangi ölçümleri kullanabilirim?

Kısa ömürlü depolama kullanımınızı izlemek için AWS CloudWatch Lambda Insight ölçümlerini kullanabilirsiniz. Daha fazla bilgi edinmek için AWS CloudWatch Lambda Insights belgelerine bakın.

S: AWS Lambda işlevlerinin neden durum bilgisine sahip olmaması gerekiyor?

İşlevlerin durum bilgisine sahip olmaması, AWS Lambda’nın gelen olayların hızına göre ölçeklendirme gerçekleştirme amacıyla işlevin çok sayıda kopyasını hızlı bir şekilde başlatmasını sağlar. AWS Lambda’nın programlama modelinde durum bilgisi olmasa da kodunuz Amazon S3 veya Amazon DynamoDB gibi diğer web hizmetlerini çağırarak durum bilgisi olan verilere erişebilir.

S: AWS Lambda işlevi kodumda iş parçacıkları ve işlemler kullanabilir miyim?

Evet. AWS Lambda, ek iş parçacığı ve işlem oluşturma gibi normal dil ve işletim sistemi özelliklerini kullanmanıza izin verir. Bellek, yürütme süresi, disk ve ağ kullanımı gibi Lambda işlevine ayrılmış olan kaynakların kullanılan tüm iş parçacıkları/işlemler arasında paylaşılması gerekir. Amazon Linux tarafından desteklenen dilleri kullanarak işlem başlatabilirsiniz.

S: AWS Lambda işlev kodunun sınırlamaları nelerdir?

Lambda, normal dil ve işletim sistemi etkinliklerinde mümkün olduğunca az sayıda kısıtlama uygulamaya çalışsa da devre dışı bırakılmış birkaç etkinlik mevcuttur: Gelen ağ bağlantıları AWS Lambda tarafından engellenir ve giden bağlantılarda yalnızca TCP/IP ve UDP/IP yuvaları desteklenir, ptrace (hata ayıklama) sistem çağrıları engellenir. İstenmeyen e-postaların engellenmesi için 25 numaralı TCP bağlantı noktasının trafiği de engellenir.

S: Lambda konsolunu kullanarak nasıl AWS Lambda işlevi oluşturabilirim?

Node.js veya Python kullanıyorsanız AWS Lambda konsolundaki kod düzenleyiciyi kullanarak güçlü ve IDE benzeri bir ortamda işlevlerinizin kodunu yazabilir, işlevlerinizi test edebilir ve yürütülen işlevlerin sonuçlarını görüntüleyebilirsiniz. Başlamak için konsola gidin.

Dilerseniz kodu (ve bağlı kitaplıkları) ZIP biçiminde paketleyip AWS Lambda konsolu ile yerel ortamınızdan yükleyebilir veya ZIP dosyasının bulunduğu Amazon S3 konumunu belirtebilirsiniz. Yüklenen dosyalar en fazla 50 MB (sıkıştırılmış) olabilir. AWS Eclipse eklentisini kullanarak Java ortamınızda Lambda işlevlerini yazabilir ve dağıtabilirsiniz. Visual Studio eklentisini kullanarak C# ve Node.js ile Lambda işlevlerini yazabilir ve dağıtabilirsiniz.

S: Lambda CLI kullanarak nasıl AWS Lambda işlevi oluşturabilirim?

Kodu (ve bağlı kitaplıkları) ZIP biçiminde paketleyip AWS CLI ile yerel ortamınızdan yükleyebilir veya ZIP dosyasının bulunduğu Amazon S3 konumunu belirtebilirsiniz. Yüklenen dosyalar en fazla 50 MB (sıkıştırılmış) olabilir. Başlamak için Lambda Kullanmaya Başlama kılavuzunu ziyaret edin.

S: AWS Lambda ortam değişkenlerini destekliyor mu?

Evet. AWS Lambda Konsolu, CLI veya SDK'lardan kolayca ortam değişkeni oluşturabilir ve değiştirebilirsiniz. Ortam değişkenleri hakkında daha fazla bilgi edinmek için belgelere göz atın.

S: Ortam değişkenlerinde hassas bilgi saklayabilir miyim?

Veritabanı parolaları gibi hassas bilgiler için AWS Key Management Service ile istemci tarafında şifreleme özelliğini kullanmanızı ve sonuç değerlerini ortam değişkeninizde şifreli metin olarak saklamanızı öneririz. Bu değerlerin şifresini çözmek için gerekli olan mantığı AWS Lambda işlevinizin koduna eklemeniz gerekir.

S: AWS Lambda işlevlerimi nasıl yönetebilirim?

AWS Lambda konsolundaki panoyu kullanarak Lambda işlevlerinizi kolayca listeleyebilir, silebilir, güncelleyebilir ve izleyebilirsiniz. AWS CLI ve AWS SDK ile de Lambda işlevlerinizi yönetebilirsiniz. Daha fazla bilgi için Lambda Yazılım Geliştirme Kılavuzu’nu ziyaret edin.

S: Kodları işlevler arasında paylaşabilir miyim?

Evet, herhangi bir kodu (entegrasyon SDK'lar, kütüphaneler ve daha fazlası) bir Lambda Katmanı olarak paketleyebilir ve bunları birden çok işlev arasında kolayca yönetebilir ve paylaşabilirsiniz.

S: Bir AWS Lambda işlevini nasıl izleyebilirim?

AWS Lambda, Lambda işlevlerini sizin yerinize otomatik olarak izleyerek toplam istek sayısı, hesap ve işlev düzeyinde zaman uyumlu kullanım, gecikme süresi, hata oranı ve kısıtlanan istek sayısı gibi gerçek zamanlı ölçümleri Amazon CloudWatch üzerinden bildirir. Her bir Lambda işlevinizle ilgili istatistikleri Amazon CloudWatch konsolunda veya AWS Lambda konsolunda görüntüleyebilirsiniz. Lambda işlevinizde üçüncü taraf izleme API’lerini de çağırabilirsiniz.

Daha fazla bilgi için CloudWatch ölçüleriyle ilgili sorunları giderme sayfasını ziyaret edin. Lambda’nın yerleşik ölçümlerini kullandığınızda standart AWS Lambda ücretleri alınır.

S: Bir AWS Lambda işlevindeki hataları nasıl giderebilirim?

AWS Lambda, Amazon CloudWatch Logs'a otomatik olarak entegre edilir ve her Lambda işlevi için bir günlük grubu oluşturularak işlevin her bir kullanımında tüketilen kaynaklar dahil olmak üzere temel uygulama yaşam döngüsü olay günlüğü girişleri sağlanır. Kodunuza kolayca ek günlüğe kaydetme deyimleri ekleyebilirsiniz. Lambda işlevinizde üçüncü taraf günlüğe kaydetme API’lerini de çağırabilirsiniz. Daha fazla bilgi için Lambda işlevleriyle ilgili sorunları giderme sayfasını ziyaret edin. Amazon CloudWatch Logs ücretleri alınır.

S: Bir AWS Lambda işlevini nasıl ölçeklendirebilirim?

Lambda işlevlerini ölçeklendirmenize gerek yoktur. AWS Lambda işlevleri sizin yerinize otomatik olarak ölçeklendirir. İşleviniz için bir olay bildirimi alındığında AWS Lambda hızlıca işlem filosundaki boş kapasiteyi bulur ve kodunuzu çalıştırır. Kodunuzda durum bilgisi olmadığından AWS Lambda, dağıtım ve yapılandırma kaynaklı uzun gecikme süreleri olmadan işlevinizin istenen sayıda kopyasını başlatabilir. İşlev ölçeklendirme konusunda bir sınır yoktur. AWS Lambda, gelen olayların hızına ayak uyduracak şekilde kapasiteyi dinamik olarak ayıracaktır.

S: İşlem kaynakları AWS Lambda işlevlerine nasıl atanır?

AWS Lambda kaynak modelinde, işlevinizle kullanılacak bellek miktarını seçersiniz ve CPU gücü ile diğer kaynaklar bu miktarla orantılı bir şekilde ayrılır. Örneğin 256 MB bellek seçtiğinizde Lambda işlevinize 128 MB belleğin iki katı, 512 MB belleğin ise yarısı kadar CPU gücü ayrılır. Daha fazla bilgi edinmek için İşlev Yapılandırma belgemize bakın.

Belleğinizi 128 MB ile 10.240 MB arasında belirleyebilirsiniz.

S: AWS Lambda işlevlerini ne zaman 3.008 MB'tan fazla bellekle birlikte kullanmalıyım?

Yoğun bellek veya işlem gerektiren iş yükleri çalıştıran müşteriler, işlevleri için artık daha fazla bellek kullanabilir. Daha büyük bellek işlevleri, çok iş parçacıklı uygulamaların daha hızlı çalışmasına yardımcı olmaktadır. Dolayısıyla bu işlevler makine öğrenimi, toplu işler, ETL işleri, finansal modelleme, genomik, HPC ve medya işleme gibi yoğun veri ve işlem gerektiren uygulamalar için idealdir.

S: Bir AWS Lambda işlevi ne kadar süreyle yürütülebilir?

AWS Lambda işlevleri yürütme başına 15 dakikaya kadar çalışacak şekilde yapılandırılabilir. Zaman aşımını 1 saniye ile 15 dakika arasındaki herhangi bir değer olacak şekilde ayarlayabilirsiniz.

S: AWS Lambda işlevleri kullanımım için nasıl ücret uygulanır?

AWS Lambda, kullanıma göre ücretlendirilir. Ayrıntılar için lütfen AWS Lambda fiyatlandırma sayfasına göz atın.

S: Compute Savings Plan ile AWS Lambda'da para tasarrufu sağlayabilir miyim?

Evet. Amazon EC2 ve AWS Fargate'te para tasarrufu sağlamanın yanı sıra Compute Savings Plans ile AWS Lambda'da para tasarrufu sağlayabilirsiniz. Compute Savings Plans; Süre, Tedarik Edilen Eş Zamanlılık ve Süre (Tedarik Edilen Eş Zamanlılık) için %17'ye kadar indirim sunar. Compute Savings Plans, Lambda faturanızda İstekler için bir indirim sunmaz. Ancak Compute Savings Plans taahhüdünüz, normal fiyatlardaki İstekler için geçerli olabilir.

S: AWS Lambda, sürüm oluşturmayı destekliyor mu?

Evet. Her AWS Lambda işlevi varsayılan olarak tek ve güncel bir kod sürümüne sahiptir. Lambda işlevi istemcileri belirli bir sürümü çağırabilir veya en son uygulamayı alabilir. Lütfen Lambda işlevlerinde sürüm oluşturma belgemizi okuyun.

S: Kodumu yükledim, AWS Lambda işlevini ne zaman çağırabilirim?

Dağıtım süresi kodunuzun büyüklüğüne göre değişiklik gösterir ancak AWS Lambda işlevleri genelde yükleme işleminden birkaç saniye sonra çağırmaya hazır duruma gelir.

S: Desteklenen kitaplıklar için kendi sürümümü kullanabilir miyim?

Evet. AWS Lambda tarafından sunulan varsayılan sürümün yerine kullanmak üzere kendi kitaplık (AWS SDK dahil) kopyanızı dahil edebilirsiniz.

S: Katmanlı fiyatlandırma nasıl çalışır?

AWS Lambda, belirli eşiklerin üzerinde aylık istek üzerine işlev süresi için indirimli fiyatlandırma katmanları sunar. Katmanlı fiyatlandırma, hem x86 hem de Arm mimarilerinde çalışan işlevler için sunulmaktadır. Lambda fiyatlandırma katmanları; aynı bölgede, hesap dahilinde ve aynı mimari (sırasıyla x86 veya Arm) üzerinde çalışan işlevlerinizin toplu aylık istek üzerine süresine uygulanır. AWS Kuruluşlar'da birleştirilmiş faturalandırma kullanıyorsanız fiyatlandırma katmanları, kuruluştaki hesaplar genelinde aynı mimaride, aynı bölgede çalışan işlevlerinizin aylık toplam süresine uygulanır. Örneğin, ABD Doğu (Ohio) bölgesinde x86 Lambda işlevleri çalıştırıyorsanız bu bölgede aylık ilk 6 milyar GB-saniye için her GB-saniye başına 0,0000166667 USD; sonraki aylık 9 milyar GB-saniye için her GB-saniye başına 0,0000150000 USD; ve 15 milyar GB-saniyenin üzeri için GB-saniye başına 0,0000133334 USD ödersiniz. İstek, Tedarik Edilen Eşzamanlılık ve Tedarik Edilen Eşzamanlılık Süresi fiyatlandırmasında değişiklik yapılmaz. Daha fazla bilgi için lütfen bkz. AWS Lambda Fiyatlandırması.

S: Hem katmanlı fiyatlandırmanın hem de İşlem Tasarruf Planları'nın avantajlarından faydalanabilir miyim?

Evet. Saatlik tasarruf planı tarafından karşılanan Lambda kullanımı taahhüdü faturalaması CSP oranına ve indirime uygulanabilir. Bu taahhüt kapsamında olmayan kalan kullanım, aylık toplam işlev sürenizin ait olduğu düzeye karşılık gelen oranda faturalandırılacaktır.

AWS olaylarını işlemek için AWS Lambda’yı kullanma

S: Olay kaynağı nedir?

Olay kaynağı, bir AWS Lambda işlevinin çalışmasını tetikleyen olaylar üreten bir AWS hizmeti veya yazılım geliştirici tarafından oluşturulmuş uygulamadır. Bazı hizmetler bu olayları Lambda’da yayımlamak için doğrudan bulut işlevini (Amazon S3 gibi) çağırır. Lambda ayrıca Lambda’da olay yayımlamayan diğer hizmetlerdeki kaynakları da yoklayabilir. Örneğin Lambda, bir Amazon Kinesis akışındaki veya bir Amazon SQS kuyruğundaki kayıtları çekerek alınan iletilerin her biriyle bir Lambda işlevi yürütebilir.

AWS CloudTrail gibi birçok hizmet, olayları Amazon S3’te günlüğe kaydederek ve S3 klasör bildirimleri ile AWS Lambda işlevlerini tetikleyerek olay kaynağı görevi görebilir.

S: AWS Lambda ile hangi olay kaynakları kullanılabilir?

Olay kaynaklarının tam listesi için lütfen belgeler sayfamızı inceleyin.

S: AWS Lambda’da olaylar nasıl temsil edilir?

Olaylar, bir Lambda işlevine olay giriş parametresi olarak iletilir. Amazon SQS, Amazon Kinesis ve Amazon DynamoDB Streams gibi olayların toplu şekilde geldiği olay kaynaklarında olay parametresi, istediğiniz toplu iş boyutuna göre tek bir çağrıda birden fazla olay içerebilir. Amazon S3 olay bildirimleri hakkında daha fazla bilgi edinmek için Amazon S3 Olayları için Bildirimleri Yapılandırma sayfasını ziyaret edin. Amazon DynamoDB Streams hakkında daha fazla bilgi edinmek için DynamoDB Akışı Yazılım Geliştirme Kılavuzu'nu ziyaret edin. Amazon SNS kullanarak Lambda işlevlerini çağırma hakkında daha fazla bilgi edinmek için Amazon SNS Yazılım Geliştirme Kılavuzu'nu ziyaret edin. Amazon Cognito olayları hakkında daha fazla bilgi için Amazon Cognito sayfasını ziyaret edin. AWS CloudTrail günlükleri ve AWS hizmetlerindeki API çağrılarını denetleme hakkında daha fazla bilgi için AWS CloudTrail sayfasını ziyaret edin.

S: Bir AWS Lambda işlevinin bir Amazon S3 klasöründeki değişikliklere yanıt vermesini nasıl sağlayabilirim?

AWS Lambda konsolundan bir işlev seçip bu işlevi bir Amazon S3 klasöründen gelen bildirimlerle ilişkilendirebilirsiniz. Alternatif olarak Amazon S3 konsolunu kullanarak klasörün bildirimlerini AWS Lambda işlevinize gönderilecek şekilde yapılandırabilirsiniz. Aynı işlemi AWS SDK ve CLI aracılığıyla da gerçekleştirebilirsiniz.

S: Bir AWS Lambda işlevinin bir Amazon DynamoDB tablosunda değişikliklere yanıt vermesini nasıl sağlayabilirim?

Lambda işlevinizi tabloyla ilişkili DynamoDB akışına abone yaparak bu Lambda işlevinin DynamoDB tablosundaki güncellemelerle tetiklenmesini sağlayabilirsiniz. Bir DynamoDB Akışını bir Lambda işleviyle ilişkilendirmek için Amazon DynamoDB konsolunu, AWS Lambda konsolunu veya Lambda'nın registerEventSource API'sini kullanabilirsiniz.

S: Bir AWS Lambda işlevini kullanarak bir Amazon Kinesis akışı içindeki kayıtları nasıl işleyebilirim?

AWS Lambda konsolundan bir Lambda işlevini seçip aynı hesabın sahibi olduğu bir Amazon Kinesis akışıyla ilişkilendirebilirsiniz. Aynı işlemi AWS SDK ve CLI aracılığıyla da gerçekleştirebilirsiniz.

S: AWS Lambda, Amazon Kinesis Streams ve Amazon DynamoDB Streams verilerini nasıl işler?

AWS Lambda işlevinize gönderilen Amazon Kinesis ve DynamoDB Streams kayıtları, her parça için kesin bir şekilde seri hale getirilir. Başka bir deyişle, aynı parçaya iki kayıt yerleştirmeniz halinde Lambda, işlevinizin ikinci kayıtla çağrılmadan önce ilk kayıtlı başarılı bir şekilde çağrılacağını garanti eder. Kayıtlardan biri için çağırma işleminin zaman aşımına uğraması, kısıtlanması veya başka bir hatayla karşılaşması halinde Lambda, bir sonraki kayda geçmeden önce başarılı olana kadar (veya kayıt 24 saatlik süreyi geçirene kadar) yeniden denemeye devam eder. Farklı parçalardaki kayıtların sıralanması garanti edilmez ve her parça paralel olarak işleme alınır.

S: Analiz ihtiyaçlarım için AWS Lambda ile Apache Flink İçin Amazon Yönetilen Hizmet arasında nasıl seçim yapmalıyım?

AWS Lambda size Amazon Kinesis veya Amazon DynamoDB Streams üzerinde, parça gibi tek bir mantıksal bölüm için 15 dakikayla sınırlı kısa bir zaman aralığında zamana dayalı toplamalar (sayma, maksimum, toplama, ortalama vb.) yapma olanağı tanır. İşletme ve analiz mantığınız aynı işlevde yer alabileceği için bu seçenek, mimari karmaşıklığı artırmadan olay tabanlı uygulamanız üzerinde basit analizleri kolayca ayarlamanıza imkan verir. Lambda, olayın zaman damgasına dayalı olarak en fazla 15 dakikalık bir yuvarlanan zaman aralığında toplamalara izin verir. Apache Flink İçin Amazon Yönetilen Hizmet size yinelenme olmadan tam olarak bir kere işlemeyle esnek işleme seçimleri ve güçlü hata toleransını destekleyen daha karmaşık analiz uygulamaları ve birden fazla mantıksal bölümü kapsayan bütün bir veri akışı üzerinde gerçekleştirilebilecek analizler geliştirme olanağı tanır. KDA sayesinde ister olay zamanını ister işleme zamanını kullanarak farklı toplama aralıklarındaki (yuvarlanan zaman aralığı, kademeli zaman aralığı, kayan zaman aralığı, oturum zaman aralığı) verileri analiz edebilirsiniz.

  AWS Lambda Amazon KDA
Yuvarlanan Zaman Aralığı Evet Evet
Kademeli Zaman Aralığı Hayır Evet
Kayan Zaman Aralığı Hayır Evet
Oturum Zaman Aralığı Hayır Evet
Zenginleştirme Hayır Evet
Ortak girdi ve başvuru tabloları Hayır Evet
Ayrı girdi akışı Hayır Evet
Tam olarak bir kere işleme Hayır Evet
Maksimum zaman aralığı 15 dakika Sınır yok
Toplama kapsamı Bölüm/parça Akış
Zaman semantiği Olay zamanı Olay zamanı, İşleme zamanı

S: Bir AWS Lambda işlevinin Amazon Simple Notification Service (SNS) tarafından gönderilen bildirimlere yanıt vermesini nasıl sağlayabilirim?

AWS Lambda konsolundan bir Lambda işlevi seçip bir Amazon SNS konusuyla ilişkilendirebilirsiniz. Aynı işlemi AWS SDK ve CLI aracılığıyla da gerçekleştirebilirsiniz.

S: Bir AWS Lambda işlevinin Amazon Simple Email Service (SES) tarafından gönderilen e-postalara yanıt vermesini nasıl sağlayabilirim?

Amazon SES konsolundan alma kuralınızı Amazon SES, iletileri bir AWS Lambda işlevine teslim edecek şekilde ayarlayabilirsiniz. Aynı işlemi AWS SDK ve CLI aracılığıyla gerçekleştirebilirsiniz.

S: Bir AWS Lambda işlevinin Amazon CloudWatch alarmlarına yanıt vermesini nasıl sağlayabilirim?

Öncelikle alarmı Amazon SNS bildirimleri gönderecek şekilde yapılandırın. Ardından AWS Lambda konsolundan bir Lambda işlevi seçin ve bir Amazon SNS konusuyla ilişkilendirin. Amazon CloudWatch alarmlarını ayarlama konusunda daha fazla bilgi edinmek için Amazon CloudWatch Yazılım Geliştirme Kılavuzu’na bakın.

S: Bir AWS Lambda işlevinin Amazon Cognito tarafından yönetilen kullanıcı veya cihaz verilerindeki değişikliklere yanıt vermesini nasıl sağlayabilirim?

AWS Lambda konsolundan bir işlev seçerek bir Amazon Cognito kimlik havuzuyla ilişkilendirilmiş veri kümeleri eşitlendiğinde bu işlevin tetiklenmesini sağlayabilirsiniz. Aynı işlemi AWS SDK ve CLI aracılığıyla da gerçekleştirebilirsiniz. Kullanıcının cihazlarındaki verileri paylaşmak ve eşitlemek üzere Amazon Cognito’yu kullanma hakkında daha fazla bilgi edinmek için Amazon Cognito sayfasını ziyaret edin.

S: Uygulamam bir AWS Lambda işlevini doğrudan nasıl tetikleyebilir?

Bir Lambda işlevini çağırmak için AWS Lambda'nın çağırma API'si aracılığıyla özel bir olay kullanabilirsiniz. Yalnızca işlevin sahibi veya sahibin izin verdiği başka bir AWS hesabı işlevi çağırabilir. Daha fazla bilgi edinmek için Lambda Yazılım Geliştirme Kılavuzu'nu ziyaret edin.

S: Bir olaya yanıt olarak bir AWS Lambda işlevi çağrıldığında ne kadar gecikme yaşanır?

AWS Lambda, olayları milisaniyeler içinde işleyecek şekilde tasarlanmıştır. Lambda işlevi yeni oluşturulduğunda, güncellendiğinde veya uzun süre kullanılmadığında gecikme süresi daha yüksek olacaktır.

S: AWS Lambda kullanarak nasıl mobil arka uç oluşturabilirim?

AWS Lambda'nın çalıştırmasını istediğiniz kodu yükledikten sonra bunu AWS Mobile SDK içinde bulunan AWS Lambda SDK ile mobil uygulamanızdan çağırabilirsiniz. Verileri gerçek zamanlı olarak almak veya denetlemek için doğrudan (zaman uyumlu) veya zaman uyumsuz çağrılar kullanabilirsiniz. Dilerseniz Amazon API Gateway ile özel bir API tanımlayabilir ve REST uyumlu bir istemciyle Lambda işlevlerinizi çağırabilirsiniz. AWS Mobile SDK hakkında daha fazla bilgi edinmek için AWS Mobile SDK sayfasını ziyaret edin. Amazon API Gateway hakkında daha fazla bilgi edinmek için Amazon API Gateway sayfasını ziyaret edin.

S: Bir AWS Lambda işlevini HTTPS üzerinden nasıl çağırabilirim?

Lambda işlevini HTTPS üzerinden çağırmak için Amazon API Gateway'i kullanarak özel bir RESTful API tanımlamanız gerekir. Bu da işlevinizin GET, PUT ve POST gibi REST çağrılarına yanıt verebileceği bir uç nokta sağlar. AWS Lambda'yı Amazon API Gateway ile birlikte kullanma hakkında daha fazla bilgi edinin.

S: AWS Lambda işlevim, davranışını isteği gönderen cihaza ve uygulamaya göre nasıl özelleştirebilir?

AWS Mobile SDK ile çağrılan AWS Lambda işlevleri, "context" nesnesi sayesinde çağrıyı yapan cihaz ve uygulama hakkında otomatik olarak öngörü sahibi olur.

S: AWS Lambda işlevim, davranışını bir uygulamanın son kullanıcısının kimliğine göre nasıl özelleştirebilir?

Uygulamanız Amazon Cognito kimliğini kullandığında son kullanıcılarınız kimliklerini Amazon, Facebook, Google ve diğer OpenID Connect uyumlu hizmetler gibi genel oturum açma sağlayıcılarını kullanarak doğrulayabilir. Bu durumda, kullanıcı kimliği otomatik ve güvenli bir şekilde Lambda işlevinize Amazon Cognito kimliği biçiminde sağlanır ve işleviniz bu sayede Amazon Cognito’daki kullanıcı verilerine erişebilir. Alternatif olarak Amazon DynamoDB ya da diğer web hizmetlerindeki verilere erişmek ve veri kaydetmek için kullanılabilecek bir anahtar da iletilebilir.

S: AWS Lambda'yı kullanarak nasıl bir Alexa becerisi oluşturabilirim?

AWS Lambda, Alexa için sese dayalı özellikler (veya "beceriler") oluşturmanızı kolaylaştıran self servis API'ler, araçlar, belgeler ve kod örneklerinden oluşan Alexa Skills Kit ile entegredir. Oluşturduğunuz yeni Alexa becerisi için Lambda işlev kodunu yüklediğinizde AWS Lambda, kodu Alexa ses etkileşimlerine göre yürüterek ve işlem kaynaklarını sizin yerinize otomatik olarak yöneterek gereken işlemleri gerçekleştirir. Daha fazla bilgi edinmek için Alexa Skills Kit belgelerini okuyun.

S: Olay işleme sırasında işlevim hata verirse ne olur?

Amazon S3 klasör bildirimleri ve özel olaylar için AWS Lambda, kodunuzda hata oluşması veya bir hizmet ya da kaynak sınırını aşmanız halinde işlevinizi üç kez yürütmeyi dener.

Amazon DynamoDB Streams ve Amazon Kinesis Streams gibi AWS Lambda’nın sizin yerinize yokladığı sıralı olay kaynakları için Lambda, yazılım geliştirici kodunda hata olduğunda verilerin süresi dolana kadar yürütme girişimlerini sürdürür. İlerleme durumunu Amazon Kinesis ve Amazon DynamoDB konsollarından ve AWS Lambda’nın işleviniz için ürettiği Amazon CloudWatch ölçümlerinden izleyebilirsiniz. Ayrıca hata veya kısıtlama oranlarına bağlı Amazon CloudWatch alarmları da oluşturabilirsiniz.

Uygulama geliştirmek için AWS Lambda’yı kullanma

S: Sunucusuz uygulama nedir?

Lambda tabanlı uygulamalar (sunucusuz uygulama olarak da adlandırılır), olaylar tarafından tetiklenen işlevlerden oluşur. Tipik bir sunucusuz uygulama, Amazon S3’e nesne yükleme, Amazon SNS bildirimleri veya API eylemleri gibi olaylar tarafından tetiklenen bir veya daha fazla işlevden oluşur. Bu işlevler bağımsız olabilir veya DynamoDB tabloları ya da Amazon S3 klasörleri gibi diğer kaynaklardan faydalanabilir. En basit sunucusuz uygulama örneği bir işlevdir.

S: Sunucusuz uygulamaları nasıl dağıtabilirim ve yönetebilirim?

Sunucusuz uygulamalarınızı AWS Serverless Application Model (AWS SAM) ile dağıtabilir ve yönetebilirsiniz. AWS SAM, AWS üzerinde sunucusuz uygulamaları ifade etme kurallarını belirleyen bir belirtimdir. Bu belirtim günümüzde AWS CloudFormation tarafından kullanılan söz dizimi ile aynıdır ve AWS CloudFormation içinde kaynak türü kümesi ("sunucusuz kaynaklar") olarak desteklenir. Bu kaynaklar, AWS müşterilerinin var olan CloudFormation API'lerinden faydalanarak CloudFormation ile sunucusuz uygulama yapılandırmalarını ve dağıtmalarını kolaylaştırır.

S: AWS topluluğu tarafından geliştirilmiş olan sunucusuz uygulamaları nasıl bulabilirim?

AWS topluluğundaki yazılım geliştiriciler, şirketler ve çözüm ortakları tarafından yayımlanmış olan sunucusuz uygulama koleksiyonuna AWS Serverless Application Repository üzerinden erişebilirsiniz. Uygulamayı bulduktan sonra doğrudan Lambda konsolunda yapılandırabilir ve dağıtabilirsiniz.

S: Sunucusuz uygulama için dağıtımı nasıl otomatikleştirebilirim?

Sunucusuz uygulamanızın yayımlanma sürecini otomatikleştirmek için AWS CodePipeline ve AWS CodeDeploy hizmetlerini kullanabilirsiniz. CodePipeline, sunucusuz uygulamanızı yayımlamak için gerekli olan adımları modellemenizi, görselleştirmenizi ve otomatikleştirmenizi sağlayan sürekli teslim hizmetidir. CodeDeploy, Lambda tabanlı uygulamalarınız için dağıtım otomasyonu altyapısı sağlar. CodeDeploy, dağıtımları kanarya ve doğrusal dağıtımlar gibi en iyi uygulama metodolojilerine göre yönetmenizi sağlar ve yeni dağıtılan kodun güvenli, kararlı ve üretime sunulmaya hazır olduğunu doğrulamak için gerekli ölçütleri belirlemenize yardımcı olur.

Sunucusuz CI/CD hakkında daha fazla bilgi edinmek için belgelerimizi ziyaret edin.

S: Sunucusuz uygulama oluşturmaya nasıl başlayabilirim?

Başlamak için AWS Lambda konsolunu ziyaret edin ve şemalarımızdan birini indirin. İndirdiğiniz dosyada bir AWS SAM dosyası (uygulamanızdaki AWS kaynaklarını tanımlar) ve bir .ZIP dosyası (işlevinizin kodunu içerir) bulunur. Ardından AWS CloudFormation komutlarını kullanarak indirdiğiniz sunucusuz uygulamayı paketleyebilir ve dağıtabilirsiniz. Daha fazla bilgi edinmek için belgelerimizi ziyaret edin.

S: Birden fazla AWS Lambda işlevi arasındaki çağrıları nasıl koordine edebilirim?

AWS Step Functions’ı kullanarak AWS Lambda işlevi dizinizi belirli bir sırada koordine edebilirsiniz. Birden fazla Lambda işlevini sırasıyla çağırabilir, birinin çıktısını diğerine iletebilir ve/veya paralel olarak Step Functions hizmetinin yürütme işlemlerinin durumunu takip etmesini sağlayabilirsiniz.

S: Sunucusuz bir uygulamanın sorunlarını nasıl giderebilirim?

Lambda işlevinizin yürütme rolüne X-Ray izinleri ekleyerek ve işlevinizin "tracing mode" değerini "active" yaparak AWS X-Ray ile izlenmesini sağlayabilirsiniz. X-Ray, Lambda işlevinizde etkinleştirildiğinde AWS Lambda, işleviniz çağrıldığında gerçekleşen Lambda hizmeti yüküyle ilgili izleme bilgilerini X-Ray hizmetine iletir. Bu da Lambda hizmeti yükü, işlev başlatma süresi ve işlev yürütme süresi gibi bilgiler sağlar. Ayrıca X-Ray SDK’sını Lambda dağıtım paketinize dahil ederek kendi izleme bölümlerinizi oluşturabilir, izlemelere not ekleyebilir veya Lambda işlevinizden yapılan aşağı yönlü çağrılara ait izleme bölümlerini görüntüleyebilirsiniz. X-Ray SDK’ları şu an için Node.js ve Java ile kullanılamaz. Daha fazla bilgi edinmek için Lambda tabanlı uygulamalarla ilgili sorunları giderme sayfasını ziyaret edin. AWS X-Ray ücretleri geçerli olacaktır.

S: İlişkisel veritabanlarına bağlanan sunucusuz uygulamalar oluşturabilir miyim?

Evet. İlişkisel veritabanlarına binlerce eş zamanlı bağlantıyı yöneten, son derece erişilebilir bir veritabanı proxy'si olan Amazon RDS Proxy'yi kullanarak, ilişkisel veritabanlarına bağlanan, yüksek düzeyde ölçeklenebilir, güvenli, Lambda temelli sunucusuz uygulamalar oluşturabilirsiniz. Mevcut durumda RDS Proxy’nin, MySQL ve Aurora veritabanları için desteği bulunmaktadır. Amazon RDS konsolu veya AWS Lambda konsolu üzerinden RDS Proxy'i kullanmaya başlayabilirsiniz. RDS Proxy'den tamamen yönetilen bağlantı havuzlarını kullanan sunucusuz uygulamalar, RDS Proxy Fiyatlandırmasına göre faturalandırılır.

S: AWS SAM lisanslaması nasıl yapılır?

Belirtim, Apache 2.0 kapsamında açık kaynaktır ve bu durum ticari kullanıma uygun bir lisansla size ve diğer kullanıcılara AWS SAM hizmetini hayata geçirerek derleme, dağıtım, izleme ve yönetim araçlarında kullanma izni verir. GitHub üzerindeki AWS SAM deposuna buradan erişebilirsiniz.

Container Görüntüsü Desteği

S: AWS Lambda için Container Görüntüsü Desteği nedir?

AWS Lambda artık işlevleri birer container görüntüsü olarak paketleme ve dağıtma imkanı sunmaktadır. Müşteriler uygulamalarını geliştirirken hem aşina oldukları container araçlarının sunduğu esneklikten hem de AWS Lambda'nın sunduğu çeviklikten ve operasyonel basitlikten yararlanabilir.

S: AWS Lambda için Container Görüntüsü Desteğini nasıl kullanabilirim?

Lambda için AWS tarafından temin edilen temel görüntülerle, topluluk tarafından geliştirilmiş görüntülerle veya kendi kurumsal görüntülerinizle kullanmaya başlayabilirsiniz. Bundan sonra da Docker CLI'yı kullanarak görüntüyü oluşturur, Amazon ECR'ye yükler ve AWS Management Console, AWS CLI, AWS SDK, AWS SAM ve AWS CloudFormation gibi aşina olduğunuz Lambda arabirim ve araçlarını kullanarak işlevi oluşturursunuz.

S: Hangi container görüntüsü türleri desteklenir?

Lambda tarafından sağlanan görüntülere ek olarak, üçüncü taraf Linux temel görüntülerini (ör. Alpine veya Debian) dağıtabilirsiniz. AWS Lambda, şu görüntü bildirim formatlarına dayalı tüm görüntüleri destekler: Docker Image Manifest V2 Schema 2 (Docker sürüm 1.10 ve üstüyle kullanılır) veya Open Container Initiative (OCI) Teknik Özellikleri (v1.0 ve üstü). Lambda, boyutu 10 GB'a kadar olan görüntüleri destekler.

S: Hangi temel görüntüleri kullanabilirim?

AWS Lambda, müşterilerin genişletebileceği çeşitli temel görüntüler temin etmektedir. Müşteriler ayrıca kendi tercih ettikleri, boyutu 10 GB'a kadar olan Linux tabanlı görüntüleri kullanabilir.

S: İşlevleri birer container görüntüsü olarak paketlemek ve dağıtmak için hangi container araçlarını kullanabilirim?

Kullanacağınız container aracının şu görüntü bildirim formatlarından birini desteklemesi yeterlidir: Docker Image Manifest V2 Schema 2 (Docker sürüm 1.10 ve üstüyle kullanılır) veya Open Container Initiative (OCI) Teknik Özellikleri (v1.0 ve üstü). Örneğin, işlevlerinizi bir container görüntüsü olarak tanımlamak ve Lambda'ya dağıtmak için yerel container görüntüleri (docker run, docker compose, Buildah ve Packer gibi) kullanabilirsiniz.

S: Container görüntüleri olarak dağıtılmış işlevlerde hangi AWS Lambda özellikleri kullanılabilir?

Lambda katmanları ve Kod İmzalama hariç tüm mevcut AWS Lambda özellikleri, container görüntüsü olarak dağıtılan işlevlerle birlikte kullanılabilir. AWS Lambda, bir defa dağıtıldıktan sonra görüntüyü değiştirilemez olarak görecektir. Müşteriler bağımlılıkları dahil etmek için oluşturma aşamasında container katmanları kullanabilir.

S: AWS Lambda, dağıtılmış container görüntüme düzeltme eki ve güncelleme uygular mı?

Şu anda değil. Bir defa AWS Lambda'ya dağıtıldıktan sonra görüntünüz değiştirilemez olacaktır. Hizmet, görüntüye düzeltme eki veya güncelleme uygulamaz. AWS Lambda bununla birlikte, Lambda tarafından yönetilen ortama dayalı desteklenen tüm çalışma zamanları için derlenmiş temel görüntüler yayınlayacaktır. Yayınlanan bu görüntülere, AWS Lambda tarafından yönetilen çalışma zamanlarında yapılan güncellemeler doğrultusunda düzeltme eki ve güncelleme uygulanacaktır. DockerHub veya Amazon ECR Public'ten en son temel görüntüyü çekip kullanabilir, kendi container görüntünüzü tekrar oluşturabilir ve Amazon ECR aracılığıyla AWS Lambda'ya dağıtabilirsiniz. Bu seçenek size görüntüyü üretim ortamına dağıtmadan önce, güncellenen görüntüleri ve çalışma zamanlarını oluşturma ve test etme olanağı tanır.

S: ZIP arşivleriyle ve container görüntüleriyle oluşturulan işlevler arasındaki farklar nelerdir?

ZIP arşivleriyle ve container görüntüleriyle oluşturulan işlevler arasında üç ana farklılık bulunur:

  1. ZIP arşivleriyle oluşturulan işlevlerin maksimum kod paketi büyüklüğü ayıklanmış haliyle 250 MB iken, container görüntüsüyle oluşturulanların maksimum görüntü boyutu 10 GB'tır. 
  2. Lambda'nın container görüntüleri olarak tanımlanan işlevlerin temelindeki kod depolama alanı olarak Amazon ECR'yi kullanması sebebiyle, temeldeki görüntü ECR'den silindiğinde işlev çağrılamayabilir. 
  3. En son çalışma zamanı güvenlik ve hata düzeltmelerini içeren düzeltme ekleri ZIP işlevlerine otomatik olarak uygulanır. Container görüntüleri olarak tanımlanan işlevler değiştirilemez niteliktedir ve işlevlerinde paketlenen bileşenlerden müşteriler sorumludur. Müşteriler AWS tarafından temin edilen ve yine AWS tarafından güvenlik ve hata düzeltmeleri doğrultusunda mevcut olan en son düzeltme ekleri uygulanarak düzenli bir şekilde güncellenen temel görüntülerden yararlanabilir.

S: Zip ve container görüntüleri olarak tanımlanmış işlevler arasında performans farkı var mıdır?

Hayır. AWS Lambda, container görüntüleri olarak paketlenmiş işlevlerin, saniyenin altında başlangıç süreleri dahil olmak üzere ZIP arşivleriyle aynı performans profillerine sahip olmasını sağlar.

S: Lambda işlevlerini container görüntüleri olarak dağıtırken nasıl ücret uygulanır?

İşlevlerin AWS Lambda'ya container görüntüleri olarak paketlenmesi ve dağıtılması için ek ücret uygulanmaz. Bir container görüntüsü olarak dağıtılmış işlevinizi çağırdığınızda, istekler ve yürütme süresi için normal fiyat üzerinden ödeme yaparsınız. Daha fazla bilgi edinmek için AWS Lambda fiyatlandırması sayfasını ziyaret edin. Container görüntülerinizi Amazon ECR'de depolamak için standart ECR fiyatlarını ödersiniz. Daha fazla bilgi edinmek için Amazon ECR fiyatlandırması sayfasını ziyaret edin.

S: Lambda Runtime Interface Emulator (RIE) nedir?

Lambda Runtime Interface Emulator, müşterilere container görüntüsü olarak paketlenmiş Lambda işlevlerini yerel olarak test etme olanağı tanıyan Lambda Çalışma Zamanı API'si için bir proxy'dir. Bu basit web sunucusu, HTTP isteklerini JSON olaylarına dönüştürür ve Lambda Çalışma Zamanı API'sini öykünür. İşlevlerinizi cURL ve Docker CLI gibi aşina olduğunuz araçları kullanarak yerel bir şekilde test etmenize olanak tanır (container görüntüleri olarak paketlenmiş işlevleri test ederken). Buna ek olarak, uygulamanızı ilave işlem hizmetlerinde çalıştırmayı basitleştirir. Lambda Runtime Interface Emulator'ı container görüntünüze dahil ederek Lambda'ya dağıtım için gerekli JSON olayları yerine yerel olarak HTTP isteklerini kabul edecek şekilde ayarlayabilirsiniz. Bu bileşen Lambda düzenleyicisine ya da güvenlik ve kimlik doğrulaması yapılandırmalarına öykünmemektedir. Runtime Interface Emulator açık kaynaklıdır ve GitHub'dan erişilebilir. Siz de yerel makinenize indirerek ve yükleyerek kullanmaya başlayabilirsiniz.

S: Yerel testler sırasında neden Lambda Runtime Interface Emulator'a (RIE) ihtiyacım var?

Çalışan Lambda hizmetindeki Lambda Çalışma Zamanı API'si, JSON olaylarını kabul eder ve yanıt gönderir. Lambda Runtime Interface Emulator, container görüntüsü olarak paketlenmiş işlevin yerel testler sırasında cURL gibi araçlar kullanılarak HTTP isteklerini kabul etmesine ve bunları aynı arabirim üzerinden yerel olarak işleve göstermesine olanak tanır. Bu sayede, docker run veya docker-compose up komutunu kullanarak lambda uygulamanızı yerel olarak test edebilirsiniz.

S: Öykünücü ile hangi davranışları yerel olarak test edebilirim?

İşlev kodunuzun Lambda ortamıyla uyumlu olup olmadığını, başarıyla çalışıp çalışmadığını ve beklenen çıktıyı verip vermediğini test etmek için öykünücüyü kullanabilirsiniz. Örneğin, farklı olay kaynaklarından sahte test olayları üretebilirsiniz. Bu aracı, container görüntüsüne yerleştirilen uzantıları ve aracıları Lambda Uzantıları API'si üzerinde test etmek için de kullanabilirsiniz.

S: Runtime Interface Emulator (RIE), Lambda uyumlu görüntümü ilave işlem hizmetlerinde çalıştırmama nasıl yardımcı olur?

Müşteriler container görüntüsünün JSON olayları yerine HTTP isteklerini kabul etmesi amacıyla, Runtime Interface Emulator'ı container görüntüsüne giriş noktası olarak ekleyebilir veya bir bölme olarak paketleyebilir. Bu adım, container görüntünüzü ilave işlem hizmetlerinde çalıştırmanız için gerekli değişiklikleri basitleştirir. Seçtikleri ortamın güvenlik, performans ve eş zamanlılık en iyi uygulamalarını izlemekten müşteriler sorumludur. RIE, AWS Lambda tarafından temin edilen görüntülere önceden paketlenmiş durumdadır ve AWS SAM CLI'da varsayılan olarak kullanılabilir. Temel görüntü sağlayıcıları, kendi temel görüntülerinde aynı deneyimi sağlamak için belgelerden yararlanabilir.

S: Mevcut contailer'lı uygulamamı AWS Lambda'ya nasıl dağıtırım?

Aşağıdaki gereklilikleri karşılıyorsa, container'lı bir uygulamayı AWS Lambda'ya dağıtabilirsiniz:

  1. Container görüntüsü, Lambda Çalışma Zamanı API'sini uygulamalıdır. Tercih ettiğiniz temel görüntüleri kolayca genişleterek Lambda uyumlu yapabilmeniz için Lambda Çalışma Zamanı API'sini uygulayan bir dizi yazılım paketini ve Çalışma Zamanı Arabirimi İstemcisini (RIC) açık kaynaklı hale getirdik.
  2. Container görüntüsü, salt okunur bir dosya sisteminde çalışabiliyor olmalıdır. İşlev kodunuz 512 MB boyutunda, üzerine veri yazabildiği bir /tmp dizinine erişebilir. Kök dizinine veri yazılmasını gerektiren bir görüntü kullanıyorsanız verileri /tmp dizinine yazılacak şekilde yapılandırın.
  3. İşlev kodunun yürütülmesi için gereken dosyalar, Lambda kullanıcısı tarafından okunabilmelidir. Lambda, en iyi güvenlik uygulamaları doğrultusunda en düşük ayrıcalıklı izinlere sahip bir varsayılan Linux kullanıcısı tanımlar. Uygulama kodunuzun, yürütülmesi diğer Linux kullanıcıları tarafından kısıtlanmış dosyalara ihtiyaç duymadığını doğrulamanız gerekir.
  4. Linux tabanlı bir container görüntüsü olmalıdır.

AWS Lambda SnapStart

S: AWS Lambda SnapStart nedir?
 
Java İçin AWS Lambda SnapStart, 10 kata kadar daha hızlı işlev başlatma performansı sunar. İstek üzerine işlevler için başlatma aşaması (AWS Lambda'nın işlevin kodunu yüklediği ve harici bağımlılıkları başlattığı aşama), başlatma gecikmesinde en fazla payı olan aşamadır ve ilk çağrıda gerçekleşir. Lambda SnapStart ile Lambda, işlevi ilk kez çağırdığınızda değil, bir işlev sürümü yayınladığınızda tek seferlik başlatma işlev kodunu önceden başlatır. Ardından, Lambda bir anlık yedek alır ve başlatılan yürütme ortamının bellek ve disk durumunu önbelleğe alır. İşlevi çağırdığınızda ve işlev ölçeklenirken Lambda, işlevi sıfırdan başlatmak yerine önbelleğe alınmış anlık yedekten sürdürür.
 
S: Lambda işlevimi Lambda SnapStart'ı kullanacak şekilde nasıl yapılandırırım?
 
Lambda SnapStart; Lambda API'si, AWS Yönetim Konsolu, AWS Komut Satırı Arabirimi (CLI), AWS SDK, AWS Bulut Geliştirme Seti (CDK), AWS CloudFormation ve AWS Sunucusuz Uygulama Modeli (SAM) kullanılarak yeni ve mevcut Java işlevleri için yapılandırılabilen, basit, işlev düzeyinde bir yapılandırmadır. Lambda SnapStart'ı yapılandırdığınızda, bundan sonra yayınlanan her işlev sürümü, Lambda SnapStart tarafından sunulan iyileştirilmiş başlatma performansından yararlanır. Lambda SnapStart hakkında daha fazla bilgi edinmek için belgelere göz atın.
 
S: Lambda SnapStart ile Tedarik Edilen Eş Zamanlılık (PC) arasında nasıl seçim yaparım?

Lambda SnapStart, tek seferlik başlatma kodunun yürütülmesi sırasında ortaya çıkan değişken gecikmeyi azaltarak Java işlevlerinizin 10 kata kadar daha hızlı başlatma sürelerine ulaşmasına yardımcı olan bir performans optimizasyonudur. Lambda SnapStart, uygulamanızdaki veya hesabınızdaki tüm işlevlerde hiçbir ek ücret olmadan geniş çapta çalışır. Bir müşteri Lambda SnapStart ile bir işlev sürümü yayınladığında, işlevin kodu ilk çalıştırmada başlatılmak yerine önceden başlatılır. Ardından Lambda, başlatılan yürütme ortamının anlık yedeğini alır ve düşük gecikmeli erişim için katmanlı bir önbellekte tutar. İşlev ilk kez çağrıldığında ve ardından ölçeklendiğinde Lambda, işlevi sıfırdan başlatmak yerine önbelleğe alınmış yedekten sürdürerek daha düşük bir başlatma gecikmesi sağlar.

Lambda SnapStart, başlatma gecikmesini azaltırken en iyi çalışma optimizasyonu olarak çalışır ve soğuk başlatmaların ortadan kaldırılacağını garanti etmez. Uygulamanızın katı gecikme gereksinimleri varsa ve çift haneli milisaniye başlatma süreleri gerektiriyorsa Tedarik Edilen Eş Zamanlılık'ı kullanmanızı tavsiye ederiz.

S: Lambda SnapStart hangi çalışma zamanlarını destekler?
 
Lambda SnapStart, Java 11 çalışma zamanını destekler. Java'nın gelecek sürümleri, yayınlandıktan sonra desteklenecektir. Lambda tarafından desteklenen tüm çalışma zamanları için Lambda çalışma zamanları belgelerine göz atın.
 
S: Hem Lambda SnapStart'ı hem de Tedarik Edilen Eş Zamanlılık'ı aynı işlevde etkinleştirebilir miyim?

Hayır. Lambda SnapStart ve Tedarik Edilen Eş Zamanlılık aynı anda, aynı işlevde etkinleştirilemez.
 
S: Lambda SnapStart işlevini, bir Sanal Özel Bulut (VPC) ile yapılandırabilir miyim?
 
Evet. Bir Lambda SnapStart işlevini, Sanal Özel Bulut'taki (VPC) kaynaklara erişecek şekilde yapılandırabilirsiniz. İşlevinizi bir VPC ile yapılandırma hakkında daha fazla bilgi için Lambda belgelerine göz atın.
 
S: Lambda SnapStart'ı hem x86 hem de Arm mimarilerinde yapılandırabilir miyim?

Hayır. Lambda SnapStart'ı şu anda yalnızca x86 mimarisinde çalışan işlevler için yapılandırabilirsiniz.
 
S: Lambda SnapStart'ı Amazon Esnek Dosya Sistemi (EFS) ile etkinleştirebilir miyim?

Hayır. Şu anda Lamba SnapStart'ı Amazon EFS ile etkinleştiremezsiniz.
 
S: Lambda SnapStart'ı 512 MB'ın üzerindeki daha geniş kısa ömürlü depolama (/tmp) ile etkinleştirebilir miyim?
 
Hayır. Lambda SnapStart'ı 512 MB'ın üzerindeki daha geniş kısa ömürlü depolama (/tmp) ile şu anda etkinleştirebilirsiniz.
 
S: Anlık yedekleri önbelleğe alma ve sürdürme işlevi, yazılım uyumluluğu hususlarını ortaya çıkarır mı?

Evet. Kodunuz, durum benzersizliğini varsayarsa kodunuzun anlık yedek işlemlerine (klonlanma ve sürdürülme gibi) dayanıklılığını değerlendirmeniz gerekir. Lambda SnapStart ile benzersizlik hususları hakkında daha fazla bilgi edinmek için Lambda SnapStart ile VM anlık yedeklerinde benzersizliği anlamaya ilişkin belgelere ve bloga göz atın.

S: Bir anlık yedek oluşturulmadan önce veya işlev, anlık yedekten sürdürüldüğünde kendi kodumu çalıştırabilir miyim?

Evet. Bir anlık yedek oluşturmadan (kontrol noktası belirlemeden) önce ve çalışma zamanı kancalarını kullanarak bir anlık yedeği geri yükledikten sonra kendi yazılım mantığınızı uygulayabilirsiniz. Daha fazla bilgi edinmek için Lambda SnapStart belgelerine göz atın.

S: Lambda SnapStart için ücret ödeyecek miyim?

Hayır. Lambda SnapStart'ı etkinleştirmek için ek ücret uygulanmaz. Geçerli Lambda Fiyatlandırması'na göre işlevlerinize yönelik istek sayısına ve kodunuzun yürütüldüğü süreye göre ücretlendirilirsiniz. Süre ücreti bir işlevin işleyicisinde ve çalışma zamanı kancalarında çalışan kod ve işleyici dışında belirtilen başlatma kodu için geçerlidir. Lütfen AWS Lambda'nın yürütme ortamlarını güvenlik düzeltme ekleriyle düzenli olarak geri dönüştürebileceğini ve başlatma kodunuzu yeniden çalıştırabileceğini unutmayın. Daha fazla bilgi edinmek için Lambda Programlama Modeli belgelerine göz atın.

S: Yayınlanan işlev sürümünün anlık yedekleri, Lambda SnapStart ile ne kadar süreyle önbellekte kalır?

Lambda SnapStart ile Lambda, yayınlanan sürümler çağrı almaya devam ettiği sürece, yayınlanan son üç işlev sürümü için başlatılan yürütme ortamının bir anlık yedeğini tutar. Yayınlanmış bir işlev sürümüyle ilişkili anlık yedeğin süresi, 14 günden uzun süre devre dışı kalırsa sona erer.

S: Lambda SnapStart tarafından oluşturulan, başlatılmış yürütme ortamının anlık yedeklerini nasıl şifreleyebilirim?

Anlık yedekler, varsayılan olarak Lambda hizmetine ait olan ve bu hizmet tarafından yönetilen müşteriye özel AWS Anahtar Yönetimi Hizmeti (KMS) ile şifrelenir. Müşteriler, anlık yedekleri müşteriye ait olan ve müşteri tarafından yönetilen bir KMS anahtarını kullanarak da şifreleyebilir.

S: Kod başlatma işlemimin Lambda SnapStart ile ne kadar süreyle çalışabileceğine ilişkin bir zaman sınırı var mı?

Lambda SnapStart için izin verilen maksimum başlatma süresi, işleviniz için yapılandırdığınız yürütme zaman aşımı süresiyle aynıdır. Bir işlev için yapılandırılabilir maksimum yürütme zaman aşımı sınırı 15 dakikadır.
 

Tedarik Edilen Eş Zamanlılık

S: AWS Lambda Eş Zamanlı Tedarik nedir?

Eş Zamanlı Tedarik, sunucusuz uygulamalarınızın performansı üzerinde daha iyi bir kontrol sağlar. Etkinleştirildiğinde, Eş Zamanlı Tedarik, işlevleri başlatır ve çift basamaklı milisaniyelerde yanıt vermeye hazır olarak tutar.

S: Eş Zamanlı Tedariki nasıl kurabilir ve yönetebilirim?

İşlevinizdeki eş zamanlılığı AWS Management Console, Lambda API, AWS CLI ve AWS CloudFormation üzerinden yapılandırabilirsiniz. Eş Zamanlı Tedarikten yararlanmanın en kolay yolu, AWS Auto Scaling kullanmaktır. Zamanlamaları yapılandırmak için Application Auto Scaling’i kullanabilir veya Auto Scaling’in talep değiştikçe gerçek zamanlı Eş Zamanlı Tedarik seviyesini otomatik olarak ayarlamasını sağlayabilirsiniz. Eş Zamanlı Tedarik hakkında daha fazla bilgi edinmek için belgeler bölümüne bakın.

S: Eş Zamanlı Tedarik kullanmak istersem kodumu değiştirmem gerekir mi?

Eş Zamanlı Tedarik kullanmak için kodunuzda değişiklik yapmanız gerekmez. Mevcut tüm fonksiyonlar ve programlarla sorunsuz bir şekilde çalışır. Eş Zamanlı Tedarik kullanırken, Lambda'nın çalıştırılma ve yürütme modelinde herhangi bir değişiklik olmaz.

S: Eş Zamanlı Tedarik için nasıl ücretlendirileceğim?

Eş Zamanlı Tedarik, işlevleri kullanıma hazır tutmak için "Eş Zamanlı Tedarik" fiyatlandırma boyutu ekler. Etkinleştirildiğinde, yapılandırdığınız eş zamanlılık miktarına ve yapılandırdığınız süreye göre ödeme yaparsınız. İşleviniz, Eş Zamanlı Tedarik yapılandırılmışken çalışırsa, İstekler ve çalışma süresi için ödeme yaparsınız. Tedarik Edilen Eş Zamanlılık fiyatlandırması hakkında daha fazla bilgi edinmek için AWS Lambda Fiyatlandırması'na bakın.

S: Ne zaman Eş Zamanlı Tedarik kullanmalıyım?

Eş Zamanlı Tedarik, web veya mobil arka uçlar, eş zamanlı olarak çağrılan API'ler ve etkileşimli mikro servisler gibi gecikmeye duyarlı uygulamalar oluşturmak için idealdir. Uygulamanızın özel ihtiyaçlarına göre eş zamanlılık miktarını kolayca yapılandırabilirsiniz. Yüksek talebin olduğu zamanlarda eş zamanlılık miktarını yükseltebilir, talep azaldığında ise azaltabilir veya tamamen kapatabilirsiniz.

S: Bir işlev, yapılandırılan Eş Zamanlı Tedarik seviyesinin üstünde çağrılırsa ne olur?

Bir işlevin eş zamanlılığı yapılandırılan düzeye ulaşırsa, işlevin sonraki çağrıları, normal Lambda işlevlerinin gecikme ve ölçek özelliklerini alır. İşlevinizi yalnızca yapılandırıldığı seviyeye kadar ölçeklendirilecek şekilde kısıtlayabilirsiniz. Bu şekilde yapılandırmak, işlevin yapılandırılan Eş Zamanlı Tedarik seviyesini aşmasını önler. Bu durum, talep beklenen miktarı aştığında, uygulamanızdaki istenmeyen değişkenliği önleyen bir mekanizmadır.

Graviton2 işlemciler tarafından desteklenen AWS Lambda işlevleri

S: Graviton2 işlemciler tarafından desteklenen AWS Lambda işlevleri nelerdir?

AWS Lambda, işlevlerinizi x86 tabanlı veya Arm tabanlı işlemcilerde çalıştırmanızı sağlar. AWS Graviton2 işlemciler, bulut iş yüklerinizde yüksek fiyat performansı sunmak üzere 64 bit Arm Neoverse çekirdekler kullanılarak Amazon Web Services tarafından özel olarak geliştirilmiştir. Müşteriler, sunucu tedarik etmeden veya yönetmeden kod çalıştırma, otomatik ölçeklendirme, yüksek erişilebilirlik ve yalnızca kullandığınız kaynaklar için ödeme yapma gibi AWS Lambda'da sunulan aynı avantajlara sahip olur.

S: Neden Graviton2 işlemciler tarafından desteklenen AWS Lambda işlevlerini kullanmalıyım?

AWS tarafından tasarlanan Arm tabanlı bir işlemci mimarisinin kullanıldığı Graviton2 tarafından desteklenen AWS Lambda işlevleri; web ve mobil arka uçları, veri ve akış işleme gibi çeşitli sunucusuz iş yükleri için x86 işlemcilerde çalışan işlevlere kıyasla %34'e kadar daha iyi fiyat performansı sunmak üzere tasarlanmıştır. Daha düşük gecikme süresi, %19'a kadar daha iyi performans, %20 daha düşük maliyet ve şu anda AWS'de bulunan en yüksek güç verimliliği ile Graviton2 işlevleri, görev açısından kritik öneme sahip sunucusuz uygulamaları destekleyebilir. Müşteriler, hem mevcut hem de yeni işlevleri Graviton2 işlemciyi hedefleyecek şekilde yapılandırabilir. Graviton2'de çalışan işlevleri zip dosyaları veya container görüntüleri olarak dağıtabilirler.

S: İşlevlerimi Graviton2 işlemcilerde çalışacak şekilde nasıl yapılandırabilirim?

AWS Management Console, AWS Lambda API, AWS CLI ve AWS CloudFormation ile işlevinizin mimari işaretini "arm64" şeklinde ayarlayarak işlevleri Graviton2 üzerinde çalışacak şekilde yapılandırabilirsiniz.

S: Graviton2 işlemciler tarafından desteklenen işlevlerle oluşturulmuş uygulamamı nasıl dağıtırım?

x86 tabanlı ve Arm tabanlı işlevler arasında herhangi bir değişiklik yoktur. Kodunuzu AWS Management Console, zip dosyası veya container görüntüsü aracılığıyla yüklediğinizde AWS Lambda, altyapı tedarik etmenize veya yönetmenize gerek kalmadan tetiklendiğinde kodunuzu otomatik olarak çalıştırır.

S: Bir uygulama, hem Graviton2 işlemciler hem de x86 işlemciler tarafından desteklenen işlevleri kullanabilir mi?

Bir uygulama, her iki mimaride de çalışan işlevleri içerebilir. AWS Lambda, işlevinizin mevcut sürümünün mimarisini ("x86_64" veya "arm64") değiştirmenizi sağlar. İşlevinizin belirli bir sürümünü oluşturduktan sonra mimari değiştirilemez.

S: AWS Lambda, çok mimarili container görüntülerini destekliyor mu?

Hayır. Her işlev sürümü, yalnızca tek bir container görüntüsü kullanabilir.

S: AWS Graviton2 işlemciler tarafından desteklenen işlevleri hedefleyen AWS Lambda Katmanları oluşturabilir miyim?

Evet. Katmanlar ve uzantılar, "x86_64" veya "arm64" uyumlu mimarilere hedeflenebilir. İşlevler ve katmanlar için varsayılan mimari "x86_64" mimarisidir.

S: Graviton2 işlemcilerde çalışan Lambda işlevleri hangi dilleri ve çalışma zamanlarını destekler?

Müşteriler, lansmanda Python, Node.js, Java, Ruby, .Net Core, Özel Çalışma Zamanı (provided.al2) ve OCI Base görüntülerini kullanabilir. Daha fazla bilgi edinmek için lütfen AWS Lambda Çalışma Zamanlarına göz atın.

S: AWS Graviton2 işlemciler tarafından desteklenen AWS Lambda işlevlerinin fiyatlandırması nasıldır? AWS Lambda ücretsiz kullanım, Graviton2 tarafından desteklenen işlevler için geçerli mi?

AWS Graviton2 işlemciler tarafından desteklenen AWS Lambda işlevleri, x86 tabanlı Lambda işlevlerine göre %20 daha hesaplıdır. Lambda ücretsiz kullanım, x86 ve Arm tabanlı mimariler tarafından desteklenen AWS Lambda işlevleri için geçerlidir.

S: İşlevlerimi Graviton2 işlemcilerde veya x86 işlemcilerde çalıştıracağımı nasıl seçerim?

Her iş yükü benzersizdir ve müşterilerin görebilecekleri fiyat performansı artışını belirlemek için işlevlerini test etmelerini öneririz. Bunun için AWS Lambda Power Tuning aracını kullanmanızı öneririz. Potansiyel fiyat performansı iyileştirmeleri için iş yüklerinizi test ederken web ve mobil arka uçları, veri ve akış işleme ile başlamanızı öneririz.

S: Graviton2 işlemciler tarafından yerel olarak desteklenen işlevleri oluşturmak, geliştirmek ve test etmek için Arm tabanlı bir geliştirme makinesine ihtiyacım var mı?

Python, Java ve Node gibi yorumlanan diller, kodunuz mimariye özgü bileşenleri kullanan kitaplıklara başvurmadıkça genellikle yeniden derleme gerektirmez. Bu gibi durumlarda arm64'ü hedefleyen kitaplıkları tedarik etmeniz gerekir. Diğer ayrıntıları öğrenmek için lütfen AWS Graviton'u Kullanmaya Başlama sayfasına bakın. Yorumlanmayan diller, kodunuzu arm64'ü hedefleyecek şekilde derlemenizi gerektirir. Daha modern derleyiciler, arm64 için derlenmiş kod üretecek olsa da bunu test etmek için Arm tabanlı bir ortama dağıtmanız gerekecektir. Graviton2 ile Lambda işlevlerini kullanma hakkında daha fazla bilgi edinmek için lütfen belgelere göz atın.

AWS Lambda için Amazon EFS

S: AWS Lambda için Amazon EFS nedir?

AWS Lambda için Amazon Elastic File System (Amazon EFS) ile müşteriler, kaynak tedariki veya kapasite yönetimi ihtiyacı olmadan talep üzerine ölçeklendirilebilen, tamamen yönetilen esnek bir NFS dosya sistemi kullanarak büyük hacimli verileri neredeyse her ölçekte güvenli bir şekilde okuyabilir, yazabilir ve kalıcı hale getirebilir. Geliştiriciler daha önce, 512 MB ile sınırlı olmak şartıyla S3'ten veya veritabanlarından yerel geçici depolama alanına veri indirmek için işlevlerine kod ekliyordu. Lambda for EFS ile geliştiricilerin, verileri işlemek üzere geçici depolama alanına indirmek için kod yazması gerekmez.

S: Lambda için Amazon EFS'yi nasıl ayarlayabilirim?

Geliştiriciler; konsol, CLI veya SDK ile mevcut bir EFS dosya sistemini EFS Erişim Noktası üzerinden bir Lambda işlevine kolayca bağlayabilir. İşlevler ilk kez çağrıldığında dosya sistemi otomatik olarak bağlanır ve işlev kodu tarafından kullanılabilir hale gelir. Daha fazla bilgi için belgelere bakabilirsiniz.

S: Amazon EFS dosya sistemini kullanabilmek için VPC ayarlarımın işlevini yapılandırmam gerekiyor mu?

Evet. Amazon EFS için bağlama hedefleri, VPC'de bir alt ağla ilişkilendirilir. Bu VPC'ye erişmek için AWS Lambda işlevinin yapılandırılması gerekir.

S: Lambda için Amazon EFS'yi kimler kullanmalı?

Lambda için EFS'nin kullanılması, makine öğrenimi uygulamaları oluşturmak, büyük referans dosyaları veya modeller yüklemek, büyük miktarlarda veriyi işlemek ya da yedeklemek, web içeriği barındırmak veya dahili derleme sistemleri geliştirmek için idealdir. Müşteriler, durum bilgisi olan bir mikro hizmet altyapısındaki çağrılar arasında durumu bir Step Functions iş akışında tutmak veya sunucusuz uygulamalar ile bulut sunucusu veya container tabanlı uygulamalar arasında dosya paylaşmak üzere Lambda için EFS'yi kullanabilir.

S: Verilerim taşıma sırasında şifrelenecek mi?

Evet. Taşıma durumunda veri şifreleme için sektör standardı olan Aktarım Katmanı Güvenliği (TLS) 1.2 kullanılarak AWS Lambda işlevleri ile Amazon EFS dosya sistemleri arasındaki veri alışverişi şifrelenir.

S: Kullanımda olmayan verilerim şifrelenir mi?

Müşteriler, verilerini bekleme durumundayken şifrelemek için Amazon EFS'yi kullanabilir. Bekleme durumunda şifrelenen veriler yazılma sırasında şeffaf bir şekilde şifrelenir ve okunma sırasında şifresi şeffaf bir şekilde çözülür. Bu sayede uygulamalarınızı değiştirmenize gerek kalmaz. Şifreleme anahtarları AWS Key Management Service (KMS) tarafından yönetilir ve bu da güvenli anahtar yönetim altyapısı oluşturma ve bakımını yapma gereksinimini ortadan kaldırır.

S: AWS Lambda için Amazon EFS kullanımı nasıl ücretlendirilir?

AWS Lambda için Amazon EFS kullanımı için ek ücret uygulanmaz. Müşteriler AWS Lambda ve Amazon EFS için standart fiyat öder. Lambda ve EFS'yi aynı erişilebilirlik alanında kullanırken müşteriler, veri transferi için ücretlendirilmez. Ancak Hesaplar Arası erişim için VPC eşlemeyi kullanırlarsa veri transferi ücretleri uygulanır. Daha fazla bilgi edinmek için lütfen Fiyatlandırma sayfasına göz atın.

S: AWS Lambda işlevimle birden fazla Amazon EFS dosya sistemi ilişkilendirebilir miyim?

Hayır. Her Lambda işlevi bir EFS dosya sistemine erişebilir.

S: Birden fazla işlev, container ve bulut sunucusunda aynı Amazon EFS dosya sistemini kullanabilir miyim?

Evet. Amazon EFS; Lambda işlevlerini, ECS ile Fargate container'larını ve EC2 bulut sunucularını destekler. Aynı dosya sistemini paylaşabilir ve her işlevin, container'ın veya bulut sunucusunun nelere erişebildiğini denetlemek için IAM politikası ve Erişim Noktalarını kullanabilirsiniz.  

Lambda Uzantıları

S: AWS Lambda Uzantıları nedir?

AWS Lambda Uzantıları, Lambda'yı en sevdiğiniz izleme, gözlenebilirlik, güvenlik ve yönetim araçlarıyla entegre etmenize olanak tanır. Uzantılar, sizin ve tercih ettiğiniz araç satıcılarının Lambda'nın yaşam döngüsüyle bağlantı kurmasını ve Lambda yürütme ortamıyla daha derin bir entegrasyon gerçekleştirmesini sağlar.

S: Lambda uzantıları nasıl çalışır?

Uzantılar, işlev kodunuzun yürütüldüğü Lambda yürütme ortamında çalışan yardımcı işlemlerdir. Ek olarak, işlev çağırmanın dışında çalışabilirler. Yani uzantılar, işlev başlatılmadan önce başlatılır, işlevle paralel olarak çalışır ve işlev yürütmesi tamamlandıktan sonra çalışmayı sürdürebilir; ayrıca, yürütme ortamı Lambda hizmeti tarafından kapatılmadan önce de çalışabilir.

S: Lambda uzantılarını ne için kullanabilirim?

Uzantıları, AWS'nin yanı sıra şu çözüm ortakları tarafından sunulan en sevdiğiniz izleme, gözlenebilirlik, güvenlik ve yönetim araçları için kullanabilirsiniz: 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. Bu uzantılar hakkında daha fazla bilgi edinmek için başlatma blog gönderisini ziyaret edin.

S: Lambda uzantılarını nasıl ayarlayıp yönetebilirim?

CloudFormation, AWS Serverless Application Model ve Terraform gibi Konsol, CLI veya Altyapı Olarak Kod araçlarının kullanımıyla, bir veya daha fazla Lambda işlevinde Katmanlardan yararlanarak uzantıları dağıtabilirsiniz. Başlamak için belgeleri ziyaret edin..

S: AWS Lambda uzantılarını hangi çalışma zamanlarıyla kullanabilirim?

Uzantıları destekleyen çalışma zamanlarının listesini buradan görüntüleyebilirsiniz.

S: Uzantılar, dağıtım paketi sınırına dahil edilir mi?

Evet, sıkıştırması açılmış işlev boyutu ve tüm uzantıların toplamı, 250 MB olan sıkıştırması açılmış dağıtım paketi boyut sınırını aşamaz.

S: Uzantı kullanmanın performans üzerinde bir etkisi var mı?

Uzantılar; CPU, bellek ve depolama gibi kaynakları işlevle paylaştıkları ve işlev kodundan önce başlatıldıkları için işlevin performansını etkileyebilir. Örneğin, uzantı ve işlev kodunuz aynı CPU kaynaklarını paylaştığından, bir uzantı yoğun işlem kullanımlı operasyonlar gerçekleştiriyorsa, işlev yürütme sürenizde artış olduğunu görebilirsiniz. Lambda sizin seçtiğiniz bellek ayarına orantılı CPU tahsisi yaptığından ve dolayısıyla düşük bellek ayarlarında aynı CPU kaynakları için daha fazla işlem rekabet edeceğinden, yüksek yürütme ve başlatma süreleriyle karşılaşabilirsiniz.

İşlev yürütüldükten sonra uzantı için gereken ekstra zamanı ölçmek üzere PostRuntimeExecutionDuration ölçümünü ve bellek kullanımındaki artışı ölçmek üzere MaxMemoryUsed ölçümünü kullanabilirsiniz. Belirli bir uzantının etkisini anlamak için Duration ölçümünü de kullanabilirsiniz. Şu anda işlev yürütmesi yanıtı, işlev ve uzantı yürütmesi tamamlandıktan sonra döndürülür. Daha fazla bilgi edinmek için Lambda geliştirici belgelerini ziyaret edin.

S: Lambda uzantıları kullanımım için nasıl ücret uygulanır?

Uzantılar için Lambda işlevleriyle aynı faturalandırma modeli kullanılır. Lambda işlevlerini uzantılarla kullanırken, sunulan istek sayısına ve 1 ms artışlarla, kodunuz ile tüm uzantıları çalıştırmak için kullanılan toplam işlem süresine göre ödeme yaparsınız. İşlem süresi için mevcut Lambda süresi fiyatlandırmasına göre ücretlendirilirsiniz. Daha fazla bilgi edinmek için AWS Lambda fiyatlandırmasına göz atın.

Lambda yaşam döngüsü üç farklı aşamadan oluşur: AWS Lambda'nın işlevi, bağımlılıkları ve uzantıları başlattığı "init" aşaması; Lambda'nın tetikleyicilere yanıt olarak işlevi ve uzantı kodunu yürüttüğü "invoke" aşaması ve işlev yürütmesinin tamamlanmış ancak uzantı kodunun hâlâ yürütüldüğü, iki saniyeye kadar sürebilen "shut down" aşaması. Lambda yaşam döngüsünün üç aşamasının tümünde uzantı kodunuzun çalıştırıldığı işlem süresi için ücret ödersiniz. Lambda yaşam döngüsü hakkında daha fazla bilgi edinmek için Lambda Yürütme Ortamı belgelerine bakın.

Çözüm ortağı teklifleri için ücret tahsil edilebilir ancak uzantı yüklemeleri için ek ücret alınmaz. Ayrıntılar için ilgili çözüm ortağının web sitesine göz atın.

S: Kendi özel Lambda uzantılarımı oluşturabilir miyim?

Evet, AWS Lambda Çalışma Zamanı Uzantıları API'sini kullanarak bunu yapabilirsiniz. Daha fazla bilgi edinmek için belgeleri ziyaret edin.

S: Tedarik Edilen Eş Zamanlılık etkinken uzantılar nasıl çalışır?

Eş Zamanlı Tedarik, işlevleri başlatır ve çift basamaklı milisaniyelerde yanıt vermeye hazır olarak tutar. Eş Zamanlı Tedarik etkinleştirildiğinde, uzantıları da başlatır ve işlev koduyla birlikte çalışmaya hazır olarak tutar.

S: Uzantıların hangi izinlere sahip olması gerekir?

Uzantılar, Lambda işleviyle aynı ortam içinde yürütüldüğünden, işlev ile aynı kaynaklara erişime sahiptir ve izinler, işlev ile uzantı arasında paylaşılır. Bu nedenle kimlik bilgileri, rol ve ortam değişkenlerini paylaşırlar. Uzantılar, işlev koduna salt okunur erişime sahiptir ve /tmp dizininde okuma ve yazma işlemi yapabilir.

S: AWS Lambda Telemetry API nedir?

AWS Lambda Telemetry API, gelişmiş izleme ve gözlenebilirlik verilerini doğrudan Lambda’dan yakalamak ve seçeceğiniz bir hedefe göndermek için uzantıları kullanmanızı sağlar.

S: Telemetry API nasıl çalışır?

Lambda hizmeti, telemetri verilerini otomatik olarak yakalar ve bunları Amazon CloudWatch ve AWS X-Ray’e aktarır. Telemetry API, Lamba yürütme ortamı yaşam döngüsü olayları ve işlev çağrı düzeyi ölçümleri ile birlikte aynı telemetri verilerini almaya yönelik uzantılar için basit bir HTTP veya TCP arabirimi sağlar. Uzantılar, bu telemetri akışlarını doğrudan Lambda’dan kullanmak ve ardından bunları işlemek, filtrelemek ve tercih edilen hedefe göndermek üzere Telemetry API’yi kullanabilir.

S: Telemetry API’yi nasıl kullanmaya başlayabilirim?

AWS Lambda Konsol, AWS CLI veya AWS CloudFormation, AWS Sunucusuz Uygulama Modeli ve Terraform gibi Kod Olarak Altyapı araçlarının kullanımıyla, Lambda işlevleriniz için Telemetry API özellikli uzantıları dağıtabilirsiniz. Lambda işlevinizle birlikte bir Telemetry API özellikli uzantı kullanmak için kod değişikliği yapmanız gerekmez. Seçtiğiniz araç sağlayıcısından bir uzantıyı Lamba işlevinize eklemeniz yeterlidir.  APN Çözüm Ortaklarının uzantılarını kullanmaya başlamak için başlatma blog gönderisinde verilen bağlantıları takip edin. Ayrıca, Telemetry API’yi kullanan, kendinize ait bir uzantı oluşturabilirsiniz. Nasıl yapacağınızı öğrenmek için AWS Lambda Geliştirici Kılavuzu'nu ziyaret edin.

S: Telemetry API kullanmanın performans üzerinde bir etkisi var mı?

Telemetry API’yi yalnızca AWS Lambda Uzantıları içinden kullanabilirsiniz. Uzantılar; CPU, bellek ve depolama gibi kaynakları işlevle paylaştıkları için işlevinizin performansını etkileyebilir. Her bir abonelik, telemetri verilerini depolamak üzere yeni bir arabellek açtığı için Telemetry API aboneliklerinin sayısı arttıkça bellek kullanımı da doğrusal olarak artar. Ancak Telemetry API abonelik isteğinde arabellek yapılandırmasını ayarlayarak bellek kullanımını optimize edebilirsiniz. İşlev geliştiricilerinin uygun bir uzantı seçmesini kolaylaştırmak için uzantı satıcılarının beklenen kaynak tüketimini yayınlamasını öneririz. Uzantıları kullanmaya yönelik olası performans ek yükünü anlamak için lütfen uzantı satıcınızın belgelerine bakın.

S: Telemetry API kullanımım için nasıl ücret uygulanır?

AWS Lambda Telemetry API kullanımı için ek ücret uygulanmaz. Telemetry API’yi kullanan uzantılar, diğer uzantılar ve Lambda işlevleriyle aynı faturalandırma modelini paylaşır. Uzantıların fiyatlandırılması hakkında daha fazla bilgi için lütfen Lamba fiyatlandırması sayfasına bakın.

S: Telemetry API kullanımı, Amazon CloudWatch Günlükleri'ne günlük göndermeyi devre dışı bırakır mı?

Hayır. Varsayılan olarak, Lambda hizmeti tüm telemetri verilerini CloudWatch Günlükleri’ne gönderir ve Telemetry API'yi kullanmak, CloudWatch Günlükleri’ne çıkışı devre dışı bırakmaz.

Lambda işlevi URL'leri

S: AWS Lambda işlevleri HTTP(S) uç noktalarını destekler mi?

Evet. Lambda işlevleri tarayıcı, curl ve herhangi bir HTTP istemcisi kullanılarak çağrılabilen yerleşik bir HTTPS uç noktası olan işlev URL'si ile yapılandırılabilir. İşlev URL'leri, HTTPS üzerinden erişilebilir işlevleri geliştirmeye başlamak için kolay bir yöntemdir.

S: İşlevim için bir Lambda işlevi URL'sini nasıl yapılandırabilirim?

İşleviniz için işlev URL'sini AWS Management Console, AWS Lambda API, AWS CLI, AWS CloudFormation ve AWS Serverless Application Model aracılığıyla yapılandırabilirsiniz. İşlev URL'leri işlevinizin $LATEST nitelenmemiş sürümünde veya herhangi bir işlev diğer adında etkinleştirilebilir. İşlev URL'si yapılandırma hakkında daha fazla bilgi edinmek için belgelere bakın.

S: Lambda işlevi URL'min güvenliğini nasıl sağlayabilirim?

Lambda işlevi URL'lerinin güvenliği IAM yetkilendirmesi ile varsayılan olarak sağlanır. Genel bir uç nokta oluşturmak için veya işlevin iş mantığının bir parçası olarak özel yetkilendirme uygulamayı planlıyorsanız, IAM yetkilendirmesini devre dışı bırakmayı tercih edebilirsiniz.

S: İşlevimi bir Lambda işlevi URL'si ile nasıl çağırabilirim?

İşlevinizi web tarayıcınız üzerinden Lambda URL'sine giderek, istemci uygulamanızın kodu üzerinden bir HTTP kitaplığı kullanarak veya komut satırı üzerinden curl kullanarak kolaylıkla çağırabilirsiniz.

S: Lambda işlevi URL'leri işlev sürümleri ve diğer adlarla birlikte çalışır mı?

Evet. Lambda işlevi URL'leri bir işlev veya işlev diğer adı üzerinde etkinleştirilebilir. Herhangi bir diğer ad belirtilmemişse, URL varsayılan olarak $LATEST öğesine yönlendirir. İşlev URL'leri herhangi bir bağımsız işlev sürümünü hedefleyemez.

S: Lambda işlevi URL'm için özel etki alanları etkinleştirebilir miyim?

İşlev URL'leri ile şu anda özel etki alanı adları desteklenmemektedir. Özel etki alanınızı CloudFront dağıtım adınızla eşlemek için Amazon CloudFront dağıtımı ve CNAME oluşturarak işlev URL'nizle özel bir etki alanı kullanabilirsiniz. Ardından, yönlendirilecek CloudFront dağıtım etki alanı adınızı başlangıç noktası olarak işlev URL'nizle eşleyin.

S: Lambda işlevi URL'leri VPC'de işlev çağırmak amacıyla kullanılabilir mi?

Evet, işlev URL'leri VPC'de işlev çağırmak amacıyla kullanılabilir.

S: Lambda işlevi URL'leri fiyatlandırması nasıldır?

İşlev URL’leri kullanımı için ek ücret uygulanmaz. AWS Lambda için standart fiyatı ödersiniz. Daha fazla bilgi edinmek için lütfen AWS Lambda Fiyatlandırmasına göz atın.

Lambda@Edge

S: Lambda@Edge nedir?

Lambda@Edge, sunucu tedarik etmenize veya yönetmenize gerek kalmadan küresel olarak farklı AWS konumlarında kod çalıştırarak son kullanıcılara en düşük ağ gecikme süresiyle yanıt vermenize imkan tanır. Tek yapmanız gereken Node.js veya Python kodunuzu AWS Lambda'ya yüklemek ve işlevinizi Amazon CloudFront isteklerine (ör. bir görüntüleyici isteği geldiğinde, bir istek kaynağa iletildiğinde veya kaynaktan döndürüldüğünde ve son kullanıcıya yanıt verilmeden hemen önce) karşılık olarak tetiklenecek şekilde yapılandırmaktır. Bunu yaptığınızda kod, bir içerik isteği alındığında küresel olarak farklı AWS konumlarında yürütülmeye hazır olur ve küresel olarak CloudFront istek hacmine göre ölçeklendirilir. Daha fazla bilgi edinmek için belgelerimize göz atın.

S: Lambda@Edge’i nasıl kullanabilirim?

Lambda@Edge’i kullanmak için kodunuzu AWS Lambda’ya yüklemeniz ve Amazon CloudFront isteklerine yanıt olarak tetiklenecek bir işlev sürümüyle ilişkilendirmeniz yeterlidir. Kodunuzun Lambda@Edge hizmet sınırlarına uygun olması gerekir. Lambda@Edge şu anda CloudFront olayları tarafından yapılan küresel olarak çağırma için Node.js ve Python desteği sunmaktadır. Daha fazla bilgi edinmek için belgelerimize göz atın.

S: Lambda@Edge'i hangi durumlarda kullanmalıyım?

Lambda@Edge, son görüntüleyicilerinizin dünyanın farklı yerlerinde bulunduğu ve gecikme açısından hassas durumlarda kullanılmak üzere optimize edilmiştir. Karar vermek için ihtiyacınız olan tüm bilgilerin CloudFront ucunda, işlevin ve isteğin içinde mevcut olması gerekir. Bu da kullanıcı özelliklerine (konum, istemci cihazı vb.) göre karar vermeye çalıştığınız kullanım durumlarının artık merkez sunucuya yönlendirilmeden kullanıcılarınıza yakın konumda yürütülüp sunulabileceği anlamına gelmektedir.

S: Var olan Lambda işlevlerimi küresel çapta çağrılacak şekilde dağıtabilir miyim?

Lambda@Edge hizmet gereksinimlerine ve sınırlarına uygun var olan Lambda işlevlerinizi küresel çapta çağırma için CloudFront olaylarıyla ilişkilendirebilirsiniz. İşlevinizin özelliklerini güncelleme hakkında bilgi edinmek için buraya bakabilirsiniz.

S: İşlevlerimi tetiklemek için hangi Amazon CloudFront olaylarını kullanabilirim?

İşlevleriniz aşağıdaki Amazon CloudFront olayları gerçekleştiğinde otomatik olarak tetiklenir:

  • Görüntüleyici İsteği - Bu olay, internetteki bir son kullanıcı veya cihaz CloudFront'a bir HTTP(S) isteği gönderdiğinde ve istek bu kullanıcıya en yakın uç konumuna ulaştığında gerçekleşir.
  • Görüntüleyici Yanıtı - Bu olay, uçtaki CloudFront sunucusu isteği gerçekleştiren son kullanıcıya veya cihaza yanıt vermeye hazır olduğunda gerçekleşir.
  • Kaynak İsteği - Bu olay, istenen nesne CloudFront uç sunucusunun önbelleğinde zaten yoksa ve görüntüleyici isteği arka uç kaynak web sunucunuza (ör. Amazon EC2 veya Application Load Balancer ya da Amazon S3) gönderilmeye hazırsa gerçekleşir.
  • Kaynak Yanıtı - Bu olay, uçtaki CloudFront sunucusu arka uç kaynak web sunucunuzdan bir yanıt aldığında gerçekleşir.

S: AWS Lambda@Edge ile Amazon API Gateway arkasında AWS Lambda kullanımı arasındaki fark nedir?

Fark, API Gateway ve Lambda’nın bölgesel hizmetler olmalarıdır. Lambda@Edge ile Amazon CloudFront hizmetlerini birlikte kullanarak son görüntüleyicilerinizin bulunduğu yere göre birden fazla AWS konumunda mantık yürütebilirsiniz.

Ölçeklenebilirlik ve erişilebilirlik

S: AWS Lambda işlevlerinin erişilebilirlik seviyesi nedir?

AWS Lambda, hem hizmet hem de çalıştırdığı Lambda işlevleri için yüksek oranda erişilebilirlik sunma amacıyla replikasyon ve yedeklilik özelliklerinden faydalanacak şekilde tasarlanmıştır. İkisi için de bakım aralığı veya planlı kesinti süresi yoktur.

S: Kodumu veya yapılandırmasını değiştirdiğimde AWS Lambda işlevlerim kullanılmaya devam edilebilir mi?

Evet. Bir Lambda işlevini güncellediğinizde genelde bir dakikadan kısa bir süre boyunca istekler işlevinizin eski veya yeni sürümü tarafından yanıtlanabilir.

S: Tek seferde çalıştırabileceğim AWS Lambda işlevi sayısında bir sınır var mı?

Hayır. AWS Lambda, işlevinizi içeren çok sayıda bulut sunucusunu paralel olarak çalıştıracak şekilde tasarlanmıştır. Ancak AWS Lambda, bölge ve hesap başına geçerli olan varsayılan zaman uyumlu çalıştırma sayısı kısıtlamasına sahiptir (varsayılan güvenlik kısıtlamaları hakkında bilgi için bu sayfayı ziyaret edin). Ayrıca bağımsız AWS Lambda işlevleri için maksimum eş zamanlı yürütme sayısını kontrol ederek hesabınızın eş zamanlı yürütme sınırının bir bölümünü kritik işlevler için ayırabilir veya aşağı akış kaynakları için trafik hızını sınırlandırabilirsiniz.

Eş zamanlı yürütme sınırını artırmak için bir istek göndermek isterseniz sınır artırma isteği talep etmek için Hizmet Kotaları'nı kullanabilirsiniz. 

S: Hesabım varsayılan eş zamanlı yürütme kısıtlama sınırını aşarsa ne olur?

Maksimum eş zamanlı yürütme sınırını aşmanız durumunda eş zamanlı olarak çağrılan AWS Lambda işlevleri kısıtlama hatası (429 hata kodu) döndürür. Zaman uyumsuz olarak çağrılan Lambda işlevleri yaklaşık 15-30 dakika boyunca makul trafik artışlarını kabul edebilir ancak sonrasında olaylar kısıtlama nedeniyle reddedilecektir. Lambda işlevinin Amazon S3 olaylarına yanıt olarak çağrılması durumunda AWS Lambda tarafından reddedilen olaylar S3 tarafından 24 saat boyunca tutulabilir ve yeniden denenebilir. Amazon Kinesis Streams ve Amazon DynamoDB Streams olayları, Lambda işlevi başarılı olana veya verilerin süresi dolana kadar yeniden denenir. Amazon Kinesis ve Amazon DynamoDB Akışları, verileri 24 saat boyunca saklar.

S: İşlev düzeyi başına varsayılan maksimum eş zamanlı yürütme sınırları uygulanıyor mu?

Varsayılan maksimum eş zamanlı yürütme sınırı, hesap düzeyinde uygulanır. Ancak her işlev için ayrı olarak da sınırlar belirleyebilirsiniz (Rezerve Eş Zamanlılık hakkında bilgi almak için buraya göz atın).

S: AWS Lambda işlevlerim ne kadar hızlı ölçeklendirilir?

Eş zamanlı olarak çağrılan her Lambda işlevi, her 10 saniyede bir 1.000 eş zamanlı yürütme hızında ölçeklendirilebilir. Lambda'nın ölçeklendirme oranı çoğu kullanım örneği için uygun olsa da, özellikle öngörülebilen veya öngörülemeyen trafik artışlarına sahip olanlar için idealdir. Örneğin SLA'ya bağlı veri işlemede, işleme talebini karşılamak için öngörülebilir ancak hızlı ölçeklendirme gerekir. Benzer şekilde, son dakika haberleri veya kısa süreli indirimler sunmak, kısa sürede öngörülemeyen trafik seviyelerini artırabilir. Lambda'nın ölçeklendirme oranı, ek yapılandırmalar veya araçlar olmadan bu tarz kullanım örneklerini kolaylaştırabilir. Ayrıca eş zamanlılık ölçeklendirme sınırı, işlev düzeyinde bir sınırdır. Bu, hesabınızdaki her işlevin diğer işlevlerden bağımsız olarak ölçeklendirildiği anlamına gelir.

S: Olay işleme sırasında Lambda işlevim hata verirse ne olur?

Zaman uyumlu olarak çağrılan Lambda işlevlerinin hata vermesi halinde özel durum oluşur. Zaman uyumsuz olarak çağrılan Lambda işlevleri için en az 3 deneme yapılır. Amazon Kinesis Streams ve Amazon DynamoDB Streams olayları, Lambda işlevi başarılı olana veya verilerin süresi dolana kadar yeniden denenir. Kinesis ve DynamoDB akışları, verileri en az 24 saat boyunca tutar.

S: Lambda işlevi çağrılarım, kullanılabilir politika sınırlarını aşarsa ne olur?

Zaman uyumsuz çağrılar için yeniden deneme politikasını aşmanız durumunda olayın yerleştirilebileceği bir “teslim edilmeyen iletiler sırası” (dead letter queue – DLQ) yapılandırabilirsiniz. DLQ yapılandırılmadığında olay reddedilebilir. Akış tabanlı çağrılar için yeniden deneme politikasını aşmanız durumunda verilerin süresi zaten dolmuş olur ve bu nedenle olay reddedilir.

S: Bir Lambda işlevi için hangi kaynakları teslim edilmeyen iletiler sırası olarak yapılandırabilirim?

Bir Amazon SQS kuyruğunu veya Amazon SNS konusunu teslim edilmeyen iletiler sırası olarak yapılandırabilirsiniz.

Güvenlik ve erişim denetimi

S: AWS Lambda işlevimin diğer AWS kaynaklarına erişmesine nasıl izin verebilirim?

Lambda işlevinize diğer kaynaklara erişim izni vermek için IAM rollerini kullanabilirsiniz. AWS Lambda, Lambda işlevinizi çalıştırırken bu role büründüğünden işlevin kullanabileceği AWS kaynakları üzerinde her zaman tam ve güvenli denetim sahibi olursunuz. Roller hakkında daha fazla bilgi edinmek için AWS Lambda Kurulumu sayfasını ziyaret edin.

S: Amazon S3 klasörleri tarafından çağrılacak AWS Lambda işlevlerini nasıl denetleyebilirim?

Bir Amazon S3 klasörünü bir AWS Lambda işlevine ileti gönderecek şekilde yapılandırdığınızda, erişim sağlayan bir kaynak politikası kuralı oluşturulur. Lambda işlevleri için kaynak politikaları ve erişim denetimleri hakkında daha fazla bilgi edinmek için Lambda Yazılım Geliştirme Kılavuzu'nu ziyaret edin.

S: Bir AWS Lambda işlevinin yoklayabileceği Amazon DynamoDB tablosunu veya Amazon Kinesis akışını nasıl denetleyebilirim?

Erişim denetimleri, Lambda işlev rolüyle yönetilir. Lambda işlevinize atadığınız rol, AWS Lambda'nın onun adına yoklayabileceği kaynakları da belirler. Daha fazla bilgi edinmek için Lambda Yazılım Geliştirme Kılavuzu'nu ziyaret edin.

S: Bir AWS Lambda işlevinin yoklayabileceği Amazon SQS kuyruğunu nasıl denetleyebilirim?

Erişim denetimleri, Lambda işlev rolü veya kuyruk için geçerli olan kaynak politikası ayarı ile yönetilebilir. İki politika da mevcutsa iki izinden daha sınırlı olan uygulanır.

S: Amazon VPC'deki kaynaklara AWS Lambda işlevimden nasıl erişebilirim?

İşlev yapılandırmanızın bir parçası olarak alt ağı ve güvenlik grubunu belirterek Lambda işlevlerinin VPC'nizdeki kaynaklara erişmesini sağlayabilirsiniz. Belirli bir VPC içindeki kaynaklara erişecek şekilde yapılandırılmış olan Lambda işlevleri, varsayılan yapılandırmada internet erişimine sahip olmaz. Bu işlevlere internet erişimi vermek için internet ağ geçitlerini kullanın. Varsayılan olarak Lambda işlevleri, IPv4 üzerinden çift yığınlı bir VPC'deki kaynaklarla iletişim kurar. İşlevlerinizi IPv6 üzerinden çift yığınlı bir VPC'deki kaynaklara erişecek şekilde yapılandırabilirsiniz. VPC ile yapılandırılmış Lambda işlevleri hakkında daha fazla ayrıntı için bkz. VPC ile Lambda Özel Ağı Oluşturma.

S: AWS Lambda için Kod İmzalama nedir?

AWS Lambda için Kod İmzalama, Lambda işlevlerinizde sadece onaylı geliştiricilerden üzerinde değişiklik yapılmamış kodların dağıtılacağını doğrulamanıza olanak tanıyan güven ve bütünlük denetimleri sunar. Kod yapıtlarını dijital olarak imzalamaya yönelik tam olarak yönetilen bir kod imzalama hizmeti olan AWS Signer'ı kullanabilir ve Lambda işlevlerinizi dağıtım anında imzaları doğrulamak üzere yapılandırabilirsiniz. AWS Lambda için Kod İmzalama şimdilik sadece ZIP arşivi olarak paketlenmiş işlevlerde kullanılabilmektedir.

S: Dijital olarak imzalanmış kod yapıtlarını nasıl oluştururum?

AWS Signer konsolu, Signer API'si, SAM CLI veya AWS CLI aracılığıyla bir İmzalama Profili kullanarak dijital olarak imzalanmış kod yapıtları oluşturabilirsiniz. Daha fazla bilgi edinmek için lütfen AWS Signer belgelerine göz atın.

S: Kod imzalamayı etkinleştirmek için Lambda işlevlerimi nasıl yapılandırırım?

AWS Management Console, Lambda API'si, AWS CLI, AWS CloudFormation ve AWS SAM aracılığıyla bir Kod İmzalama Yapılandırması oluşturarak kod imzalamayı etkinleştirebilirsiniz. Kod İmzalama Yapılandırması, onaylı imzalama profillerini belirtmenize ve imza denetimleri başarısız olduğunda uyarı verme veya dağıtımı reddetme arasında seçim yapmanıza yardımcı olur. Kod İmzalama Yapılandırmaları, kod imzalama özelliğinin etkinleştirilmesi için ayrı Lambda işlevlerine eklenebilir. Bu işlevler artık dağıtım anında imzaları doğrulamaya başlar.

S: AWS Lambda, dağıtım anında hangi imza denetimlerini gerçekleştirir?

AWS Lambda, dağıtım anında aşağıdaki imza denetimlerini gerçekleştirebilir:

• Bozuk imza - Bu hata, imzalama sonrasında kod yapıtı değiştirildiyse meydana gelir.
• Eşleşmeyen imza - Bu hata, kod yapıtı onaysız bir imzalama profili tarafından imzalandıysa meydana gelir.
• Süresi dolmuş imza - Bu hata, imzanın yapılandırılmış son kullanma tarihi geçtiyse meydana gelir.
• İptal edilmiş imza - Bu hata, imzalama profilinin sahibi imzalama işlerini iptal ettiyse meydana gelir.

Daha fazla bilgi edinmek için lütfen AWS Lambda belgelerine göz atın.

S: Mevcut işlevler için kod imzalamayı etkinleştirebilir miyim?

Evet, mevcut bir işleve kod imzalama yapılandırmasını ekleyerek bu işlevde kod imzalamayı etkinleştirebilirsiniz. Bunu AWS Lambda konsolu, Lambda API'si, AWS CLI, AWS CloudFormation ve AWS SAM kullanarak yapabilirsiniz.

S: AWS Lambda için Kod İmzalama kullanımı için ek maliyet uygulanır mı?

AWS Lambda için Kod İmzalama kullanımına ilişkin ek maliyet uygulanmaz. AWS Lambda için standart fiyatı ödersiniz. Daha fazla bilgi edinmek için lütfen Fiyatlandırma sayfasına göz atın.

Gelişmiş günlük kaydı denetimleri

S: Lambda'da hangi gelişmiş günlük denetimleri desteklenir?

AWS Lambda, varsayılan olarak basitleştirilmiş ve gelişmiş bir günlük kaydı deneyimi sağlamak için Lambda işlevi günlüklerini JSON yapılandırılmış biçiminde yerel olarak yakalama, Lambda işlevi günlüklerinin günlük düzeyinde filtrelemesini herhangi bir kod değişikliği yapmadan denetleme ve Lambda'nın günlükleri gönderdiği Amazon CloudWatch günlük grubunu özelleştirme gibi gelişmiş günlük denetimleri sunar.

S: Gelişmiş günlük denetimlerini hangi amaçla kullanabilirim?

Lambda işlevi günlüklerini, kendi günlük kitaplıklarınızı kullanmak zorunda kalmadan JSON yapılandırılmış biçiminde yakalayabilirsiniz. JSON yapılandırılmış günlükleri, büyük hacimli günlük girişlerini aramayı, filtrelemeyi ve analiz etmeyi kolaylaştırır. Lambda işlevi günlüklerinin günlük düzeyinde filtrelemesini herhangi bir kod değişikliği yapmadan denetleyebilirsiniz. Bu özellik, hata ayıklama ve sorun giderme sırasında büyük hacimli günlükleri gözden geçirmeden Lambda işlevleri için gerekli günlük ayrıntı düzeyini seçmenize olanak tanır. Ayrıca Lambda'nın hangi Amazon CloudWatch günlük grubuna günlük göndereceğini de ayarlayabilirsiniz. Böylece bir uygulama içindeki birden çok işlevden günlükleri tek bir yerde toplamayı kolaylaştırabilirsiniz. Ardından güvenlik, yönetim ve saklama politikalarını her işleve ayrı ayrı değil, uygulama düzeyinde günlüklere uygulayabilirsiniz.

S: Gelişmiş günlük denetimlerini nasıl kullanabilirim?

AWS Lambda API, AWS Lambda konsolu, AWS CLI, AWS Sunucusuz Uygulama Modeli (SAM) ve AWS CloudFormation kullanarak Lambda işlevleriniz için gelişmiş günlük denetimleri belirleyebilirsiniz. Daha fazla bilgi edinmek üzere gelişmiş günlük denetimleri için başlatma blog gönderisini veya Lambda Geliştirici Kılavuzu'nu ziyaret edin.

S: Lambda işlevim için JSON yapılandırılmış günlükleri oluşturmak üzere kendi günlük kitaplıklarımı kullanabilir miyim?

Evet, JSON yapılandırılmış biçiminde Lambda günlükleri oluşturmak için kendi günlük kitaplıklarınızı kullanabilirsiniz. Günlük kitaplıklarınızın, Lambda'nın yerel JSON yapılandırılmış günlük kaydı özelliğiyle sorunsuz şekilde çalışmasını sağlamak için Lambda, işleviniz tarafından oluşturulan ve zaten JSON biçiminde kodlanmış günlükleri tekrar kodlamaz. Lambda günlüklerini JSON yapılandırılmış biçiminde yakalamak için AWS Lambda İçin Powertools kitaplığını da kullanabilirsiniz.

S: Gelişmiş günlük denetimlerini kullanmak için nasıl ücret ödeyeceğim?

Lambda'da gelişmiş günlük denetimlerini kullanmak için ek ücret alınmaz. Amazon CloudWatch Günlükleri tarafından Lambda günlüklerinizin alınması ve depolanması için sizden ücret alınmaya devam edilir. Günlük fiyatlandırma ayrıntıları için CloudWatch fiyatlandırma sayfasına bakın.

Java ile yazılan AWS Lambda işlevleri

S: AWS Lambda işlevimi Java kodunda nasıl derleyebilirim?

Lambda işlevinizi derlemek için Maven veya Gradle gibi standart araçları kullanabilirsiniz. Derleme işleminiz, AWS SDK’ya bağımlı olan bir Java kodunu derleme süreciyle aynı adımları kapsamalıdır. Java derleme aracınızı kaynak dosyalarınızda çalıştırın ve sınıf yolunuzda geçişli bağımlılıklara sahip AWS SDK 1.9 veya üzeri bir sürümü dahil edin. Daha fazla bilgi için belgelerimize göz atın.

S: İşlevimi yürütmek için Lambda'nın kullandığı JVM ortamı nedir?

Lambda, openjdk 1.8 içeren Amazon Linux derlemesini sunmaktadır.

Node.js ile yazılan AWS Lambda işlevleri

S: AWS Lambda ile paket kullanabilir miyim?

Evet. NPM paketlerinin yanı sıra özel paketler de kullanabilirsiniz. Buradan daha fazla bilgi edinebilirsiniz.

S: AWS Lambda işlevimden Node.js ile yazılmış farklı programlar da çalıştırabilir miyim?

Evet. Lambda’nın yerleşik korumalı alanı toplu (“kabuk”) betikleri, diğer dillerin çalışma zamanlarını, yardımcı program rutinlerini ve yürütülebilir dosyaları çalıştırmanızı sağlar. Buradan daha fazla bilgi edinebilirsiniz.

S: AWS Lambda işlevleriyle Node.js ile yazılmış yerel modülleri kullanabilir miyim?

Evet. Yüklediğiniz ZIP dosyasına statik bağlantılı yerel modülleri ekleyebilir, Lambda işlevinizin kök dizinini gösteren rpath ile derlenmiş dinamik bağlantılı modüller kullanabilirsiniz. Buradan daha fazla bilgi edinebilirsiniz.

S: AWS Lambda’da Node.js ile yazılmış ikili dosyaları çalıştırabilir miyim?

Evet. Node.js'nin child_process komutunu kullanarak işlevinize eklediğiniz ikili dosyaları veya Amazon Linux'ta bulunan ve işleviniz tarafından erişilebilen tüm yürütülebilir dosyaları çalıştırabilirsiniz. Alternatif olarak, node-ffmpeg gibi komut satırı ikili dosyalarını sarmalamanızı sağlayan farklı NPM paketlerinden de faydalanabilirsiniz. Buradan daha fazla bilgi edinebilirsiniz.

S: Node.js ile yazılmış AWS Lambda işlevi kodunu nasıl dağıtabilirim?

Node.js ile yazılmış bir Lambda işlevini dağıtmak için Javascript kodunuzu ve kodun bağımlı olduğu kitaplıkları ZIP dosyası halinde paketlemeniz yeterlidir. ZIP dosyasını yerel ortamınızdan yükleyebilir veya ZIP dosyasının bulunduğu Amazon S3 konumunu belirtebilirsiniz. Daha fazla bilgi edinmek için belgelerimizi inceleyin.

Python ile yazılan AWS Lambda işlevleri

S: AWS Lambda ile Python paketlerini kullanabilir miyim?

Evet. Python paketlerini yüklemek için pip komutundan faydalanabilirsiniz.

C# ile yazılan AWS Lambda işlevleri

S: C# ile yazılmış bir AWS Lambda işlevini nasıl paketleyebilir ve dağıtabilirim?

Çözüm Gezgini'nde Publish to AWS Lambda (AWS Lambda'ya Yayınla) öğesini seçip Visual Studio IDE kullanarak C# Lambda işlevi oluşturabilirsiniz. Alternatif olarak, [# Lambda CLI araçları düzeltme eki] yüklü dotnet CLI'dan "dotnet lambda publish" komutunu doğrudan çalıştırarak tüm NuGet bağımlılıkları ve kendi yayınladığınız DLL derlemeleri ile birlikte C# kaynak kodunuzun ZIP dosyasının oluşturulmasını ve "dotnetcore1.0" çalışma zamanı parametresiyle otomatik olarak AWS Lambda'ya yüklenmesini sağlayabilirsiniz.

PowerShell ile yazılan AWS Lambda işlevleri

S: PowerShell ile yazılmış AWS Lambda işlevi kodunu nasıl dağıtabilirim?

PowerShell Lambda dağıtım paketi, PowerShell komut dosyanızı, PowerShell komut dosyanız için gereken PowerShell modüllerini ve PowerShell Core'u barındırmak için gereken derlemeleri içeren bir ZIP dosyasıdır. Daha sonra PowerShell Lambda dağıtım paketinizi oluşturmak için PowerShell Galeri'den yükleyebileceğiniz AWSLambdaPSCore PowerShell modülünü kullanırsınız.

S: PowerShell ile yazılmış AWS Lambda işlevi kodunu nasıl dağıtabilirim?  PowerShell Lambda dağıtım paketi, PowerShell komut dosyanızı, PowerShell komut dosyanız için gereken PowerShell modüllerini ve PowerShell Core'u barındırmak için gereken derlemeleri içeren bir ZIP dosyasıdır. Daha sonra PowerShell Lambda dağıtım paketinizi oluşturmak için PowerShell Galeri'den yükleyebileceğiniz  AWSLambdaPSCore PowerShell modülünü kullanırsınız.
S: PowerShell ile yazılmış AWS Lambda işlevi kodunu nasıl dağıtabilirim?  PowerShell Lambda dağıtım paketi, PowerShell komut dosyanızı, PowerShell komut dosyanız için gereken PowerShell modüllerini ve PowerShell Core'u barındırmak için gereken derlemeleri içeren bir ZIP dosyasıdır. Daha sonra PowerShell Lambda dağıtım paketinizi oluşturmak için PowerShell Galeri'den yükleyebileceğiniz  AWSLambdaPSCore PowerShell modülünü kullanırsınız.

Go ile yazılan AWS Lambda işlevleri

S: Go ile yazılmış bir AWS Lambda işlevini nasıl paketleyebilir ve dağıtabilirim? 

Go yürütülebilir yapıtınızı AWS CLI veya Lambda konsolu aracılığıyla bir ZIP dosyası olarak yükleyin ve go1.x çalışma zamanını seçin. Lambda ile kodunuzu oluşturmak ve paketlemek için Go'nun yerel araçlarını kullanabilirsiniz. Daha fazla bilgi için belgelerimizi inceleyin

Ruby ile yazılan AWS Lambda işlevleri

S: Ruby ile yazılmış AWS Lambda işlevi kodunu nasıl dağıtabilirim? 

Ruby ile yazılmış bir Lambda işlevini dağıtmak için Ruby kodunuzu ve gem görüntünüzü ZIP dosyası halinde paketlemeniz yeterlidir. ZIP dosyasını yerel ortamınızdan yükleyebilir veya ZIP dosyasının bulunduğu Amazon S3 konumunu belirtebilirsiniz.

Diğer konular

S: AWS Lambda hangi Amazon Linux, Node.js, Python, JDK, .NET Core, SDK ve ek kitaplık sürümlerini destekler?

Desteklenen sürümlerin listesini buradan görüntüleyebilirsiniz.

S: Amazon Linux veya başka bir dil çalışma zamanı sürümünü değiştirebilir miyim?

Hayır. AWS Lambda, hizmeti kullanan herkese tek bir işletim sistemi ve yönetilen dil çalışma zamanı sürümü sunar. Lambda'da kullanmak için kendi dil çalışma zamanınızı getirebilirsiniz.

S: AWS Lambda API’sine yapılan denetim çağrılarını nasıl kaydedebilirim?

AWS Lambda, AWS CloudTrail’e entegre çalışır. AWS CloudTrail, hesabınızın API kullanımını gösteren günlük dosyalarını kaydedip Amazon S3 klasörüne teslim edebilir.

S: Birden fazla Lambda işlevi için çağrıları nasıl koordine edebilirim?

Birden fazla Lambda işlevinin çağrılmasını koordine etmek için Amazon Step Functions hizmetini kullanabilirsiniz. Birinin çıkışını diğerine ileterek birden fazla Lambda işlevini seri veya paralel düzende çalıştırabilirsiniz. Daha fazla bilgi edinmek için belgelerimizi inceleyin.

S: AWS Lambda, Advanced Vector Extensions 2 (AVX2) talimat setini destekler mi?

Evet. AWS Lambda, Advanced Vector Extensions 2 (AVX2) talimat setini destekler. Daha yüksek performans almak üzere uygulama kodunuzu bu talimat setini hedefleyecek şekilde nasıl derleyeceğiniz hakkında daha fazla bilgi edinmek için AWS Lambda geliştirici belgelerini ziyaret edin.

AWS Lambda fiyatlandırması hakkında daha fazla bilgi edinin

Fiyatlandırma sayfasını ziyaret edin
Başlamaya hazır mısınız?
Kaydolun
Başka sorularınız mı var?
Bize ulaşın