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.
Déploiement AWS CloudFormation s'empile plus rapidement avec le mode express
Avec le mode CloudFormation express, vous pouvez effectuer des opérations de stack dès que la configuration des ressources CloudFormation s'applique, sans attendre que les ressources soient complètement stabilisées. Utilisez le mode express pour créer, mettre à jour et supprimer des piles beaucoup plus rapidement lors des flux de travail de développement itératifs.
Le mode Express fonctionne avec tous les CloudFormation modèles existants. Il n'est pas nécessaire de modifier le modèle pour utiliser le mode express.
Rubriques
Quand utiliser le mode express
Utilisez le mode express pour les flux de travail de développement et d'itération où la rapidité est plus importante que l'attente d'une stabilisation complète des ressources. Utilisez le mode express lorsque :
-
Vous répétez les modifications apportées au modèle au cours du développement.
-
Vous souhaitez obtenir plus rapidement des informations sur la validité de vos configurations de ressources.
-
Il n'est pas nécessaire d'attendre que les ressources soient pleinement opérationnelles pour continuer.
Pour les déploiements de production où vous devez vérifier que les ressources sont totalement stabilisées et opérationnelles avant de considérer le déploiement comme terminé, utilisez le mode de déploiement par défaut.
Comment fonctionne le mode express
Dans le mode de déploiement par défaut, CloudFormation attend que chaque ressource atteigne un état complètement stabilisé avant de signaler la ressource comme terminée. Par exemple, lors de la création d'une instance Amazon EC2, attendez CloudFormation que l'instance soit dans son état. running
En mode express, on considère CloudFormation généralement qu'une opération sur une ressource est terminée dès que l'appel d'API pour créer, mettre à jour ou supprimer la ressource aboutit. Dans la plupart des cas, CloudFormation n'attend pas que la ressource atteigne son état opérationnel final.
Cela signifie qu'une fois qu'une opération de pile en mode express est terminée :
-
Les ressources sont peut-être encore en train d'initialiser ou de propager des modifications.
-
Les ressources ne sont peut-être pas encore prêtes à traiter le trafic ou à accepter des connexions.
-
Les opérations de suppression sont peut-être toujours en cours.
Comment CloudFormation gère les dépendances en mode express
Le mode Express respecte les dépendances des ressources définies dans votre modèle. Si une ressource fait référence à l'ID ou à l'attribut d'une autre ressource (via Ref ouFn::GetAtt), CloudFormation confirme que la configuration de la ressource référencée est appliquée avant de démarrer la ressource dépendante. Si une ressource dépendante rencontre une défaillance temporaire parce qu'une ressource référencée n'est pas prête, CloudFormation recommence l'opération.
Les ressources qui ne sont pas dépendantes les unes des autres peuvent fonctionner en parallèle.
Le mode Express ne modifie pas l'ordre de dépendance de vos ressources. Il change lorsque les rapports d'opération de pile sont terminés.
Commencer à utiliser le mode express
Vous pouvez utiliser le mode express avec le AWS Command Line Interface (AWS CLI), le Cloud Development Kit AWS (AWS CDK) (AWS CDK), la CloudFormation console et les ensembles de modifications. Les sections suivantes décrivent comment activer le mode express avec chaque méthode.
Utilisation du mode express avec AWS CLI
Pour utiliser le mode express avec le AWS CLI, ajoutez le --deployment-config paramètre à vos commandes d'opérations de pile.
Création d'une pile en mode express
La commande suivante crée une pile en mode express :
aws cloudformation create-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
Mettre à jour une pile avec le mode express
La commande suivante met à jour une pile en utilisant le mode express :
aws cloudformation update-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
Supprimer une pile en mode express
La commande suivante supprime une pile à l'aide du mode express :
aws cloudformation delete-stack --stack-namemy-stack\ --deployment-config '{"mode": "EXPRESS"}'
Utilisation du mode express avec AWS CDK
Pour utiliser le mode express avec le Cloud Development Kit AWS (AWS CDK) (AWS CDK), utilisez le --express drapeau avec la cdk deploy commande :
cdk deploy --express
Utilisation du mode express avec AWS SAM
Pour utiliser le mode express avec la CLI AWS SAM, ajoutez l'--expressindicateur à vos commandes de déploiement ou de synchronisation :
sam deploy --express
sam sync --express
Pour conserver le paramètre dans la configuration de votre projet, utilisez --save-params :
sam deploy --express --save-params
Cela est enregistré express = true dans votre samconfig.toml fichier afin que les déploiements suivants utilisent automatiquement le mode Express.
Lorsque le mode express est activé, la AWS SAM CLI transmet la configuration de déploiement à CloudFormation. L'--disable-rollbackindicateur contrôle le comportement de restauration dans la configuration de déploiement.
Utilisation du mode express avec la console
Lorsque vous créez ou mettez à jour une pile dans la CloudFormation console, vous pouvez activer le mode express à l'étape Configurer les options de pile. Sous Options de déploiement, sélectionnez Express pour le mode de déploiement.
Utilisation du mode express avec des ensembles de modifications
Vous pouvez utiliser le mode express avec des ensembles de modifications en spécifiant la configuration de déploiement lors de la création du jeu de modifications :
aws cloudformation create-change-set --stack-namemy-stack\ --change-set-namemy-change-set\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS"}'
Lorsque vous exécutez l'ensemble de modifications, CloudFormation applique la configuration de déploiement en mode express spécifiée lors de la création de l'ensemble de modifications.
Comportement de restauration avec le mode express
Lorsque vous utilisez le mode express, le rollback CloudFormation est désactivé par défaut. En cas d'échec d'une opération sur les ressources, CloudFormation n'annule pas automatiquement les modifications.
Pour réactiver la restauration en mode express, définissez le disableRollback --deployment-config paramètre false sur :
aws cloudformation create-stack --stack-namemy-stack\ --template-bodyfile://my-template.yaml\ --deployment-config '{"mode": "EXPRESS", "disableRollback": false}'
Mode express et piles imbriquées
Lorsque vous utilisez le mode express sur une pile parent, le paramètre se propage à toutes les piles imbriquées de la hiérarchie. Il n'est pas nécessaire de spécifier le mode express pour chaque pile imbriquée séparément. Toutes les ressources de la pile racine et de ses piles imbriquées sont terminées dès que leur configuration est appliquée.
Considérations relatives à la disponibilité des
Le mode Express termine les opérations sur les ressources avant que celles-ci n'atteignent un état totalement stabilisé. Toute ressource peut donc nécessiter un délai supplémentaire pour être pleinement prête à servir le trafic ou à effectuer une propagation multirégionale. Le tableau suivant illustre les types de comportement des ressources auxquels vous pouvez vous attendre, à l'aide d'exemples relatifs à différents types de ressources. Ces exemples sont illustratifs et ne constituent pas une liste complète des ressources prises en charge.
| Type de ressource | Opération | Comportement de préparation |
|---|---|---|
| CloudFront Distribution sur Amazon | Create/Update | Le déploiement global de la distribution peut prendre plusieurs minutes une fois la configuration appliquée. |
| Instance Amazon EC2 | Créer | L'instance est peut-être toujours en cours d'initialisation (exécution de scripts de données utilisateur, vérifications d'état) une fois l'opération de pile terminée. |
| AWS Fonction Lambda | Suppression | Les ressources fonctionnelles sont peut-être encore en cours de nettoyage une fois les rapports d'opération de suppression terminés. |
| Service Amazon Elastic Container Service (Amazon ECS) | Create/Update | Les tâches de service sont peut-être encore en train de démarrer ou d'atteindre un état stable une fois l'opération de pile terminée. |
Fonctionnalités et limitations non prises en charge
Les fonctionnalités et services suivants ne sont pas pris en charge avec le mode express :
- CloudFormation StackSets
-
CloudFormation ne prend pas en charge le mode express avec StackSets les opérations.
Les ressources suivantes ont un comportement spécifique avec le mode express :
- Ressources personnalisées
-
Les ressources personnalisées (y compris
AWS::CloudFormation::CustomResourcelesCustom::*ressources) suivent leur comportement par défaut. CloudFormation attend que la ressource personnalisée envoie un signal de réponse avant de considérer l'opération comme terminée, même en mode express. Pour éviter qu'une ressource personnalisée lente ou bloquée ne retarde les flux de travail à itération rapide, définissez un temps d'attente maximal à l'ServiceTimeoutaide de cette propriété. Pour de plus amples informations, veuillez consulter Délai d’attente de réponse.
Comparaison avec AWS CDK déploiements HotSwap
Le tableau suivant compare le mode express aux déploiements AWS CDK hotswap.
| Fonctionnalité | Mode express | AWS CDK hotswap |
|---|---|---|
| Mécanisme de déploiement | Utilisations CloudFormation pour toutes les opérations liées aux ressources | Contourne CloudFormation et appelle directement les API du service |
| Compatibilité des modèles | Fonctionne avec tous les CloudFormation modèles existants | Prend en charge un ensemble limité de types de ressources |
| État de la pile | L'état de la pile reste cohérent avec le modèle | L'état de la pile peut dériver du modèle |
| Assistance en cas de rétrogradation | Supporte le rollback (désactivé par défaut) | Aucune prise en charge de la rétrogradation |
| Couverture des ressources | Tous les types de CloudFormation ressources | Types de ressources limités (AWS Lambda, Amazon ECS, AWS Step Functions, etc.) |
| Usage recommandé | Workflows de développement et d'itération | Workflows de développement avec ressources prises en charge uniquement |
Ressources connexes
-
Choisissez comment gérer les défaillances lors de l’approvisionnement des ressources
-
CreateStack dans la Référence d'API AWS CloudFormation