AWS Lambda obsługuje teraz do 10 GB Ephemeral Storage
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.
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