AWS Lambda obsługuje teraz do 10 GB Ephemeral Storage

28 marca 2022

Aplikacje bezserwerowe są sterowane zdarzeniami, korzystając z efemerycznych funkcji obliczeniowych, od internetowych interfejsów API, mobilnych backendów i analizy strumieniowej po etapy przetwarzania danych w uczeniu maszynowym (ML) i aplikacjach o wysokiej wydajności.

Chociaż AWS Lambda zawiera tymczasowy system plików o wielkości 512 MB (/tmp) dla Twojego kodu, jest to efemeryczny zasób źródłowy, który nie jest przeznaczony do trwałego przechowywania, takiego jak Amazon Elastic File System (Amazon EFS).

Jednak wyodrębnianie, przekształcanie i ładowanie (ETL) zadań i przepływów pracy generowania treści, takich jak tworzenie plików PDF lub transkodowanie multimediów, wymaga szybkiej, skalowalnej lokalnej pamięci masowej do szybkiego przetwarzania dużych ilości danych. Aplikacje intensywnie korzystające z danych wymagają dużych ilości danych tymczasowych, specyficznych dla wywołania lub danych z pamięci podręcznej, które można ponownie wykorzystać do wszystkich wywołań w tym samym środowisku wykonawczym w wysoce wydajny sposób. Przy poprzednim limicie 512 MB klienci musieli selektywnie ładować dane z Amazon Simple Storage Service (Amazon S3) i Amazon EFS lub zwiększać przydzieloną pamięć funkcji i tym samym zwiększać swój koszt, tylko po to, by obsłużyć duże obiekty pobierane z Amazon S3. Ze względu na to, że klienci nie mogli buforować większych danych lokalnie w środowisku wykonawczym Lambda, każde wywołanie funkcji musiało odczytywać dane równolegle, co utrudniało klientom skalowanie.

Dziś twórcy ogłaszają, że AWS Lambda pozwala od teraz skonfigurować pamięć efemeryczną (/tmp) od 512 MB do 10 240 MB. Możesz kontrolować ilość pamięci efemerycznej, jaką otrzymuje funkcja do odczytu lub zapisu danych, co pozwala używać AWS Lambda do zadań ETL, wnioskowania ML lub innych obciążeń intensywnie korzystających z danych.

Wraz ze zwiększoną pamięcią efemeryczną AWS Lambda uzyskujesz dostęp do bezpiecznego, efemerycznego systemu plików o małych opóźnieniach do 10 GB. Możesz nadal bezpłatnie korzystać z maksymalnie 512 MB, a opłaty są naliczane za ilość miejsca, które skonfigurowałeś powyżej bezpłatnego limitu na czas trwania wywołań.

Ustawianie większej pamięci efemerycznej dla Funkcji Lambda

Aby skonfigurować funkcję Lambda z większą pamięcią efemeryczną, wybierz zakładkę Konfiguracja w sekcji Konfiguracja ogólna w Konsoli AWS Lambda. Zobaczysz nową konfigurację ustawienia pamięci efemerycznej na domyślnie 512 MB.

Ustawianie większej pamięci efemerycznej dla Funkcji Lambda

Po kliknięciu przycisku Edytuj możesz skonfigurować pamięć efemeryczną od 512 MB do 10 240 MB w przyrostach co 1 MB dla funkcji Lambda.

Po kliknięciu przycisku Edytuj możesz skonfigurować pamięć efemeryczną od 512 MB do 10 240 MB w przyrostach co 1 MB dla funkcji Lambda.

Dzięki AWS Command Line Interface (AWS CLI) możesz zaktualizować żądany rozmiar pamięci efemerycznej za pomocą polecenia aktualizacji-funkcji-konfiguracji.

BASH

$ aws lambda update-function-configuration --function-name PDFGenerator \
              --ephemeral-storage '{"Size": 10240}'

Możesz skonfigurować pamięć efemeryczną za pomocą Lambda API za pośrednictwem AWS SDK i AWS CloudFormation. Aby dowiedzieć się więcej, zobacz Configuring function options w dokumentacji AWS.

Podsumowując, AWS Lambda zapewnia kompleksową gamę opcji przechowywania. Aby dowiedzieć się więcej, zobacz świetny post na blogu „Choosing between AWS Lambda data storage options in web apps”, napisany przez Jamesa Beswicka. W tym miejscu autorzy artykułu chcieliby zacytować tabelę, aby pokazać różnice między tymi opcjami i typowymi przypadkami użycia, aby pomóc Ci wybrać właściwą dla własnych aplikacji.

Features Ephemeral Storage (/tmp) Lambda Layers Amazon EFS Amazon S3
Maximum size 10,240 MB 50 MB (direct upload) Elastic Elastic
Persistence Ephemeral Durable Durable Durable
Content Dynamic Static Dynamic Dynamic
Storage type File system Archive File system Object
Lambda event source integration N/A N/A N/A Native
Operations supported Any file system operation Immutable Any file system operation Atomic with versioning
Object tagging and metadata
N N N Y
Pricing model Included in Lambda
(Charged over 512MB)
Included in Lambda Storage + data transfer + throughput Storage + requests + data transfer
Shared across all invocations N Y Y Y
Sharing/permissions model Function-only IAM IAM + NFS IAM
Source for AWS Glue and Amazon Quicksight
N N N Y
Relative data access speed from Lambda Fastest Fastest Very fast Fast

Dostępne teraz

Możesz teraz skonfigurować do 10 GB pamięci efemerycznej na instancję funkcji Lambda we wszystkich regionach, w których dostępna jest usługa AWS Lambda. Dzięki obsłudze obrazów kontenerów 10 GB, 10 GB pamięci funkcji, a teraz 10 GB pamięci funkcji efemerycznych, możesz obsługiwać obciążenia, takie jak używanie dużych plików tymczasowych, przetwarzanie danych i multimediów, wnioskowanie uczenia maszynowego i analiza finansowa.

Wsparcie jest również dostępne za pośrednictwem wielu partnerów AWS Lambda, takich jak Datadog, HashiCorp (Terraform), Lumigo, Thundra, Slalom i Contino.

W przypadku tej funkcji opłata za miejsce, które skonfigurowałeś, przekracza limit 512 MB na czas wywoływania funkcji. Aby dowiedzieć się więcej, odwiedź stronę produktu i cennika AWS Lambda i wyślij opinię przez re:Post dla AWS Lambda lub swoje zwykłe kontakty z pomocą techniczną AWS.

źródło: AWS

Case Studies
Referencje

Hostersi zrealizowali usługi konsultingowe z zakresu doboru odpowiedniej bazy danych w Amazon Web Services oraz pomyślnie przeprowadzili migrację bazy danych MySQL do Amazon Aurora. 

Tomasz Ślązok
CTO Landingi
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.