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 Lambda işlevi kendi /tmp dizininde 512 MB kalıcı olmayan disk alanına sahip olur.

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.

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 Amazon Kinesis Data Analytics 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. Amazon Kinesis Data Analytics 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.

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 StepFunctions 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 Runtime Logs API nedir?

AWS Lambda Runtime Logs API, AWS Lambda işlevlerinden doğrudan seçtiğiniz bir hedefe günlükleri göndermek için uzantıları kullanmanıza olanak tanır. Uzantılar, Amazon CloudWatch Logs’a akışla gönderilen aynı günlüklere abone olmak için bu API’yi kullanır ve ardından bunları işleyebilir, filtreleyebilir ve tercih edilen herhangi bir hedefe gönderebilir.

S: Runtime Logs API nasıl çalışır?

Lambda hizmeti, günlükleri otomatik olarak kaydeder ve bunları Amazon CloudWatch’a aktarır. Bu akış, işlev kodunuzun içinden oluşturulan günlükleri ve ayrıca çalıştırmanın bir parçası olarak Lambda hizmeti tarafından oluşturulan günlükleri içerir.

Runtime Logs API, uzantı yazarlarının doğrudan Lambda yürütme ortamından aynı günlük akışlarına abone olmalarına olanak tanır. Abonelik talebini aldıktan sonra Lambda hizmeti, günlükleri HTTP veya TCP yoluyla uzantıya aktarır ve bunları CloudWatch’a gönderir.

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

Katmanları kullanarak Runtime Logs API kullanan uzantıları, CloudFormation, AWS Serverless Application Model ve Terraform gibi Konsol, CLI veya Altyapı Olarak Kod araçlarını kullanarak bir veya daha fazla Lambda işlevi üzerinde dağıtabilirsiniz.

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: Coralogix, Datadog, Honeycomb, Lumigo, New Relic, Sumo Logic, and Amazon CloudWatch. Bu uzantılar hakkında daha fazla bilgi edinmek için başlatma blog gönderisini ziyaret edin.

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

Runtime Logs API’yi yalnızca AWS Lambda Uzantıları içinden kullanabilirsiniz. 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. Ayrıca, Runtime Logs API'ye her abonelik, günlükleri depolamak için, kendisini içeren uzantının ne kullandığına ek olarak ek bellek kullanabilir.

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

AWS Lambda Runtime Logs API kullanımı için ek ücret uygulanmaz. Runtime Logs 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 bkz. SSS.

S: Runtime Logs API kullanımı, Amazon CloudWatch Logs'a günlük göndermeyi devre dışı bırakır mı?

Hayır. Varsayılan olarak, Lambda platformu tüm günlükleri CloudWatch Logs'a gönderir ve Runtime Logs API'yi kullanmak, CloudWatch Logs'a çıkışı devre dışı bırakmaz.

AWS Lambda işlevi URL'leri

S: AWS Lambda işlevleri HTTPS uç noktalarını destekler mi?

Evet. Lambda işlevlerini tarayıcı, curl ve herhangi bir HTTP istemcisini kullanarak çağırabileceğiniz yerleşik bir HTTPS uç noktası olan işlev URL'si ile yapılandırabilirsiniz. İşlev URL'leri, HTTPS üzerinden erişilebilir işlevleri geliştirmeye başlamak için kolay bir yöntem sunar.

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

Bir işlev URL'sini AWS Management Console, Lambda API, AWS Komut Satırı Arabirimi (CLI), AWS CloudFormation ve AWS Serverless Application Model (AWS SAM) 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 ayarlanabilir. Bir işlev URL'sini 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 AWS Identity and Access Management (IAM) yetkilendirmesi ile varsayılan olarak sağlanır. IAM yetkilendirmesini kapatarak genel bir uç nokta oluşturmayı veya işlevin iş mantığının bir parçası olarak özel yetkilendirme uygulamayı 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 ç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'lerini bir işleve veya işlev diğer adına ayarlayabilirsiniz. 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ı ayarlayabilir miyim?

İşlev URL'leri şu anda özel etki alanı adlarını desteklememektedir. İşlev URL'nizle özel bir etki alanı kullanmak için özel etki alanınızı CloudFront dağıtım adınızla eşlemek üzere bir Amazon CloudFront dağıtımı ve bir CNAME oluşturun. 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'lerini bir VPC'de işlev çağırmak amacıyla kullanabilir miyim?

Evet, işlev URL'lerini bir sanal özel bulutta (VPC) Lambda işlevi çağırmak amacıyla kullanabilirsiniz.

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

