Implementación de aplicaciones sin servidor - AWS Serverless Application Model

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.

Implementación de aplicaciones sin servidor

AWS SAMutilizaAWS CloudFormationcomo mecanismo de despliegue subyacente. Para obtener más información, consulte ¿Qué es AWS CloudFormation? en la Guía del usuario de AWS CloudFormation. Las entradas estándar para implementar aplicaciones sin servidor son los artefactos de compilación creados mediante elsam buildcomando. Para obtener más información acerca de sam build, consulte Creación de aplicaciones sin servidor.

Puede implementar la aplicación manualmente medianteAWS SAMcomandos de la interfaz de línea de comandos (CLI) de. Puede automatizar las implementaciones de su aplicación mediante un sistema de integración continua e implementación continuas (CI/CD). Puede utilizar muchos sistemas CI/CD comunes para implementarAWS SAMaplicaciones, incluidasAWS CodePipeline,Jenkins,CI/CD de GitLab, yAcciones de GitHub.

Implementación mediante sistemas CI/CD

AWS SAMayuda a las organizaciones a crear canalizaciones para sus sistemas de CI/CD preferidos, de modo que puedan aprovechar los beneficios de CI/CD con el mínimo esfuerzo, como acelerar la frecuencia de implementación, acortar el tiempo de entrega de los cambios y reducir los errores de implementación.

AWS SAMsimplifica las tareas de CI/CD para aplicaciones sin servidor con la ayuda de crear imágenes de contenedor. Las imágenes queAWS SAMproporciona incluir elAWS SAMCLI y herramientas de compilación para una serie de compatiblesAWS Lambdatiempos de ejecución. Esto hace que sea más fácil crear y empaquetar aplicaciones sin servidor medianteAWS SAMCLI. Estas imágenes también alivian la necesidad de que los equipos creen y gestionen sus propias imágenes para sistemas CI/CD. Para obtener más información acerca deAWS SAMcrear imágenes de contenedor, consulterepositorios de imágenes.

Compatibilidad con múltiples sistemas CI/CDAWS SAMcrear imágenes de contenedor. El sistema CI/CD que debe utilizar depende de varios factores. Estos incluyen si la aplicación utiliza un único tiempo de ejecución o varios tiempos de ejecución, o si desea crear la aplicación dentro de una imagen de contenedor o directamente en una máquina host, ya sea una máquina virtual (VM) o un host bare metal.

AWS SAMtambién proporciona un conjunto de plantillas de canalización predeterminadas para varios sistemas CI/CD que encapsulanAWSlas prácticas recomendadas de implementación de. Estas plantillas de canalización predeterminadas utilizan formatos de configuración de canalización JSON/YAML estándar y las prácticas recomendadas integradas ayudan a realizar implementaciones de varias cuentas y regiones, y verifican que las canalizaciones no pueden realizar cambios involuntarios en la infraestructura.

Tiene dos opciones principales para usarAWS SAMpara implementar sus aplicaciones sin servidor: 1) Modifique la configuración de canalización existente para utilizarlaAWS SAMComandos de CLI o 2) Genere una configuración de canalización de CI/CD de ejemplo que puede utilizar como punto de partida para su propia aplicación.

Para obtener más información acerca de estas opciones, consulte los siguientes temas:

Implementación medianteAWS SAMCLI

Después de desarrollar y probar la aplicación sin servidor localmente, puede implementar la aplicación mediante elsam deploycomando.

Para tenerAWS SAMguiarle a lo largo de la implementación con indicaciones, especifique la--guidedbandera. Cuando especifique este indicador, elsam deploycomprime los artefactos de la aplicación y los carga en Amazon Simple Storage Service (Amazon S3) (para archivos de archivos.zip) o en Amazon Elastic Container Registry (Amazon ECR) (para contener imágenes). A continuación, el comando implementa la aplicación enAWSen la nube.

Ejemplo:

# Deploy an application using prompts: sam deploy --guided

Solución de problemas de las implementaciones medianteAWS SAMCLI

AWS SAMError CLI: «Restricciones de seguridad no satisfechas»

Cuando se ejecutasam deploy --guided, se te pide la preguntaHelloWorldFunction may not have authorization defined, Is this okay? [y/N]. Si responde a este mensaje conN(la respuesta predeterminada), verá el siguiente error:

 
Error: Security Constraints Not Satisfied
            

El mensaje le informa de que la aplicación que va a implementar podría tener una API de Amazon API Gateway configurada sin autorización. RespondiendoNa este mensaje, estás diciendo que esto no está bien.

Para solucionar esta situación, dispone de las siguientes opciones:

  • Configure su aplicación con autorización. Para obtener información acerca de cómo configurar la autorización, consulteControlar el acceso a las API de API Gateway.

  • Responda a esta pregunta conYpara indicar que está bien implementar una aplicación que tenga una API de API Gateway configurada sin autorización.

Implementaciones graduales

Si desea implementar suAWS SAMaplicación gradualmente en lugar de todo a la vez, puede especificar configuraciones de implementación queAWS CodeDeployproporciona. Para obtener más información, consulteUso de configuraciones de implementación en CodeDeployen laAWS CodeDeployGuía del usuario de.

Para obtener información acerca de cómo configurarAWS SAMaplicación para desplegar gradualmente, consulteImplementará gradualmente aplicaciones sin servidor.