Comment démarrer avec AWS CloudFormation ?

Comment Demarrer Avec Aws Cloudformation



La création et le déploiement d'applications sur AWS nécessitent l'intervention de plusieurs services différents. Comme AWS supporte des frais, la création des ressources, puis leur suppression par la suite, est une autre tâche fastidieuse à accomplir. Souvent, un service utilise plusieurs autres services sous-jacents qu’un utilisateur n’a pas nettoyés. Ces ressources restent à l'état d'exécution qui entraîne des frais. De plus, à mesure que l’application continue de croître, le besoin de ressources supplémentaires augmente également. L'ajout de nouvelles ressources au module existant peut entraîner l'effondrement de l'ensemble de l'application.

Par conséquent, AWS a introduit 'AWS CloudFormation' ce qui facilite le déploiement et la modification des applications par les utilisateurs. Avec AWS CloudFormation, les utilisateurs peuvent créer et déployer des applications en spécifiant les ressources dans le modèle et le code. Nettoyer ces ressources une fois la tâche terminée ne nécessite que quelques clics. AWS CloudFormation est une solution rapide et rentable pour la gestion et la maintenance manuelles des ressources AWS.

Aperçu rapide







Cet article couvre les aspects suivants de CloudFormation :



Qu’est-ce que la formation de nuages ?

AWS CloudFormation, également connu sous le nom « L'infrastructure en tant que code » est un service qui permet de configurer et de gérer les ressources via différents fichiers texte. Ces fichiers texte sont appelés 'Modèles' . Le modèle créé et utilisé dans CloudFormation contient tous les information nécessaire sur les ressources, leur approvisionnement et leurs configurations dans le YAML et JSON formats.



Au lieu de configurer les ressources manuellement, AWS CloudFormation crée, gère et détermine les dépendances entre les ressources. Il fournit aux utilisateurs une solution rentable pour la réplication et le suivi des ressources.





Pourquoi CloudFormation devrait-il être utilisé ?

AWS CloudFormation gère la fourniture et la configuration des ressources AWS requises pour l'application. Cela permet aux utilisateurs d'utiliser leur temps en se concentrant sur la complexité du codage des applications déployées au lieu de gérer les ressources.

Avec AWS CloudFormation, les utilisateurs peuvent créer clones de leur serveur configuration à tout moment. De plus, les utilisateurs peuvent facilement gérer le changements ponctuels dans l’environnement existant de l’application. Contribuant au fait qu'AWS CloudFormation fonctionne sur les modèles, le configurations dans ces modèles peut être modifié à tout moment. Ces modifications peuvent également être testées au préalable pour déterminer leur impact sur l'application.



Comment fonctionne AWS CloudFormation ?

Le mécanisme de travail d'AWS CloudFormation commence par la création et la fourniture du modèle pour la pile. Les utilisateurs peuvent utiliser soit les modèles fournis par AWS, soit des modèles gérés sur mesure. Ces modèles sont les fichiers texte qui suivent le 'YAML' ou 'JSON' formats. Dans le modèle, l'utilisateur spécifie différentes configurations, par ex. moteur de base de données, configuration du serveur, etc.

Ce modèle est téléchargé dans le compartiment S3 dans le cadre du code. CloudFormation va aller chercher le code du Seau S3 et validera le modèle. Les ressources spécifiées dans le modèle seront créées de manière ordonnée par CloudFormation.

Quels sont les concepts clés d'AWS CloudFormation ?

AWS CloudFormation comprend deux composants clés, à savoir le modèle et la pile :

Modèle

Les modèles sont les fichiers formatés JSON ou YAML qui définissent l'infrastructure de l'application. Les utilisateurs peuvent créer, mettre à jour ou afficher des modèles dans le concepteur CloudFormation qui intègre des graphiques riches. Le modèle se compose des objets suivants :

  • Version: Ceci spécifie et détermine les capacités d'un modèle en fonction des versions du modèle.
  • Description: Il comprend des commentaires sur les modèles tels que le but ou les raisons de la création du modèle, etc.
  • Métadonnées : Les métadonnées incluent la configuration détaillée du modèle.
  • Paramètres: Le « paramètre » est la section facultative qui est utilisée chaque fois qu'une pile est créée ou mise à jour. La section des paramètres est utilisée pour personnaliser le modèle en utilisant les valeurs d'entrée personnalisées.
  • Cartographies : Il est utilisé pour faire correspondre les paires clé-valeur. La clé correspond aux valeurs correspondantes fournies.
  • Conditions: Cette section est utilisée pour spécifier les instructions qui sont remplies lors de la création d'une pile.
  • Ressources: Il s'agit d'une section obligatoire utilisée pour déclarer les ressources AWS pour la pile.
  • Sortir: Cette section traite des sorties qui seront affichées sur la console CloudFormation.

