View a markdown version of this page

AWS Funzioni Web Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Funzioni Web Lambda

Con AWS Lambda Web Functions, puoi eseguire applicazioni Web e backend API come server HTTP senza server. Il codice viene ascoltato su una porta di rete e gestisce direttamente le richieste. È possibile utilizzare framework Node.js web familiari come Express o senza Lambda-specific adattatori o React Router wrapper. Hono Sviluppi ed esegui il tuo server localmente come qualsiasi altra app web. Node.js

Il codice viene distribuito come file.zip. Lambda crea un endpoint HTTPS, gestisce gli ambienti di esecuzione e ridimensiona l'applicazione in base al traffico, anche fino a zero quando è inattiva. Per ridurre la latenza per gli utenti distribuiti a livello globale, puoi eseguire l'implementazione su più dispositivi dietro un unico endpoint. Regioni AWS Lambda utilizza il routing basato sulla latenza per inviare ogni richiesta a una di queste regioni. Paghi in base alle richieste, al tempo di CPU attivo, alla memoria consumata durante la vita di ogni ambiente di esecuzione e al trasferimento dei dati.

Quando utilizzare Web Functions

Utilizza Web Functions per carichi di lavoro che ricevono e rispondono direttamente al traffico HTTP. Casi di utilizzo comune comprendono:

  • Applicazioni Web: distribuisci applicazioni complete o front-end che forniscono percorsi HTML, asset e API da un'unica implementazione.

  • API REST e GraphQL: crea backend API che soddisfano elevati volumi di richieste.

  • Microservizi: esegui servizi HTTP scalabili indipendentemente dal traffico, anche fino a zero quando non sono attivi.

  • Server-side rendering (SSR): fornisce pagine renderizzate sul server al momento della richiesta anziché pagine predefinite. Una funzione Web esegue direttamente il server di produzione del framework. Gestisce le richieste SSR, lo streaming e i percorsi API senza un livello di hosting separato. Inoltre è scalabile in base al traffico. Si adatta alle applicazioni che eseguono il rendering di contenuti personalizzati o che cambiano frequentemente su ogni richiesta.

  • Risposte in streaming: trasmetti l'output al client man mano che viene prodotto, ad esempio le risposte provenienti da un modello linguistico di grandi dimensioni.

Per l'elaborazione basata sugli eventi, come la gestione dei messaggi in coda o il caricamento di file, utilizza invece Lambda Event Functions.

Nota

AWS Lambda Le funzioni Web attualmente supportano solo i runtime. Node.js Se usiJava, Python.NET, o un altro linguaggio, vedi Funzioni Crea la tua prima funzione Lambda per AWS Lambda eventi o AWS Lambda MicroVM MicroVMS Lambda.

Come funzionano le funzioni Web

Una funzione Web contiene revisioni ed endpoint. Una revisione è un'istantanea immutabile del codice e della configurazione. Un endpoint indirizza le richieste HTTP verso una o due revisioni. Lambda esegue il server in ambienti di esecuzione, ciascuno dei quali gestisce più richieste simultanee. Lambda ridimensiona questi ambienti di esecuzione in base al traffico. Per informazioni dettagliate, vedi Concetti principali.

Vantaggi principali

Le funzioni Web offrono i seguenti vantaggi per le applicazioni Web e i backend delle API:

  • Esperienza di sviluppo web standard: implementa Node.js applicazioni standard che ascoltano su una porta. Utilizzi framework web familiari e la normale struttura applicativa.

  • Scalabilità adattiva: ogni ambiente di esecuzione serve più richieste simultanee, come un server web standard. Di conseguenza, un minor numero di ambienti di esecuzione gestisce più traffico. Gli ambienti di esecuzione esistenti possono assorbire piccoli aumenti di traffico, quindi meno richieste attendono l'avvio di un nuovo ambiente di esecuzione.

  • Usage-based fatturazione: si pagano in base alle richieste, al tempo di CPU utilizzato attivamente dall'applicazione e dal runtime, alla memoria per l'intera durata di ciascun ambiente di esecuzione e al trasferimento dei dati. Una richiesta in attesa di una query al database o di una chiamata API esterna consuma poca CPU durante l'attesa. Tuttavia, la memoria continua ad accumulare finché esiste l'ambiente di esecuzione, incluso il tempo di inattività tra le richieste.

  • Streaming delle risposte: trasmetti le risposte ai client man mano che l'applicazione le produce, senza configurazioni aggiuntive.

  • Scalabilità fino a zero: Lambda rimuove gli ambienti di esecuzione inattivi quando non c'è traffico e ne crea di nuovi quando arrivano le richieste. Una richiesta potrebbe attendere l'inizializzazione di un ambiente di esecuzione. Per informazioni dettagliate su come funzionano il ridimensionamento e la limitazione, consulta. Comportamento di scalabilità per Lambda Web Functions

  • Built-in Endpoint HTTPS: ogni endpoint fornisce un dominio HTTPS con TLS. Scegli l'autenticazione IAM o l'autenticazione gestita dalle applicazioni per ogni endpoint. Per informazioni dettagliate, vedi Controllo dell'accesso agli endpoint Lambda Web Function. Per utilizzare un dominio o una AWS WAF protezione personalizzati, posiziona una CloudFront distribuzione Amazon davanti all'endpoint.

  • Endpoint-level controlli del traffico: imposta un limite di frequenza delle richieste (richieste al secondo) su ogni endpoint HTTPS, che Lambda applica in ogni regione, e un numero massimo di ambienti di esecuzione maxEnvironments (), anch'esso applicato in ciascuna regione. Insieme, consentono di limitare il traffico accettato da un endpoint. Inoltre, consentono di limitare la quantità di carico che l'endpoint trasferisce alle dipendenze a valle, come database e API esterne. Per ulteriori informazioni, consulta Comportamento di scalabilità per Lambda Web Functions.