İşlev URL'lerini kullanmak için Lambda'nın standart fiyatının dışında ayrı bir ücret ödemeniz gerekmez. 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 zaman uyumlu çalıştırma sayısını kontrol ederek hesabınızın zaman uyumlu çalışma 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.

Kısıtlama sınırını artırmak için bir istek göndermek isterseniz Destek Merkezimizi ziyaret edebilir, "Open a new case" (Yeni olay aç) bağlantısına tıklayabilir ve hizmet sınırı artırma isteği oluşturabilirsiniz.

S: Hesabım varsayılan zaman uyumlu çalıştırma kısıtlama sınırını aşarsa ne olur?

Kısıtlama sınırını aşmanız durumunda zaman uyumlu 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 tutar.

S: Varsayılan sınır işlev düzeyinde mi uygulanır?

Hayır. Varsayılan sınır yalnızca hesap düzeyinde uygulanır.

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 kuyruğu olarak yapılandırabilirsiniz.


  Amazon EFS Amazon EBS (io1)
İşlem başına gecikme süresi Düşük, tutarlı En düşük, tutarlı
Performans ölçeği Saniyede birden fazla GB Saniyede bir GB

Amazon EFS'nin dağıtılmış yapısı, yüksek seviyede erişilebilirliğe, dayanıklılığa ve ölçeklenebilirliğe olanak tanıyarak gecikme süresinin her dosya işleminde kısa tutulmasını sağlar. Bu işlem başına gecikme süresi nedeniyle ortalama G/Ç boyutu arttıkça genel aktarım hızı artar. Bunun nedeni büyük veri miktarlarında bu ek yükün telafi edilmesidir. Amazon EFS aynı zamanda yüksek oranda paralelleştirilmiş iş yüklerini (başka bir ifadeyle birden fazla iş parçacığından ve birden fazla EC2 bulut sunucusundan tutarlı operasyonlar) destekler ve böylelikle yüksek seviyelerde toplam aktarım hızı ve IOPS değerleri elde edilmesini sağlar.

S: EFS ile nasıl bir okuma performansı elde edebilirim?

Amazon EFS dosya sistemleri meta veri için milisaniyenin altında gecikme sürelerinin yanı sıra Genel Amaçlı mod kullanılarak Genel Amaçlı dosya sistemleri için [XXX mikrosaniye (µs)] seviyesinde veri okumaları sunar. Sık erişilen verilerde [xxx] mikrosaniye seviyesinde gecikme süreleri görülür. Sık erişilmeyen verilerde ortalama olarak [x] milisaniye seviyesinde gecikme süreleri görülür.

S: Hangi Amazon EFS işlemlerinde milisaniyenin altında gecikme süreleri görülür?

Milisaniyenin altındaki gecikme süreleri, tipik uygulamalarda gerçekleştirilen meta veri ve küçük veri okuma işlemleri dahil olmak üzere meta veri ve veri okuma işlemlerinin %80'i için geçerlidir. Sizin karşılaşacağınız gecikme süreleri, uygulama erişim modellerinizin ayrıntılarına bağlıdır.

S: Milisaniyenin altındaki gecikme sürelerinden hangi iş yükleri fayda sağlayabilir?

Milisaniyenin altındaki okuma gecikmeleri, çok sayıda uygulamada performans artışı sağlar. Örneğin, WordPress ve Drupal gibi web hizmeti iş yüklerinde daha düşük sayfa yükleme süreleri elde edebilir, Jenkins CI/CD iş yüklerinde oluşturma sürelerini azaltabilir ve Apache Airflow tarafından yönetilen veri iletim hatları için ayıklama, dönüştürme ve yükleme (ETL) gecikme sürelerini düşürebilirsiniz.

S: Amazon EFS dosya sistemlerimde milisaniyenin altında okuma gecikme sürelerine nasıl ulaşabilirim?

Herhangi bir işlem yapmanıza gerek yoktur. Milisaniyenin altında gecikme süreleri, EFS Standard ve EFS One Zone depolama sınıfları için Genel Amaçlı modu kullanan mevcut ve yeni dosya sistemleri için geçerlidir ve herhangi bir ilave yapılandırma gereksinimi ya da maliyet söz konusu değildir.

S: Genel Amaçlı ile En Fazla G/Ç performans modları arasındaki fark nedir? Hangisini seçmeliyim?

