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à.
Crea distribuzioni continue per le funzioni Lambda
Utilizzare le distribuzioni in sequenza per controllare i rischi associati all'introduzione di nuove versioni della funzione Lambda. In una distribuzione in sequenza, il sistema distribuisce automaticamente la nuova versione della funzione e invia gradualmente una quantità crescente di traffico alla nuova versione. La quantità di traffico e la velocità dell'aumento sono parametri che è possibile configurare.
È possibile configurare una distribuzione continua utilizzando e. AWS CodeDeploy AWS SAM CodeDeploy è un servizio che automatizza le distribuzioni di applicazioni su piattaforme informatiche Amazon come Amazon e. EC2 AWS LambdaPer ulteriori informazioni, consulta Cos'è? CodeDeploy . Utilizzando CodeDeploy to deploy la funzione Lambda, è possibile monitorare facilmente lo stato della distribuzione e avviare un rollback in caso di problemi.
AWS SAM è un framework open source per la creazione di applicazioni serverless. È necessario creare un AWS SAM modello (in YAML formato) per specificare la configurazione dei componenti necessari per la distribuzione continua. AWS SAM utilizza il modello per creare e configurare i componenti. Per ulteriori informazioni, consulta la pagina Che cos'è AWS SAM?.
In una distribuzione continua, AWS SAM esegue le seguenti attività:
-
Configura la funzione Lambda e crea un alias.
La configurazione del routing degli alias è la funzionalità sottostante che implementa la distribuzione in sequenza.
-
Crea un' CodeDeploy applicazione e un gruppo di distribuzione.
Il gruppo di distribuzione gestisce la distribuzione in sequenza e il rollback (se necessario).
-
Rileva quando viene creata una nuova versione della funzione Lambda.
-
Si attiva CodeDeploy per avviare la distribuzione della nuova versione.
Esempio di AWS SAM modello Lambda
Nell'esempio seguente viene illustrato un modello AWS SAM per una semplice distribuzione in sequenza.
AWSTemplateFormatVersion : '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: A sample SAM template for deploying Lambda functions. Resources: # Details about the myDateTimeFunction Lambda function myDateTimeFunction: Type: AWS::Serverless::Function Properties: Handler: myDateTimeFunction.handler Runtime: nodejs18.x # Creates an alias named "live" for the function, and automatically publishes when you update the function. AutoPublishAlias: live DeploymentPreference: # Specifies the deployment configuration Type: Linear10PercentEvery2Minutes
Questo modello definisce una funzione Lambda denominata myDateTimeFunction
con le seguenti proprietà.
- AutoPublishAlias
-
La proprietà
AutoPublishAlias
crea un alias denominatolive
. Inoltre, il framework AWS SAM rileva automaticamente quando viene salvato il nuovo codice per la funzione. Il framework pubblica quindi una nuova versione di funzione e aggiorna l'aliaslive
in modo che punti alla nuova versione. - DeploymentPreference
-
La
DeploymentPreference
proprietà determina la velocità con cui l' CodeDeploy applicazione sposta il traffico dalla versione originale della funzione Lambda alla nuova versione. Il valoreLinear10PercentEvery2Minutes
sposta un ulteriore dieci percento del traffico alla nuova versione ogni due minuti.Per l'elenco delle configurazioni di distribuzione predefinite, consulta Configurazioni di distribuzione.
Per un tutorial dettagliato sull'utilizzo CodeDeploy con le funzioni Lambda, consulta Implementare una funzione Lambda aggiornata con. CodeDeploy