Présentation
Dans cet atelier, vous découvrirez comment utiliser AWS CloudFormation pour mettre en service et mettre à jour une application web avec un certain nombre de produits et services de support AWS, notamment les groupes Auto Scaling, les instances Amazon Elastic Compute Cloud (EC2) et Elastic Load Balancing.
Dans la première partie, vous créez une ressource simple, un compartiment Amazon S3, à l’aide d’AWS CloudFormation et passez en revue les différentes politiques de rétention appliquées lorsque vous supprimez une pile AWS CloudFormation ou lors d’une restauration.
Dans la deuxième partie, vous mettez en service une application web PHP simple à l’aide d’une instance Amazon Linux. Vous découvrez ensuite comment réappliquer un modèle AWS CloudFormation à l’application existante pour modifier certains attributs de ressources, tels qu’un type d’instance Amazon EC2. Enfin, vous ajoutez un équilibreur de charge et un groupe Auto Scaling en fonction d’une configuration Auto Scaling.
Rubriques abordées
À la fin de cet atelier, vous serez en mesure de :
- créer un compartiment Amazon Simple Storage Service (S3) à l’aide d’AWS CloudFormation ;
- mettre en service une application web PHP simple à l’aide d’une AMI Amazon Linux ;
- appliquer un modèle AWS CloudFormation à une application existante ;
- modifier une application existante à l’aide d’AWS CloudFormation ;
- ajouter des rôles IAM et Elastic Load Balancing à l’application à l’aide d’AWS CloudFormation.
Connaissances techniques préalables
Pour réussir cet atelier, vous devez être en mesure de modifier des scripts dans un éditeur de texte.
Autres services AWS
La politique IAM attribuée à votre utilisateur d’atelier interdit l’utilisation de services AWS qui ne sont pas inclus dans cet atelier. Dans certains cas, les limites s’étendent volontairement au-delà de cette restriction, si la conception de l’atelier le nécessite. Des erreurs surviendront en cas d’actions ou d’accès à des services autres que ceux qui sont nécessaires dans ce guide de l’atelier.
AWS CloudFormation offre aux développeurs et aux administrateurs de systèmes un moyen facile de créer et de gérer une collection de ressources AWS associées, de les mettre en service et de les mettre à jour de manière ordonnée et prévisible.
Vous pouvez utiliser des exemples de modèles AWS CloudFormation ou créer vos propres modèles pour décrire les ressources AWS, ainsi que les dépendances ou paramètres d’exécution associés, nécessaires à l’exécution de votre application. Vous n’avez pas besoin de déterminer l’ordre dans lequel les services AWS doivent être mis en service ni de connaître les subtilités du fonctionnement des dépendances. AWS CloudFormation s’en occupe pour vous. Une fois les ressources AWS déployées, vous pouvez les modifier et les mettre à jour de façon contrôlée et prévisible, ce qui permet d’assurer un contrôle de version de votre infrastructure AWS de la même manière qu’avec vos logiciels.
Vous pouvez déployer et mettre à jour un modèle et la collection de ressources qui y est associée (appelée une pile) grâce à la console de gestion AWS, à l’AWS Command Line Interface ou aux API. AWS CloudFormation est disponible sans frais supplémentaires ; vous payez uniquement les ressources AWS nécessaires à l’exécution de vos applications.
Un modèle AWS CloudFormation est une déclaration des ressources AWS qui constituent une pile. Le modèle est stocké sous forme de fichier texte au format JSON (JavaScript Object Notation) ou YAML. Étant donné qu’il s’agit simplement de fichiers textes, vous pouvez les créer et les modifier dans n’importe quel éditeur de texte et les gérer dans votre système de contrôle source avec le reste de votre code source.
Dans le modèle de cet atelier, vous utilisez la structure YAML qu’AWS CloudFormation peut interpréter pour déclarer les ressources AWS que vous souhaitez créer et configurer. Au format YAML, un objet est déclaré sous forme de paire nom-valeur ou de couplage d’un nom. Dans un modèle AWS CloudFormation, vous pouvez déclarer les six objets de niveau supérieur suivants :
- AWSTemplateFormatVersion
- Description
- Paramètres
- Mappages
- Ressources
- Sorties
Le seul objet de niveau supérieur requis est l’objet Resources (Ressources), qui doit déclarer au moins une ressource. Cet atelier commence avec le modèle le plus élémentaire contenant uniquement un objet Resources (Ressources), qui contient une déclaration de ressources unique.
Les définitions de chacun de ces objets sont disponibles dans la documentation Anatomie de modèle en ligne.
Signification des icônes
Cet atelier utilise de nombreuses icônes différentes pour attirer l’attention sur différents types d’instructions et de remarques. La liste suivante explique la raison d’être de chaque icône :
- Sortie attendue : un exemple de sortie que vous pouvez utiliser pour vérifier la sortie d’une commande ou d’un fichier modifié.
- Remarque : un indice, une directive ou un conseil important.
- Informations complémentaires : indique où trouver plus d’informations.
- Envisagez ceci : un moment de pause pour réfléchir à la façon dont vous pourriez appliquer un concept dans votre propre environnement ou pour entamer une conversation sur le sujet en question.
- Copier/coller : un bloc de code affichant le contenu d’un script ou d’un fichier que vous devez copier et coller et qui a été précréé pour vous. Lorsque vous devez copier seulement une certaine partie d’un bloc de code, des commentaires TODO numérotés apparaissent dans le code.