Empiler

Les piles sont appelées une collection de ressources déclarées dans le modèle de CloudFormation. Une pile contient toutes les ressources nécessaires au déploiement d'une application. En utilisant ces piles dans les modèles, les ressources peuvent être créées et manipulées de manière prévisible et ordonnée. Trois types différents de pile sont proposés et répondent à des objectifs différents :

  • Piles imbriquées : Ils sont utilisés pour former une hiérarchie des piles en définissant une pile au sein d’une autre pile.
  • Piles Windows : Ces piles sont utilisées pour mettre à jour et configurer les piles dans les instances Windows. Les utilisateurs peuvent créer des piles Windows pour EC2 Microsoft AMI.
  • Ensembles de piles : Les ensembles de piles permettent aux utilisateurs de créer plusieurs piles à partir d'un seul modèle. Ces ensembles de piles sont accessibles globalement.

Remarque : modifier les ensembles

Comme indiqué précédemment, les modèles peuvent être modifiés. Pour modifier une instance en cours d'exécution, les utilisateurs peuvent générer un ensemble de modifications. Cet ensemble de modifications est un résumé des modifications proposées. Les ensembles de modifications permettent aux utilisateurs de déterminer l'impact possible des modifications sur l'application en cours d'exécution avant de les mettre en œuvre dans la pratique. Cette pratique est considérée comme sécurisée, notamment pour les ressources critiques.

Comment démarrer avec AWS CloudFormation ?

Pour démarrer avec AWS CloudFormation, suivez attentivement les étapes mentionnées ci-dessous :

Étape 1 : Console de gestion AWS

Cherche le « Formation Cloud » service depuis la barre de recherche d'AWS Management Console après vous être connecté à votre compte. Cliquez sur le nom du service dans les résultats affichés :

Étape 2 : Créer une pile

Appuyez sur le 'Créer une pile' bouton de la console AWS CloudFormation :

Étape 3 : préparer le modèle

Sur l'interface suivante, trois options sont affichées sous le « Préparer le modèle » section:

  • Le modèle est prêt : L'utilisateur peut sélectionner l'URL du compartiment S3 où le modèle personnalisé est téléchargé.
  • Utilisez un exemple de modèle : Ces modèles sont fournis par AWS.
  • Créer un modèle dans Designer : Les utilisateurs peuvent également créer leurs modèles à l'aide de l'outil CloudFormation Designer.

Pour cette démo, sélectionnez le « Utilisez un exemple de modèle » option:

Étape 4 : Sélectionnez un modèle

Dans le « Sélectionnez un exemple de modèle » section, choisissez un 'LAMPE' (Linux, Apache, MySQL, PHP) qui entre dans la catégorie des 'Simple' modèles dans la liste déroulante :

Pour afficher le modèle dans CloudFormation Designer, cliquez sur le bouton 'Afficher dans Designer' bouton:

Cela ouvrira le modèle dans la vue Designer. Les utilisateurs peuvent choisir la langue du modèle, zoomer ou dézoomer sur le modèle, choisir le type de ressource, etc.

Étape 5 : Appuyez sur le bouton « Suivant »

Revenez à la console initiale de CloudFormation. Clique le 'Suivant' bouton situé en bas de l'interface :

Étape 6 : Détails de configuration

Fournissez le nom de la pile dans le 'Nom de la pile' champ de texte:

Vient ensuite le 'Paramètres' section. Le 'NomDB' est fourni comme défaut par AWS. Cependant, l'utilisateur peut également spécifier un nom personnalisé pour sa base de données. Fournissez le mot de passe dans le « Mot de passe DB » et « Mot de passe DBroot » champs de texte. De même, indiquez un nom d'utilisateur dans le champ « Utilisateur DB » champ de texte:

