Opciones para implementar su aplicación con AWS SAM - 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.

Opciones para implementar su aplicación con AWS SAM

Con AWS SAMél, puede implementar su aplicación manualmente y también puede automatizar las implementaciones. Úselo AWS SAMCLI para implementar su aplicación manualmente. Para automatizar la implementación, utilice canalizaciones y un sistema de integración e implementación continuas (CI/CD). Los temas de esta sección proporcionan información sobre ambos enfoques.

Cómo utilizarlos para realizar AWS SAMCLI una implementación manual

Después de desarrollar y probar la aplicación sin servidor a nivel local, puede implementarla mediante el comando sam deploy.

Para AWS SAM guiarlo a lo largo de la implementación con instrucciones, especifique el --guided indicador. Al especificar este indicador, el comando sam deploy comprime 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 imágenes de contenedores). A continuación, el comando despliega la aplicación en la AWS nube.

Ejemplo:

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

Implemente con sistemas y canalizaciones de CI/CD

AWS SAM le ayuda a automatizar la implementación mediante canalizaciones y un sistema de integración e implementación continuas (CI/CD). AWS SAM se puede utilizar para crear canalizaciones y simplificar las tareas de CI/CD para aplicaciones sin servidor. Varios sistemas de CI/CD admiten la AWS SAM creación de imágenes de contenedores y AWS SAM también proporcionan un conjunto de plantillas de canalización predeterminadas para varios sistemas de CI/CD que resumen las mejores prácticas de implementación. AWS

Para obtener más información, consulte Uso de sistemas y canalizaciones de CI/CD para implementar con AWS SAM.

Implementación gradual

Si desea implementar la AWS SAM aplicación de forma gradual en lugar de hacerlo de una sola vez, puede especificar las configuraciones de implementación que se proporcionan. AWS CodeDeploy Para obtener más información, consulte Trabajar con configuraciones de despliegue CodeDeploy en la Guía del AWS CodeDeploy usuario.

Para obtener información sobre cómo configurar AWS SAM la aplicación para que se despliegue gradualmente, consulteImplementación gradual de aplicaciones sin servidor con AWS SAM.

Solución de problemas de las implementaciones mediante la CLI de AWS SAM

Error de la CLI de AWS SAM: “no se cumplen las restricciones de seguridad”

Al ejecutar sam deploy --guided, se le preguntará HelloWorldFunction may not have authorization defined, Is this okay? [y/N]. Si responde a esta solicitud con N (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 de acceso público configurada sin autorización. Al responder N a esta pregunta, está diciendo que esto no está bien.

Para resolver este problema, dispone de las siguientes opciones:

  • Configure su aplicación con autorización. Para obtener más información acerca de la autorización, consulte Controla el API acceso con tu AWS SAM plantilla.

  • Responda a esta pregunta Y para indicar que está de acuerdo con la implementación de una aplicación que tenga una API de API Gateway configurada sin autorización.

Más información

Para ver ejemplos prácticos de la implementación de aplicaciones sin servidor, consulte lo siguiente de The Complete AWS SAM Workshop:

  • Módulo 3: Implementación manual: aprenda a crear, empaquetar e implementar una aplicación sin servidor mediante. AWS SAMCLI

  • Módulo 4: CI/CD: aprenda a automatizar las fases de creación, empaquetado e implementación mediante la creación de una canalización de integración y entrega continuas (CI/CD).