Implementaciones continuas para funciones de Lambda - AWS Lambda

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implementaciones continuas para funciones de Lambda

Utilice implementaciones continuas para controlar los riesgos asociados a la introducción de nuevas versiones de su función de Lambda. En una implementación continua, el sistema implementa automáticamente la nueva versión de la función y envía gradualmente una cantidad creciente de tráfico a la nueva versión. La cantidad de tráfico y la tasa de aumento son parámetros que puede configurar.

Para configurar un despliegue continuo, utilice AWS CodeDeploy yAWS SAM. CodeDeploy es un servicio que automatiza las implementaciones de aplicaciones en las plataformas informáticas de Amazon, como Amazon EC2 y. AWS Lambda Para obtener más información, consulte ¿Qué es? CodeDeploy . Al utilizar CodeDeploy la función Lambda para implementar, puede supervisar fácilmente el estado de la implementación e iniciar una reversión si detecta algún problema.

AWS SAM es un marco de código abierto para crear aplicaciones sin servidor. Cree una plantilla de AWS SAM (en formato YAML) para especificar la configuración de los componentes necesarios para la implementación continua. AWS SAM utiliza la plantilla para crear y configurar los componentes. Para obtener más información, consulte ¿Qué es AWS SAM?

En una implementación continua, AWS SAM realiza las siguientes tareas:

  • Configura su función de Lambda y crea un alias.

    La configuración de direccionamiento de alias es la capacidad subyacente que implementa la implementación continua.

  • Crea un grupo de CodeDeploy aplicaciones y despliegues.

    El grupo de implementación administra la implementación continua y la restauración (si es necesario).

  • Detecta cuando crea una nueva versión de su función de Lambda.

  • Se activa CodeDeploy para iniciar la implementación de la nueva versión.

Ejemplo AWS SAM de la plantilla Lambda

En el siguiente ejemplo se muestra una plantilla de AWS SAM para una implementación continua simple.

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

Esta plantilla define una función de Lambda denominada myDateTimeFunction con las siguientes propiedades.

AutoPublishAlias

La propiedad AutoPublishAlias crea un alias denominado live. Además, el marco de AWS SAM detecta automáticamente cuando guarda código nuevo para la función. A continuación, el marco publica una nueva versión de función y actualiza el alias live para que apunte a la nueva versión.

DeploymentPreference

La DeploymentPreference propiedad determina la velocidad a la que la CodeDeploy aplicación desplaza el tráfico de la versión original de la función Lambda a la nueva versión. El valor Linear10PercentEvery2Minutes desplaza un diez por ciento adicional del tráfico a la nueva versión cada dos minutos.

Para obtener una lista de las configuraciones de implementación predefinidas, consulte Configuraciones de implementación.

Para ver un tutorial detallado sobre cómo utilizarlas CodeDeploy con funciones de Lambda, consulte Implementar una función Lambda actualizada con. CodeDeploy