Options pour déployer votre application avec AWS SAM - AWS Serverless Application Model

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Options pour déployer votre application avec AWS SAM

Avec AWS SAM, vous pouvez déployer votre application manuellement et vous pouvez également automatiser les déploiements. Utilisez le AWS SAMCLI pour déployer manuellement votre application. Pour automatiser le déploiement, utilisez des pipelines et un système d'intégration et de déploiement continus (CI/CD). Les rubriques de cette section fournissent des informations sur les deux approches.

Comment utiliser le AWS SAMCLI pour déployer manuellement

Après avoir développé et testé votre application sans serveur localement, vous pouvez déployer votre application à l'aide de la commande sam deploy.

Pour vous AWS SAM guider tout au long du déploiement à l'aide d'instructions, spécifiez le --guided drapeau. Lorsque vous spécifiez cet indicateur, la commande sam deploy compresse vos artefacts d'application, les télécharge soit sur Amazon Simple Storage Service (Amazon S3) (pour les archives de fichiers .zip), soit sur Amazon Elastic Container Registry (Amazon ECR) (pour les images de conteneur). La commande déploie ensuite votre application dans le AWS Cloud.

Exemple :

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

Déployez avec des systèmes et des pipelines CI/CD

AWS SAM vous aide à automatiser le déploiement à l'aide de pipelines et d'un système d'intégration et de déploiement continus (CI/CD). AWS SAM peut être utilisé pour créer des pipelines et simplifier les tâches CI/CD pour les applications sans serveur. Plusieurs systèmes CI/CD prennent en charge AWS SAM les images de conteneur de génération et fournissent AWS SAM également un ensemble de modèles de pipeline par défaut pour plusieurs systèmes CI/CD qui encapsulent AWS les meilleures pratiques de déploiement.

Pour plus d’informations, consultez Utilisation de systèmes et de pipelines CI/CD pour le déploiement avec AWS SAM.

Déploiements graduels

Si vous souhaitez déployer votre AWS SAM application progressivement plutôt qu'en une seule fois, vous pouvez spécifier les configurations de déploiement qui AWS CodeDeploy fournissent. Pour plus d'informations, consultez la section Utilisation des configurations de déploiement CodeDeploy dans le Guide de AWS CodeDeploy l'utilisateur.

Pour plus d'informations sur la configuration de votre AWS SAM application pour un déploiement progressif, consultezDéploiement progressif d'applications sans serveur avec AWS SAM.

Résolution de problèmes de déploiement à l'aide de la CLI  AWS SAM

Erreur CLI AWS SAM : « Contraintes de sécurité non satisfaites »

Lors de l'exécution de sam deploy --guided, vous devrez répondre à la question HelloWorldFunction may not have authorization defined, Is this okay? [y/N]. Si vous répondez à cette question par non N (réponse par défaut), vous voyez apparaître l'erreur suivante :

 
Error: Security Constraints Not Satisfied
            

L'invite vous informe que l'application que vous êtes sur le point de déployer peut comporter une API Amazon API Gateway configurée sans autorisation. En répondant N à cette question, vous dites que ce n'est pas OK.

Pour résoudre le problème, vous disposez des options suivantes :

  • Configurez votre application avec l'autorisation. Pour plus d'informations sur la configuration de l'autorisation, consultez Contrôlez API l'accès avec votre AWS SAM modèle.

  • Répondez à cette question par Y pour indiquer que vous êtes d'accord avec le déploiement d'une application sur laquelle une API API Gateway est configurée sans autorisation.

En savoir plus

Pour des exemples pratiques de déploiement d'applications sans serveur, consultez le document suivant tiré de The Complete AWS SAM Workshop :

  • Module 3 - Déploiement manuel — Découvrez comment créer, empaqueter et déployer une application sans serveur à l'aide du AWS SAMCLI.

  • Module 4 – CI/CD : découvrez comment automatiser les phases de création, de package et de déploiement en créant un pipeline d'intégration et de livraison continues (CI/CD).