Généralités

Q : Qu'est-ce qu'AWS CloudFormation ?

AWS CloudFormation est un service qui permet aux développeurs et aux entreprises de créer facilement un ensemble de ressources AWS et tierces liées, de les mettre en service et de les gérer de manière ordonnée et prévisible.

Q : Comment les développeurs peuvent-ils utiliser AWS CloudFormation ?

Les développeurs peuvent déployer et mettre à jour des ressources de calcul, des bases de données et de nombreuses autres ressources dans un style simple et déclaratif qui élimine la complexité des API de ressources spécifiques. AWS CloudFormation est conçu pour gérer les cycles de vie des ressources de manière reproductible, prévisible et sécurisée, tout en permettant des restaurations automatiques et une gestion des états et des ressources automatisée sur l’ensemble des comptes et régions. Les améliorations et options récentes permettent de créer des ressources de plusieurs manières, notamment en utilisant AWS CDK pour le codage dans des langages plus complexes, en important des ressources existantes, en détectant les dérives de configuration et en créant un nouveau registre qui facilite la création de types personnalisés héritant de nombreux avantages de CloudFormation.

Q : En quoi CloudFormation diffère-t-il d'AWS Elastic Beanstalk ?

Ces deux services sont complémentaires. AWS Elastic Beanstalk fournit un environnement dans lequel vous pouvez déployer et exécuter facilement des applications dans le cloud. Il est intégré aux outils des développeurs et fournit une solution « tout-en-un » pour la gestion du cycle de vie des applications. Si vos charges de travail d’application peuvent être gérées comme des charges de travail Elastic Beanstalk, vous pouvez profiter d'une expérience davantage clé en main pour la création et la mise à jour des applications. En arrière-plan, Elastic Beanstalk utilise CloudFormation pour créer et maintenir des ressources. Si les exigences de votre application vous imposent un contrôle plus personnalisé, la fonctionnalité supplémentaire de CloudFormation vous propose davantage d'options pour contrôler vos charges de travail.

AWS CloudFormation est un mécanisme de mise en service pratique pour un large éventail de ressources AWS et tierces. Il prend en charge les besoins d'infrastructure de beaucoup de types différents d'applications, notamment les applications d'entreprises existantes, les applications héritées, les applications construites en utilisant une variété de ressources AWS et les solutions basées sur des conteneurs (y compris celles utilisant AWS Elastic Beanstalk).

AWS CloudFormation prend en charge les environnements d'application Elastic Beanstalk en tant que l'un des types de ressources AWS. Cela vous permet, par exemple, de créer et de gérer une application hébergée sur AWS Elastic Beanstalk avec une base de données RDS pour stocker les données d'application. Toutes les autres ressources prises en charge par AWS peuvent être également ajoutées à un groupe.

Q : Quels sont les nouveaux concepts introduits par AWS CloudFormation ?

CloudFormation introduit quatre concepts : un modèle est un fichier de code déclaratif JSON ou YAML qui décrit l'état prévu de toutes les ressources dont vous avez besoin pour déployer votre application. Une pile met en œuvre et gère le groupe de ressources décrit dans votre modèle, et permet de gérer ensemble l'état et les dépendances de ces ressources. Un ensemble de modifications est un aperçu des modifications qui seront exécutées par les opérations sur la pile pour créer, mettre à jour ou supprimer des ressources. Un ensemble de piles est un groupe de piles que vous gérez ensemble et qui peut répliquer un groupe 

Q : Quelles sont les ressources prises en charge par AWS CloudFormation ?

Pour obtenir la liste complète des ressources AWS prises en charge et leurs fonctionnalités, consultez la page relative aux services AWS pris en charge de l'historique de la documentation.

AWS CloudFormation Registryet les ressources personnalisées AWS CloudFormation permettent de gérer des ressources AWS et tierces supplémentaires.

Q : Puis-je gérer des ressources AWS indépendantes, qui ne font pas partie d'une pile AWS CloudFormation ?

Oui. CloudFormation n'est pas un obstacle ; vous gardez le contrôle total de tous les éléments de votre infrastructure et pouvez continuer à utiliser tous vos outils AWS et tiers existants pour gérer vos ressources AWS. Toutefois, étant donné que CloudFormation peut prévoir des règles supplémentaires, des bonnes pratiques et des contrôles de conformité, nous vous recommandons d'autoriser CloudFormation à gérer les modifications apportées à vos ressources. Cette approche prévisible et contrôlée vous aide à gérer des centaines, voire des milliers de ressources sur l’ensemble de votre portefeuille d'applications.