Genel Amaçlı performans modu, çoğu dosya sistemi için uygun olan varsayılan moddur. En Fazla G/Ç performans modu, dosya sistemine erişen EC2 bulut sunucularının sayısının onları, yüzleri veya binleri bulduğu uygulamalar için optimize edilmiştir; bu mod yüksek toplam aktarım hızı ve saniye başına işlem değerleri sunmasına rağmen dosya işlemlerinin gecikme süreleri biraz daha fazladır. One Zone depolama sınıflarını kullanan dosya sistemleri yalnızca Genel Amaçlı modunu destekler. Daha fazla bilgi için lütfen Dosya Sistemi Performansı belgelerine bakın.

S: Bir dosya sistemi ne kadar aktarım hızını destekleyebilir?

Amazon EFS dosya sistemleri için varsayılan aktarım hızı modu olan ani aktarım hızı artışı modu, bir dosya sistemi için sağlanan aktarım hızını dosya sistemi büyüdükçe ölçeklendirir. Dosya tabanlı iş yükleri genellikle inişli çıkışlı olduğundan, başka bir deyişle belirli dönemlerde yüksek aktarım hızına ihtiyaç duyup diğer zamanlarda daha düşük aktarım hızına sahip olduğundan EFS belirli zamanlarda yüksek aktarım hızı seviyesine ulaşmak için ani artışların yaşanmasına izin verecek şekilde tasarlanmıştır. Ayrıca, birçok iş yükü okuma ağırlıklı olduğundan, okuma işlemleri diğer ağ dosya sistemi (NFS) işlemlerine (yazma gibi) göre 1:3 oranda ölçülür. Tüm dosya sistemleri, TB EFS Standard veya EFS One Zone depolaması başına 50 MB/s tutarlı bir temel performans sunarken tüm dosya sistemleri (boyutuna bakılmaksızın) 100 MB/s'ye kadar çıkabilir.

1 TB'ın üzerinde EFS Standard veya EFS One Zone depolamasına sahip dosya sistemleri, TB başına 100 MB/s'ye kadar çıkabilir. Okuma işlemleri 1:3 oranında ölçüldüğünden, okuma işleminin TiB'ı başına 300 MiB/s'ye kadar aktarım hızı sağlayabilirsiniz. Dosya sisteminize yeni dosyalar ekledikçe dosya sistemi tarafından kullanılabilecek en fazla aktarım hızı, Amazon EFS Standard depolama sınıfındaki depolama alanınız ile doğrusal ve otomatik olarak ölçeklendirilir. Depoladığınız veri miktarıyla elde edebileceğinizden daha fazla aktarım hızına ihtiyacınız varsa Tedarik Edilen Aktarım Hızını iş yükünüzün gerektirdiği belirli miktara yapılandırabilirsiniz.

Dosya sistemi aktarım hızı bir dosya sistemine bağlı olan tüm EC2 bulut sunucuları arasında paylaştırılır. Örneğin ani artışla 100 MB/s aktarım hızı sunabilen 1 TB'lık bir dosya sistemi tek bir EC2 bulut sunucusundan 100 MB/s veya 10 adet EC2 bulut sunucusunun her biri 10 MB/s (toplamda 100 MB/s) aktarım hızı yaratabilir. Daha fazla bilgi için lütfen Dosya Sistemi Performansı belgelerine bakın.

S: Tedarik Edilen Aktarım Hızı nedir ve ne zaman kullanmam gerekir?

EFS Tedarik Edilen Aktarım Hızı ile dosya sisteminizin aktarım hızını depolanan veri miktarından bağımsız olarak tedarik edebilir ve bu sayede dosya sisteminin aktarım hızı performansını uygulamanızın ihtiyaçlarına göre optimize edebilirsiniz.

Tedarik Edilen Aktarım Hızı, yüksek aktarım hızı/depolama (TB başına MB/s) oranına sahip uygulamalar için kullanılabilir. Örneğin, Amazon EFS hizmetini, dosya sistemindeki veri miktarının aktarım hızı talebine göre düşük olduğu yazılım geliştirme araçları, web içeriği sunma veya içerik yönetimi uygulamaları gibi amaçlarla kullanıyorsanız uygulamalarının ihtiyaç duyduğu yüksek aktarım hızı düzeylerine anında erişebilirsiniz.

Dosya sisteminizin aktarım hızı modunu AWS Management Console, AWS Komut Satırı Arabirimi (CLI) veya Amazon EFS API aracılığıyla seçebilirsiniz. Ayrıntılı bilgi için Tedarik Edilen Aktarım Hızı belgelerine bakın.

S: Amazon EFS Tedarik Edilen Aktarım Hızı nasıl çalışır?

