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.
Tutorial: implementaciones de funciones de Lambda con CodePipeline
Este tutorial le ayuda a crear una acción de implementación en CodePipeline que implemente el código en la función que ha configurado en Lambda. Creará una función de Lambda de ejemplo en la que se crean un alias y una versión, se agrega la función de Lambda comprimida a la ubicación de origen y se ejecuta la acción de Lambda en la canalización.
nota
Como parte de la creación de una canalización en la consola, CodePipeline utilizará un bucket de artefactos de S3 para los artefactos. (Es diferente del bucket que se usa para una acción de origen de S3). Si el bucket de artefactos de S3 se encuentra en una cuenta diferente a la cuenta de su canalización, asegúrese de que el bucket de artefactos de S3 pertenezca a Cuentas de AWS que sean seguras y fiables.
nota
La acción de implementación de Lambda solo está disponible para canalizaciones de tipo V2.
Requisitos previos
Para poder usar este tutorial para crear su propia canalización de implementación continua debe tener instalados algunos recursos. Esto es lo que necesita para empezar:
nota
Todos estos recursos deben crearse en la misma región de AWS.
-
Un repositorio de control de código fuente, como GitHub, o un bucket de S3 de origen (este tutorial usa S3) donde almacenará un archivo
.zipque cree para su función de Lambda. -
Debe usar un rol de servicio de CodePipeline existente que se haya actualizado con los permisos necesarios para esta acción. Para actualizar su rol de servicio, consulte Permisos de la política de rol de servicio para la acción de implementación de Lambda.
Una vez satisfechos estos requisitos previos, puede continuar con el tutorial y crear su canalización de implementación continua.
Paso 1: creación de la función de Lambda de ejemplo
En este paso, se crea la función de Lambda en la que se realizará la implementación.
Para crear una función de Lambda
-
Acceda a la consola de Lambda y realice los pasos del siguiente tutorial para crear una función de Lambda de ejemplo: enlace.
-
En la barra de navegación superior, elija Crear y, en la parte superior de la página, seleccione Comenzar desde cero.
-
En Name (Nombre), escriba
MyLambdaFunction. -
Publique una nueva versión. Esta será la versión a la que apuntará el alias.
-
Seleccione su función.
-
Elija el menú desplegable Acciones.
-
Elija Publicar nueva versión.
-
(Opcional) Agregue una descripción en Descripción.
-
Elija Publicar.
-
-
Cree un alias para su función, por ejemplo
aliasV1. -
Asegúrese de que el alias apunte a la versión que acaba de crear (por ejemplo, 1).
nota
Si elige $LATEST, no puede usar las características de transferencia de tráfico porque Lambda no admite $LATEST para un alias que apunte a más de una versión.
Paso 2: carga del archivo de la función en el repositorio
Descargue la función y guárdela como un archivo .zip. Cargue el archivo comprimido en el bucket de S3 siguiendo los pasos que se indican a continuación.
Para añadir un archivo .zip a su repositorio de código fuente
-
Abra su bucket de S3.
-
Seleccione Cargar.
-
Suba el archivo .zip que contiene su archivo
sample_lambda_source.zipal bucket de origen.Tome nota de la ruta.
object key
Paso 3: creación de una canalización
Utilice el asistente de CodePipeline para crear las etapas de la canalización y conectar el repositorio de origen.
Para crear la canalización
Abra la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/
. -
En la página Bienvenido, Introducción o Canalizaciones, elija Crear canalización.
-
En la página Paso 1: elección de la opción de creación, en Opciones de creación, seleccione la opción Crear una canalización personalizada. Elija Siguiente.
-
En Paso 2: elegir la configuración de la canalización, en Nombre de la canalización, escriba
MyPipeline. -
CodePipeline proporciona canalizaciones de tipo V1 y V2, que difieren en características y precio. El tipo V2 es el único tipo que puede elegir en la consola. Para obtener más información, consulte Tipos de canalización. Para obtener más información acerca de los precios de CodePipeline, consulte Precios
. -
En Rol de servicio, elija Usar el rol de servicio existente y, a continuación, elija el rol de servicio de CodePipeline que se ha actualizado con los permisos necesarios para esta acción. Para configurar el rol de servicio de CodePipeline para esta acción, consulte Permisos de la política de rol de servicio para la acción de implementación de Lambda.
-
En Advanced settings (Configuración avanzada), deje los valores predeterminados y elija Next (Siguiente).
-
En la página Paso 3: agregar la etapa de origen, agregue una etapa de origen:
-
En Source provider (Proveedor de código fuente), elija Amazon S3.
-
En Clave de objeto, agregue el nombre del archivo .zip, incluida la extensión del archivo, por ejemplo
sample_lambda_source.zip.
Elija Siguiente.
-
-
En la página Paso 4: agregación de la etapa de compilación, seleccione Omitir.
-
En la página Paso 5: agregación de la etapa de prueba, seleccione Omitir.
-
En la página Paso 6: agregación de la etapa de implementación, elija Lambda.
-
Agregue el nombre de la función y el alias.
-
Elija su estrategia de implementación.
-
Elija Siguiente.
-
-
En la página Paso 7: Revisar, revise la configuración de la canalización y elija Crear canalización para crear la canalización.
Paso 4: Probar la canalización
Su canalización debería tener todo lo necesario para ejecutar una implementación continua de AWS nativa de extremo a extremo. Ahora, pruebe su funcionalidad enviando un cambio de código al repositorio de código fuente.
Para probar la canalización
-
Realice una modificación del código en el repositorio de código fuente configurado, valide y envíe el cambio.
Abra la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/
. -
Seleccione su canalización de la lista.
-
Vea el progreso en la canalización a través de sus etapas. La canalización debería completarse y la acción implementarse en la función de Lambda.
Más información
La acción de implementación de Lambda permite dos métodos de implementación. Un método es el cambio de tráfico por sí solo sin un artefacto de entrada de la acción de origen. El otro método consiste en actualizar el código de la función mediante un artefacto de entrada de la acción de origen y, a continuación, publicar una nueva versión basada en el código actualizado. Para el segundo método, si se proporciona el alias, CodePipeline también realizará el cambio de tráfico. En este tutorial sobre la acción de implementación de Lambda, se muestra cómo actualizar la función mediante un artefacto de origen.
Para obtener más información sobre la acción, consulte la página de referencia de la acción en Referencia de la acción de implementación de AWS Lambda.