Q : Quels sont les éléments d'un modèle AWS CloudFormation ?

Les modèles CloudFormation sont des fichiers texte au format JSON ou YAML composés de cinq types d'éléments :

1. Une liste facultative de paramètres de modèles (valeurs d'entrée fournies au moment de la création de la pile)
2. Une liste facultative de valeurs de sortie (ex : l'URL complète vers une application web)
3. Une liste facultative de tables de données utilisées pour vérifier les valeurs de configuration statiques (ex : noms d'AMI)
4. La liste des ressources AWS et leurs valeurs de configuration
5. Un numéro de version de format de fichier de modèle

Les paramètres de modèles sont utilisés pour personnaliser certains aspects de votre modèle lors de l'exécution, une fois la pile créée. Vous pouvez, par exemple, transmettre la taille de base de données Amazon RDS, les types d'instance Amazon EC2 et les numéros de port des serveurs web à AWS CloudFormation lors de la création de la pile. Chaque paramètre peut avoir une valeur par défaut et une description, et peut être marqué « NoEcho » afin de masquer la valeur actuelle que vous saisissez sur l'écran, et dans les journaux d'évènements AWS CloudFormation. Lorsque vous créez une pile AWS CloudFormation, AWS Management Console fait automatiquement la synthèse et présente un formulaire de dialogue contextuel afin que vous puissiez modifier les valeurs des paramètres.

Les valeurs de sortie constituent une manière pratique de présenter les ressources principales d'une pile (comme l'adresse d'un programme d'équilibrage de charge Elastic Load Balancing ou d'une base de données Amazon RDS) à l'utilisateur par le biais d'AWS Management Console ou des outils de ligne de commande. Vous pouvez utiliser des fonctions simples pour concaténer les littéraux de chaînes et les valeurs d'attributs associées aux ressources AWS. Un modèle peut également exploiter les types de ressources du registre, vos propres types privés personnalisés, vos propres macros et les paramètres de récupération de configuration via AWS Secrets Manager et le stockage de paramètres d’AWS System Manager.

Q : Comment AWS CloudFormation détermine-t-il les noms des ressources ?

Vous pouvez assigner des noms logiques aux ressources AWS dans un modèle. Quand une pile est créée, AWS CloudFormation lie le nom logique au nom de la ressource AWS correspondante. Les noms de ressources sont une combinaison des noms de pile et de ressources logiques. Cela permet de créer plusieurs piles à partir d’un modèle sans craindre les conflits de noms entre les ressources AWS.

Q : Pourquoi n'est-il pas possible de nommer toutes mes ressources ?

Bien qu'AWS CloudFormation vous permette de nommer certaines ressources (comme les compartiments Amazon S3), CloudFormation ne l'autorise pas pour toutes les ressources. Le nommage de ressources restreint le caractère réutilisable des modèles et provoque des conflits de noms lorsqu'une ressource est remplacée lors d'une mise à jour. Pour réduire ces problèmes, CloudFormation prend en charge la dénomination des ressources au cas par cas.

Q : Est-il possible d'installer un logiciel au moment de la création de la pile en utilisant AWS CloudFormation ?

Oui. AWS CloudFormation fournit un ensemble de scripts d'amorçage d'application, qui vous permettent d'installer des packages, des fichiers et des services sur vos instances EC2 ; il suffit de les décrire dans votre modèle CloudFormation. Pour plus d'informations et pour découvrir la procédure, consultez la section Amorcer des applications via AWS CloudFormation.

CloudFormation peut également être intégré dans Systems Manager pour piloter et maintenir les installations logicielles avec les documents d'automatisation de Systems Manager.

Q : Puis-je utiliser AWS CloudFormation avec Chef ?

Oui. AWS CloudFormation peut être utilisé pour amorcer à la fois les logiciels Chef Server et Chef Client sur vos instances EC2. Pour plus d'informations et pour découvrir la procédure, consultez la section Intégration d'AWS CloudFormation dans Chef.

Q : Puis-je utiliser AWS CloudFormation avec Puppet ?

Oui. AWS CloudFormation peut être utilisé pour amorcer à la fois les logiciels Puppet Master et Puppet Client sur vos instances EC2. Pour plus d'informations et la procédure, consultez la section Intégration d'AWS CloudFormation dans Puppet.

Q :Puis-je utiliser AWS CloudFormation avec Terraform ?

Oui. CloudFormation peut amorcer votre moteur Terraform sur vos instances EC2, et vous pouvez utiliser les fournisseurs de ressources Terraform pour créer des ressources en piles, en tirant parti de la gestion de l'état des piles, des dépendances, de la stabilisation et de la restauration.

Q : AWS CloudFormation prend-il en charge le balisage Amazon EC2 ?

Oui. Les ressources Amazon EC2 qui prennent en charge la fonction de balisage peuvent aussi être balisées dans un modèle AWS. Les valeurs des balises peuvent faire référence aux paramètres du modèle, aux noms d'autres ressources, à des valeurs d'attributs de ressource (ex. : adresses) ou à des valeurs calculées par des fonctions simples (ex. : une liste concaténée de chaînes). CloudFormation balise automatiquement les volumes Amazon EBS et les instances Amazon EC2 en indiquant le nom de la pile CloudFormation dont ils font partie.

Q : Ai-je accès aux champs de données utilisateur de la configuration de lancement Auto Scaling ou des instances Amazon EC2 ?

Oui. Vous pouvez utiliser des fonctions simples pour concaténer les littéraux de chaînes et les valeurs d'attributs des ressources AWS et les envoyer aux champs de données utilisateur dans votre modèle. Veuillez vous consulter les exemples de modèles pour en savoir plus sur ces fonctions faciles à utiliser.

Q : Que se passe-t-il quand l'une des ressources de la pile ne peut pas être créée ?

Par défaut, la fonction « restauration automatique sur erreur » est activée. CloudFormation pourra alors uniquement créer ou mettre à jour toutes les ressources de votre pile si toutes les opérations individuelles réussissent. Dans le cas contraire, CloudFormation rétablit la pile à la dernière configuration stable connue. Cela est utile quand, par exemple, vous dépassez accidentellement votre limite par défaut d'adresses IP Elastic ou que vous n'avez pas accès à une AMI EC2 que vous essayez d'exécuter. Avec cette fonction, vous pouvez être sûr que les piles sont soit totalement créées, soit pas du tout, ce qui simplifie l'administration du système et des solutions superposées construites sur CloudFormation.

Q : Est-ce que la création de pile peut attendre que mon application se lance ?

Oui. L’une des options fournies par CloudFormation est une ressource WaitCondition qui agit comme un bouclier, bloquant la création d'autres ressources jusqu'à la réception du signal d'achèvement d'une source externe comme votre application ou système de gestion. Les autres options possibles sont la création d'une logique personnalisée avec les fonctions AWS Lambda.

Q : Puis-je enregistrer mes données lorsqu'une pile est supprimée ?

Oui. CloudFormation vous permet de définir les politiques de suppression des ressources dans le modèle. Vous pouvez spécifier que les instantanés doivent être créés pour les instances de volumes EBS Amazon ou de base de données Amazon RDS avant d'être supprimés. Vous pouvez aussi spécifier qu'une ressource doit être conservée, mais pas supprimée quand la pile est supprimée. Cela est utile pour conserver les compartiments Amazon S3 quand la pile est supprimée.

Q : Puis-je mettre à jour ma pile après qu'elle a été créée ?

Oui. Vous pouvez utiliser CloudFormation pour modifier et mettre à jour les ressources dans vos piles existantes de manière contrôlée et prévisible. En utilisant des modèles pour gérer les modifications de votre pile, vous avez la possibilité d'assurer un contrôle de version à votre infrastructure AWS, similaire à celui que vous réalisez pour les logiciels qui y sont exécutés.

Q : Puis-je créer des piles dans un Virtual Private Cloud (VPC) ?

Oui. CloudFormation prend en charge la création de VPC, sous-réseaux, passerelles, tables de routage et ACL réseau, ainsi que la création de ressources telles que des adresses IP Elastic, des instances Amazon EC2, des groupes de sécurité EC2, des groupes Auto Scaling, des Elastic Load Balancers, des instances de base de données Amazon RDS et des groupes de sécurité Amazon RDS dans un VPC.

Q : Comment puis-je participer à la communauté CloudFormation ?

Rejoignez la communauté GitHub AWS CloudFormation.

Q : Puis-je gérer des ressources créées en dehors de CloudFormation ?

Oui, bien sûr ! Grâce à la fonctionnalité d’importation de ressources, vous pouvez intégrer une ressource existante dans la gestion d’AWS CloudFormation à l’aide de l’importation des ressources.

Mise en route

Q : Comment m'inscrire à AWS CloudFormation ?

Pour vous inscrire à CloudFormation, cliquez sur Créer un compte gratuit sur la page du produit CloudFormation. Une fois l'inscription terminée, consultez la documentation de CloudFormation qui comprend notre Guide de démarrage.

Q : Pourquoi est-il nécessaire de vérifier mon numéro de téléphone lorsque je m'inscris à AWS CloudFormation ?

L'inscription à CloudFormation exige que vous ayez un numéro de téléphone et une adresse e-mail valides dans nos archives AWS au cas où nous devrions vous contacter. La vérification de votre numéro de téléphone ne prend que quelques minutes. Vous recevrez un appel automatique pendant le processus d'inscription et vous devrez entrer un code d'identification PIN à l'aide des touches de votre téléphone.

Q : Comment démarrer après s'être inscrit ?

La meilleure manière de démarrer avec CloudFormation est de consulter le Guide de démarrage qui est inclus dans notre documentation technique. En quelques minutes, vous pouvez déployer et utiliser l'un de nos exemples de modèles qui explique comment créer l'infrastructure nécessaire pour exécuter des applications comme WordPress. Il existe plusieurs autres sources de formation CloudFormation, des fournisseurs de programmes tiers aux didacticiels et articles sur le web. Pour plus d’informations, consultez les ressources CloudFormation.

Q : Existe-t-il des exemples de modèles que je peux utiliser pour essayer AWS CloudFormation ?

Oui, CloudFormation contient des exemples de modèles que vous pouvez utiliser pour tester et explorer ses fonctionnalités. Nos exemples de modèles indiquent comment interconnecter et utiliser plusieurs ressources AWS conjointement, en respectant les bonnes pratiques liées à la redondance sur plusieurs zones de disponibilité, au dimensionnement et aux alarmes. Pour démarrer, accédez simplement à AWS Management Console, cliquez sur Créer une pile, et suivez les différentes étapes pour choisir et lancer l'un des exemples de modèles. Une fois la création terminée, sélectionnez votre pile dans la console et accédez aux onglets Modèle et Paramètre pour consulter les informations relatives au fichier de modèle utilisé pour créer la pile. Des exemples de modèles sont également disponibles sur GitHub.

AWS CloudFormation Registry

Q : Qu'est-ce que AWS CloudFormation Registry ?

AWS CloudFormation Registry est un service géré qui vous permet d'enregistrer, d'utiliser et de découvrir les types de ressources AWS et tiers. Les types de ressources tiers doivent être enregistrés pour pouvoir les utiliser pour mettre en service des ressources avec des modèles AWS CloudFormation. Pour plus de détails, consultez la section Utilisation du registre AWS CloudFormation dans notre documentation.

Q : Que sont les types de ressources dans AWS CloudFormation ?

Un fournisseur de ressources est un ensemble de types de ressources avec des spécifications et des gestionnaires qui contrôlent le cycle de vie des ressources sous-jacentes via des opérations de création, de lecture, de mise à jour, de suppression et de liste. Vous pouvez utiliser des fournisseurs de ressources pour modéliser et mettre en service des ressources à l'aide de CloudFormation. Par exemple, AWS::EC2: Instance est un type de ressource du fournisseur Amazon EC2. Vous pouvez utiliser ce type pour modéliser et mettre en service une instance Amazon EC2 à l'aide de CloudFormation. À l'aide de CloudFormation Registry, vous pouvez créer et utiliser des fournisseurs de ressources pour modéliser et mettre en service des ressources tierces telles que des ressources de surveillance SaaS, de productivité d'équipe ou de gestion de code source.

Q : Quelle est la différence entre les fournisseurs de ressources AWS et les fournisseurs de ressources tierces ?

La différence réside dans leur origine. Les fournisseurs de ressources AWS sont créés et gérés par Amazon et AWS pour gérer les ressources et les services AWS. Par exemple, trois fournisseurs de ressources AWS vous aident à gérer les ressources Amazon DynamoDB, AWS Lambda et Amazon EC2. Ces fournisseurs contiennent des types de ressources tels que AWS::DynamoDB::Table, AWS::Lambda::Function et AWS::EC2::Instance. Pour une référence complète, consultez notre documentation.

Les fournisseurs de ressources tiers sont créés par une autre société, organisation ou communauté de développeurs. Ils peuvent vous aider à gérer les ressources AWS et non-AWS, telles que les ressources d'application AWS et les services logiciels non-AWS SaaS, tels que des outils de surveillance, de productivité d'équipe, de gestion des incidents ou de contrôle de version.

Q : Qu'est-ce qu'un schéma de ressource ?

Un schéma de ressource définit un type de ressource dans un format structuré et cohérent. Ce schéma est également utilisé pour valider la définition d'un type de ressource. Il inclut tous les paramètres et attributs pris en charge pour un type de ressource donné, ainsi que les autorisations requises pour créer la ressource avec le moins de privilèges possible.

Q : Comment développer des types de ressources ?

Utilisez l'interface de ligne de commande (CLI) AWS CloudFormation pour créer des fournisseurs de ressources. Vous commencez par définir un schéma déclaratif simple pour vos ressources, qui inclut les autorisations requises et les relations avec d'autres ressources. Vous utilisez ensuite l'interface CLI CloudFormation pour générer l’échafaudage des gestionnaires de cycle de vie des ressources (Créer, Lire, Mettre à jour, Supprimer et Liste), ainsi que des modules de remplacement de test pour les tests d’unité et d’intégration.

Q : Comment enregistrer un fournisseur de ressources ?

Vous pouvez utiliser l'interface de ligne de commande (CLI) AWS CloudFormation ou appeler directement le type de registre et les API de registre associées disponibles via les kits SDK AWS et l'interface CLI AWS. Pour plus de détails, consultez la section Utilisation du registre AWS CloudFormation dans notre documentation. Les fournisseurs de ressources AWS sont disponibles immédiatement et ne nécessitent aucune étape d'inscription supplémentaire avant l'utilisation.

Facturation

Q : Combien coûte AWS CloudFormation ?

L'utilisation d'AWS CloudFormation avec des fournisseurs de ressources dans les espaces de noms suivants est gratuite : AWS::*, Alexa::* et Custom::*. Dans ce cas, vous payez pour les ressources AWS (telles que les instances Amazon EC2, les équilibreurs de charge Elastic Load Balancing, etc.) créées à l'aide d'AWS CloudFormation exactement de la même manière que si vous les aviez créées manuellement. Vous payez uniquement ce que vous utilisez et en fonction de votre consommation ; il n'y a pas de frais minimum et aucun engagement initial n'est requis.

Lorsque vous utilisez des fournisseurs de ressources avec AWS CloudFormation en dehors des espaces de noms mentionnés ci-dessus, vous payez des frais par opération de gestionnaire. Les opérations de gestionnaire consistent à créer, mettre à jour, supprimer, lire ou répertorier des actions sur une ressource. Pour en savoir plus, reportez-vous à notre page Tarification.

Q : Serai-je facturé pour les ressources restaurées si la création de pile échoue ?

Oui. Les frais pour les ressources AWS créées pendant l'instanciation d'un modèle s'appliquent, que la pile ait pu être créée dans son ensemble ou on.

Limites et restrictions

Q : Le nombre de modèles ou de piles est-il limité ?

Il n'existe pas de limites quant au nombre de modèles. Chaque compte AWS CloudFormation est limité à un maximum de 200 piles. Pour demander une augmentation de limite, remplissez le formulaire disponible ici. Nous vous répondrons dans les deux jours ouvrables.

Q : La taille des champs de description est-elle limitée ?

Les champs de description Template (Modèle), Parameter (Paramètre), Output (Sortie) et Resource (Ressource) sont limités à 4 096 caractères.

Q : Le nombre de paramètres ou de sorties dans un modèle est-il limité ?

Vous pouvez inclure jusqu'à 60 paramètres et 60 sorties dans un modèle.

Q : Le nombre de ressources pouvant être créées dans une pile est-il limité ?

Actuellement, vous pouvez créer jusqu'à 200 ressources par pile. La création de modèles et de piles de plus petite taille, ainsi que la modularisation de votre application sur plusieurs piles sont de bonnes pratiques pour réduire le rayon d'impact de vos modifications apportées aux ressources, et pour résoudre plus rapidement les problèmes liés aux dépendances de ressources multiples, puisque les groupes de ressources de plus petite taille auront des dépendances moins complexes que les groupes de plus grande taille.

Régions et points de terminaison

Q : Quels sont les points d'accès au service AWS CloudFormation dans chaque région ?

Les points de terminaison de chaque région sont disponibles dans la section Points de terminaison AWS CloudFormation dans la documentation technique.

Q : Dans quelles régions AWS le service AWS CloudFormation est-il disponible ?

Pour plus d'informations sur la disponibilité de CloudFormation par région, reportez-vous à la section Produits et services régionaux.

En savoir plus sur la tarification d'AWS CloudFormation

Visiter la page de tarification AWS CloudFormation
Prêt à créer ?
Démarrer avec AWS CloudFormation
D'autres questions ?
Nous contacter