Dosya sisteminiz için Tedarik Edilen Aktarım Hızını seçerseniz bu dosya sisteminin aktarım hızını depolanan veri miktarından bağımsız olarak tedarik ederek depolama alanı ile Tedarik Edilen Aktarım Hızı için ayrı ödeme yapabilirsiniz (örneğin ABD Doğu (K. Virginia) bölgesinde Standard depolama için GB-Ay başına 0,30 USD, Tedarik Edilen Aktarım Hızı içinse MB/s-Ay başına 6,00 USD ). Okuma işlemleri 1:3 oranında ölçülür. Böylece sağlanan her 1 MiB/s aktarım hızı için 3 MiB/s'ye kadar okuma aktarım hızı elde edebilirsiniz.

Tedarik Edilen Aktarım Hızına, Amazon EFS Standard depolama alanının fiyatına GB başına 50 KB/s (veya 20 GB başına 1 MB/s) aktarım hızı dahildir. Örneğin, Amazon EFS Standard depolama alanı sınıfında bir ay boyunca 20 GB veri depolar ve bir ay için 5 MB/s aktarım hızı yapılandırması gerçekleştirirseniz depolama alanı için 20 GB/Ay, aktarım hızı için de 4 (5-1) MB/s-Ay karşılığında ödeme yaparsınız.

S: Okuma ve yazma aktarım hızı kullanımımı nasıl izleyebilirim?

Aktarım hızınızı Amazon CloudWatch üzerinden izleyebilirsiniz. TotalIOBytes, ReadIOBytes, WriteIOBytes ve MetadataIOBytes ölçümleri, uygulamalarınızın sağladığı gerçek aktarım hızını yansıtır. PermittedThroughput ve MeteredIOBytes, okuma isteklerini diğer isteklere göre 1:3 oranında ölçtükten sonra sırasıyla ölçülen aktarım hızı sınırınızı ve kullanımınızı yansıtır. Amazon EFS konsoluyla aktarım hızı kullanımınızı izlemek için Aktarım Hızı Yüzde Sınırı grafiğini kullanabilirsiniz. 

Özel CloudWatch panoları veya başka bir izleme aracı kullanıyorsanız MeteredIOBytes'ı PermittedThroughput ile karşılaştıran bir CloudWatch ölçüm matematik ifadesi de oluşturabilirsiniz. Bu değerler eşitse tüm iş hacminizi kullanıyorsunuzdur ve Tedarik Edilen Aktarım Hızını yapılandırmayı veya yapılandırılan işlem miktarını artırmayı düşünmelisiniz. Ani Aktarım Hızı Artışı modu dosya sistemleri için BurstCreditBalance ölçümünü izleyin ve dosya sisteminizi taban hızı yerine ani hızda çalıştırmak için bakiye sıfıra yaklaştığında uyarı verecek şekilde ayarlayın.

S: Tedarik Edilen Aktarım Hızı modu nasıl faturalandırılır?

Tedarik Edilen Aktarım Hızı modunda kullandığınız depolama alanı ve tedarik ettiğiniz aktarım hızı birbirinden bağımsız olarak faturalandırılır. Aşağıdaki boyutlar üzerinden aylık olarak faturalandırma yapılır:

  • Depolama (GB-Ay başına): Kullandığınız depolama alanı için GB-Ay cinsinden faturalandırma yapılır.
  • Aktarım Hızı (MB/s-Ay başına): Tedarik ettiğiniz aktarım hızı için MB/s-Ay cinsinden faturalandırma yapılır.

S: Dosya sistemimin Tedarik Edilen Aktarım Hızı ayarını ne sıklıkta değiştirebilirim?

Tedarik Edilen Aktarım Hızı modunda, dosya sisteminizin tedarik edilen aktarım hızını dilediğiniz sıklıkta artırabilirsiniz. Son düşürme işlemi veya aktarım hızı modu değişiklik işleminin üzerinden 24 saat geçmesi koşuluyla Tedarik Edilen Aktarım Hızı modunda dosya sisteminizin aktarım hızını düşürebilir veya Tedarik Edilen Aktarım Hızı ile varsayılan Ani Aktarım Hızı Artışı modları arasında geçiş yapabilirsiniz.

S: Tedarik Edilen Aktarım Hızı modu, Ani Aktarım Hızı Artışı modunda alabildiğim Temel Aktarım Hızı değerinin altına ayarlandığında dosya sistemimin aktarım hızı ne olur?

Varsayılan Ani Aktarım Hızı Artışı modunda dosya sisteminizin aktarım hızı, depolanan veri miktarına göre ölçeklendirilir. İlk yapılandırma işleminin sonrasında Tedarik Edilen Aktarım Hızı modunda dosya sisteminizin büyümesi durumunda dosya sisteminiz, Tedarik Edilen Aktarım Hızı moduna kıyasla Ani Aktarım Hızı Artışı modunda daha yüksek taban hıza sahip olabilir.