Sélectionnez le type d'instance dans la liste déroulante du champ de texte Type d'instance. Spécifiez un nom de paire de clés dans le 'NomClé' . Les utilisateurs peuvent également sélectionner n'importe quel Clé existante pour l'instance EC2. Après cette configuration, appuyez sur le 'Suivant' bouton pour continuer :

Étape 7 : configuration des options de pile

Depuis l'interface affichée, l'utilisateur peut sélectionner un rôle IAM personnalisé pour la configuration de CloudFormation. Il s'agit d'un champ facultatif et peut également fonctionner par défaut. Les utilisateurs peuvent également configurer la pile pour les événements d'échec :

En gardant les paramètres par défaut pour cette démo, cliquez sur le bouton 'Suivant' bouton en bas de l'interface :

Étape 8 : Vérifier les informations

Sur l'interface suivante, le configurations des piles sont affichés à l'utilisateur pour examen :

Après avoir soigneusement examiné les informations de la pile, faites défiler vers le bas de l'interface et cliquez sur le bouton 'Soumettre' bouton pour créer la pile :

Étape 9 : Progrès

Sur l'interface suivante, le progrès de la pile est affiché . La configuration et la création de la pile prendront un certain temps :

Appuyez sur le 'Événement' L'onglet et les informations relatives à la pile seront affichées. Ici, CloudFormation crée actuellement différentes instances de serveur Web et groupes de sécurité pour l'instance EC2. Tout type d'erreurs survenant lors de la création de la pile apparaîtra également ici :

La pile a été créée avec succès :

Appuyez sur le 'Ressources' pour afficher les ressources créées par CloudFormation. Ici, dans l'onglet Ressources, les informations sur l'instance de serveur Web et le groupe de sécurité de l'instance EC2 sont affichées :

Pour afficher la sortie de CloudFormation, appuyez sur le bouton URL prévu dans le cadre du 'Valeur' section après avoir cliqué sur le 'Sortir' languette:

Voici le résultat de la pile que nous avons créée à l'aide du modèle LAMP :

L'utilisateur peut également vérifier si l'instance EC2 configurée pour cette pile est créée en visitant le 'EC2' console. À partir du tableau de bord EC2, une instance EC2 a été créée comme spécifié dans le modèle :

C'est tout de cette section.

Astuce bonus : comment supprimer une pile dans CloudFormation ?

Au lieu de supprimer manuellement toutes les ressources, l'utilisateur peut simplement supprimer la pile et toutes les ressources finiront par être nettoyées. À cette fin, accédez au tableau de bord CloudFormation et cliquez sur le bouton 'Supprimer' bouton:

Dans la boîte de dialogue affichée, cliquez sur le 'Supprimer' bouton:

Le statut de la Stack est désormais changé en « DELETE_IN_PROGRESS” :

Ici, la pile a été supprimée avec succès :

L'instance EC2 a été supprimé avec succès aussi :

C'est tout de ce guide.

Quels sont les avantages de l'utilisation d'AWS CloudFormation ?

Voici les avantages de l'utilisation d'AWS CloudFormation :

  • Adaptable aux changements de configuration.
  • Coût optimal
  • Élimine la gestion manuelle des ressources.
  • Supprime toutes les ressources à la fois.
  • Fournit un accès entre comptes et entre régions.

Quel est le prix d'AWS CloudFormation

AWS CloudFormation n'encourt aucun frais pour l'utilisation de ce service. Cependant, l'utilisateur n'est facturé que pour les ressources spécifiées dans le modèle de la pile. Les utilisateurs ne paient que pour les ressources utilisées, par ex. si les ressources spécifiées incluent un Load Balancer, le tableau de bord de facturation inclura les frais mensuels facturés pour le Load Balancer. Vous pouvez en savoir plus sur les tarifs AWS CloudFormation via le Documentation AWS.

Conclusion

Pour démarrer avec AWS CloudFormation, accédez au service depuis la console AWS, spécifiez le modèle, fournissez les détails, puis cliquez sur le bouton 'Soumettre' bouton. Après avoir cliqué sur le bouton Soumettre, CloudFormation commencera à créer les piles et les ressources spécifiées. Pour afficher la sortie, cliquez sur l'URL fournie par CloudFormation dans l'onglet Sortie. Cet article présente des informations sur CloudFormation ainsi que sa démonstration pratique.