Bu durumda dosya sisteminizin aktarım hızı, varsayılan Ani Aktarım Hızı Artışı modunda belirlenen aktarım hızı olacaktır. Sizden ani depolama artışı maliyetinin dışında herhangi bir ücret talep edilmeyecektir. Ayrıca, Amazon EFS aktarım hızı ani artış modeline göre ani aktarım hızı artışı da gerçekleştirebilirsiniz.

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: AWS Lambda işlevimle Amazon VPC arkasındaki kaynaklara erişebilir miyim?

Evet. Amazon VPC arkasındaki kaynaklara erişebilirsiniz.

S: Lambda işlevim için VPC desteğini nasıl etkinleştirebilirim ve devre dışı bırakabilirim?

VPC desteğini etkinleştirmek için işlevinizin yapılandırmasında tek bir VPC içindeki bir veya daha fazla alt ağı ve bir güvenlik grubu belirtmeniz gerekir. VPC desteğini devre dışı bırakmak için işlev yapılandırmasını güncellemeniz ve alt ağ ile güvenlik grubu için boş bir liste belirtmeniz gerekir. Bu ayarları AWS API’leri, CLI veya AWS Lambda Management Console üzerinden değiştirebilirsiniz.

S: Tek bir Lambda işlevi birden fazla VPC’ye erişebilir mi?

Hayır. Lambda işlevleri yalnızca tek bir VPC’ye erişim sağlar. Birden fazla alt ağ belirtiliyorsa hepsinin aynı VPC’de olması gerekir. VPC’lerinizi eşleyerek diğer VPC’lere bağlanabilirsiniz.

S: Bir VPC içindeki Lambda işlevleri internete ve AWS Hizmeti uç noktalarına da erişebilir mi?

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. Harici uç noktalara erişmeniz gerekiyorsa VPC'nizde bir NAT oluşturarak bu trafiği yönlendirmeniz ve güvenlik grubunuzu da bu giden trafiğe izin verecek şekilde yapılandırmanız gerekir.

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.

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.

Ölçeklendirme ve performans

S: Ne kadar veri depolayabilirim?

Amazon Elastic File System (Amazon EFS) ile petabaytlarca veri depolayabilirsiniz. Amazon EFS dosya sistemleri esnektir ve siz dosya ekleyip kaldırdıkça, dosya sistemi boyutunu önceden tedarik etmenize gerek kalmadan otomatik olarak büyür ve küçülür. Ayrıca, sadece kullandığınız kadar ödersiniz.

S: Bir dosya sistemine kaç Amazon EC2 bulut sunucusu bağlanabilir?

Amazon EFS, ister bir ister binlerce adet Amazon Elastic Compute Cloud (EC2) bulut sunucusunun bir dosya sistemine eş zamanlı olarak bağlanmasını destekler.

S: Kaç dosya sistemi oluşturabilirim?

Bölge başına bin adede kadar dosya sistemi oluşturabilirsiniz. Amazon EFS sınırları hakkında bilgi için lütfen Amazon EFS Sınırları sayfasını ziyaret edin.

S: Diğer depolama çözümleriyle kıyaslandığında Amazon EFS'nin performansı nasıldır?

Amazon EFS dosya sistemleri, sınırlandırılmamış sayıda depolama sunucusuna dağıtılmıştır. Dolayısıyla, dosya sistemleri petabayt ölçeğinde esnek biçimde genişletilip işlem bulut sunucularından ve AWS Lambda işlevlerinden verilerinize çok büyük ölçüde paralel erişime olanak sağlanır. Amazon EFS'nin dağıtılmış tasarımı, geleneksel dosya sunucularında kaçınılmaz olan performans sorunlarını ve kısıtlamalarını ortadan kaldırır.

Sonuç olarak, çok iş parçacıklı uygulamaların yanı sıra birden çok işlem bulut sunucusundan ve AWS Lambda işlevinden verilere eş zamanlı olarak erişen uygulamalar önemli düzeylerde toplu aktarım hızı ve saniye başına G/Ç operasyonu (IOPS) yaratabilir. Bu uygulamalara örnek olarak büyük veri ve analiz iş yükleri, medya işleme iş akışları, içerik yönetimi ve web sunucuları verilebilir.

Aşağıdaki tabloda AWS'nin dosya ve blok bulut depolama tekliflerindeki üst düzey performans ve depolama özellikleri karşılaştırılmaktadır.

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 sorunuz mu var?
Bize ulaşın