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.
AWS OpsWorks Piles
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post
L'informatique basée sur le cloud implique généralement des groupes de ressources AWS, tels que EC2 des instances Amazon et des instances Amazon Relational Database Service (RDS), qui doivent être créées et gérées collectivement. Par exemple, une application web nécessite généralement des serveurs d'applications, des serveurs de base des données, des équilibreurs de charge, etc. Ce groupe d'instances est généralement appelé pile ; une simple pile de serveurs d'applications peut se présenter comme suit.

En plus de créer les instances et d'installer les packages nécessaires, vous avez généralement besoin d'un moyen de distribuer les applications aux serveurs d'applications, de surveiller les performances de la pile, de gérer les autorisations et la sécurité, et ainsi de suite.
AWS OpsWorks Stacks fournit un moyen simple et flexible de créer et de gérer des piles et des applications.
Voici à quoi peut ressembler une pile de serveurs d'applications de base avec AWS OpsWorks Stacks. Il se compose d'un groupe de serveurs d'applications exécutés derrière un équilibreur de charge Elastic Load Balancing, avec un serveur de base de données Amazon RDS principal.

Bien que relativement simple, cette pile présente toutes les fonctionnalités clés de AWS OpsWorks Stacks. Voici comment la mettre en place.
Rubriques
Piles
La pile est le composant principal de AWS OpsWorks Stacks. Il s'agit essentiellement d'un conteneur pour les ressources AWS (instances Amazon EC2 , instances de base de données Amazon RDS, etc.) qui ont un objectif commun et doivent être gérées logiquement ensemble. La pile vous permet de gérer ces ressources en tant que groupe et définit également certains paramètres de configuration par défaut, tels que le système d'exploitation et la région AWS des instances. Si vous souhaitez isoler certains composants de la pile d'une interaction directe de l'utilisateur, vous pouvez exécuter la pile dans un VPC.
Couches
Vous définissez les composants de la pile en ajoutant une ou plusieurs couches. Une couche représente un ensemble d' EC2 instances Amazon qui répondent à un objectif particulier, comme le service d'applications ou l'hébergement d'un serveur de base de données.
Vous pouvez personnaliser ou étendre les couches en modifiant les configurations par défaut des packages, en ajoutant des recettes Chef pour exécuter des tâches telles que l'installation de packages supplémentaires, et plus encore.
Pour toutes les piles, AWS OpsWorks Stacks inclut des couches de service, qui représentent les services AWS suivants.
-
Amazon Relational Database Service
-
Elastic Load Balancing
-
Amazon Elastic Container Service
Les couches vous donnent un contrôle complet sur les packages installés, sur leur configuration, sur les applications qui y sont déployées, et plus encore.
Recettes et LifeCycle événements
Les couches dépendent des recettes Chef
Chaque couche peut avoir un ensemble de recettes attribuées à chaque événement du cycle de vie et qui gèrent une grande variété de tâches pour cet événement et cette couche. Par exemple, une fois qu'une instance appartenant à une couche de serveur Web a fini de démarrer, AWS OpsWorks Stacks effectue les opérations suivantes.
-
Exécute les recettes Setup de la couche, qui peuvent exécuter des tâches telles que l'installation et la configuration d'un serveur web.
-
Exécute les recettes Deploy de la couche, qui déploient les applications de la couche depuis un référentiel vers l'instance et exécutent les tâches connexes, telles que le redémarrage du service.
-
Exécute les recettes Configure sur chaque instance de la pile de telle sorte que chaque instance puisse ajuster sa configuration en fonction des besoins pour accueillir la nouvelle instance.
Par exemple, sur une instance exécutant un équilibreur de charge, une recette Configure peut modifier la configuration de l'équilibreur de charge pour inclure la nouvelle instance.
Si une instance appartient à plusieurs couches, AWS OpsWorks Stacks exécute les recettes pour chaque couche afin que vous puissiez, par exemple, avoir une instance qui supporte un serveur d'applications PHP et un serveur de base de données MySQL.
Si vous avez implémenté des recettes, vous pouvez attribuer chaque recette à la couche et à l'événement appropriés et AWS OpsWorks Stacks les exécute automatiquement pour vous au moment opportun. Vous pouvez aussi exécuter les recettes manuellement, à tout moment.
instances
Une instance représente une ressource informatique unique, telle qu'une EC2 instance Amazon. Elle définit la configuration de base de la ressource, telle que le système d'exploitation et la taille. Les autres paramètres de configuration, tels que les adresses IP élastiques ou les volumes Amazon EBS, sont définis par les couches de l'instance. Les recettes de la couche terminent la configuration en effectuant des tâches telles que l'installation et la configuration des packages, ou le déploiement d'applications.
Vous pouvez utiliser AWS OpsWorks Stacks pour créer des instances et les ajouter à une couche. Lorsque vous démarrez l'instance, AWS OpsWorks Stacks lance une EC2 instance Amazon en utilisant les paramètres de configuration spécifiés par l'instance et sa couche. Une fois le démarrage de l' EC2 instance Amazon terminé, AWS OpsWorks Stacks installe un agent qui gère la communication entre l'instance et le service et exécute les recettes appropriées en réponse aux événements du cycle de vie.
AWS OpsWorks Stacks prend en charge les types d'instances suivants, qui se caractérisent par leur mode de démarrage et d'arrêt.
-
Les instances 24/7 sont démarrées manuellement et exécutées jusqu'à ce que vous les arrêtiez.
-
Les instances basées sur le temps sont gérées par AWS OpsWorks Stacks selon un calendrier quotidien et hebdomadaire spécifié.
Ils permettent à votre pile d'ajuster automatiquement le nombre d'instances afin d'accueillir les modèles d'utilisation prévisibles.
-
Les instances basées sur la charge sont automatiquement démarrées et arrêtées par AWS OpsWorks Stacks, en fonction de mesures de charge spécifiées, telles que l'utilisation du processeur.
Elles permettent à votre pile d'ajuster automatiquement le nombre d'instances pour accueillir les fluctuations du trafic entrant. Les instances à charge définie ne sont disponibles que pour les piles basées sur Linux.
AWS OpsWorks Stacks prend en charge l'autoréparation des instances. Si un agent arrête de communiquer avec le service, AWS OpsWorks Stacks arrête et redémarre automatiquement l'instance.
Vous pouvez également intégrer des ressources informatiques basées sur Linux dans une pile créée en dehors de Stacks. AWS OpsWorks
-
EC2 Instances Amazon que vous avez créées directement à l'aide de la EC2 console, de la CLI ou de l'API Amazon.
-
Instances locales s'exécutant sur votre propre matériel, y compris les instances s'exécutant dans les machines virtuelles.
Une fois que vous avez enregistré l'une de ces instances, elle devient une instance AWS OpsWorks Stacks et vous pouvez la gérer de la même manière que les instances que vous créez avec AWS OpsWorks Stacks.
Applications
Vous stockez les applications et les fichiers associés dans un référentiel, tel qu'un compartiment Amazon S3. Chaque application est représentée par une application, qui spécifie le type d'application et contient les informations qui sont nécessaires pour déployer l'application depuis le référentiel vers les instances, telles que l'URL du référentiel et le mot de passe. Lorsque vous déployez une application, AWS OpsWorks Stacks déclenche un événement Deploy, qui exécute les recettes de déploiement sur les instances de la pile.
Vous pouvez déployer les applications de la manière suivante :
-
Automatiquement : lorsque vous démarrez des instances, AWS OpsWorks Stacks exécute automatiquement les recettes de déploiement de l'instance.
-
Manuellement : si vous avez une nouvelle application ou si vous souhaitez mettre à jour une application existante, vous pouvez exécuter manuellement les recettes de déploiement des instances en ligne.
Vous demandez généralement à AWS OpsWorks Stacks d'exécuter les recettes de déploiement sur l'ensemble de la pile, ce qui permet aux instances des autres couches de modifier leur configuration de manière appropriée. Cependant, vous pouvez limiter le déploiement à un sous-ensemble d'instances si, par exemple, vous voulez tester une nouvelle application avant de la déployer sur chaque instance serveur d'applications.
Personnalisation de votre pile
AWS OpsWorks Stacks offre diverses façons de personnaliser les couches afin de répondre à vos besoins spécifiques:
-
Vous pouvez modifier la façon dont AWS OpsWorks Stacks configure les packages en remplaçant les attributs qui représentent les différents paramètres de configuration, ou même en remplaçant les modèles utilisés pour créer les fichiers de configuration.
-
Vous pouvez étendre une couche existante en fournissant vos propres recettes pour exécuter des tâches telles que l'exécution de scripts ou l'installation et la configuration de packages non standard.
Toutes les piles peuvent inclure une ou plusieurs couches, qui ne commencent qu'avec un ensemble minimal de recettes. Vous ajoutez des fonctionnalités à la couche en implémentant des recettes pour gérer des tâches telles que l'installation de packages, le déploiement d'applications, etc. Vous regroupez vos recettes personnalisées et les fichiers associés dans un ou plusieurs livres de recettes et vous stockez les livres de recettes dans un référentiel tel qu'Amazon S3 ou Git.
Vous pouvez exécuter des recettes manuellement, mais AWS OpsWorks Stacks vous permet également d'automatiser le processus en prenant en charge un ensemble de cinq événements du cycle de vie :
-
L'événement Configuration se produit sur une nouvelle instance après la réussite de son démarrage.
-
L'événement Configurer se produit sur toutes les instances de la pile lorsqu'une instance accède à l'état en ligne ou le quitte.
-
L'événement Déployer se produit lorsque vous déployez une application.
-
L'événement Annuler un déploiement se produit lorsque vous supprimez une application.
-
L'événement Fermeture se produit lorsque vous arrêtez une instance.
Chaque couche peut avoir un nombre quelconque de recettes assignées à chaque événement. Lorsqu'un événement du cycle de vie se produit sur l'instance d'une couche, AWS OpsWorks Stacks exécute les recettes associées. Par exemple, lorsqu'un événement Deploy se produit sur une instance de serveur d'applications, AWS OpsWorks Stacks exécute les recettes de déploiement de la couche pour télécharger l'application ou effectuer des tâches connexes.
Gestion des ressources
Vous pouvez intégrer d'autres ressources AWS, comme les adresses IP Elastic, à votre pile. Vous pouvez utiliser la console ou l'API AWS OpsWorks Stacks pour enregistrer des ressources auprès d'une pile, associer des ressources enregistrées à des instances ou les détacher de celles-ci, et déplacer des ressources d'une instance à l'autre.
Sécurité et autorisations
AWS OpsWorks Stacks s'intègre à AWS Identity and Access Management (IAM) pour fournir des moyens robustes de contrôler la manière dont les utilisateurs accèdent à AWS OpsWorks Stacks, notamment les suivants :
-
Comment les utilisateurs individuels peuvent interagir avec chaque pile, par exemple s'ils peuvent créer des ressources de pile telles que des couches et des instances, ou s'ils peuvent utiliser SSH ou RDP pour se connecter aux instances Amazon EC2 d'une pile.
-
Comment AWS OpsWorks Stacks peut agir en votre nom pour interagir avec les ressources AWS telles que les EC2 instances Amazon.
-
Comment les applications exécutées sur des instances AWS OpsWorks Stacks peuvent accéder aux ressources AWS telles que les compartiments Amazon S3.
-
Comment gérer les clés publiques SSH et les mots de passe RDP des utilisateurs, et se connecter à une instance.
Surveillance et journalisation
AWS OpsWorks Stacks propose plusieurs fonctionnalités pour vous aider à surveiller votre stack et à résoudre les problèmes liés à votre stack et à toutes les recettes. Pour toutes les piles :
-
AWS OpsWorks Stacks fournit un ensemble de CloudWatch métriques personnalisées pour les stacks Linux, qui sont résumées pour votre commodité sur la page de surveillance.
AWS OpsWorks Stacks prend en charge les CloudWatch métriques standard pour les stacks Windows. Vous pouvez les surveiller à l'aide de la CloudWatch console.
-
CloudTrail journaux, qui enregistrent les appels d'API effectués par ou pour le compte de AWS OpsWorks Stacks dans votre compte AWS.
-
Un journal des événements, qui répertorie tous les événements de votre pile.
-
Les journaux Chef qui détaillent ce qui s'est passé pour chaque événement de cycle de vie sur chaque instance, comme les recettes exécutées et les erreurs intervenues.
Les piles basées sur Linux peuvent également inclure une couche principale Ganglia, que vous pouvez utiliser pour collecter et afficher des données de surveillance détaillées pour les instances de votre pile.
CLI, SDK et modèles AWS CloudFormation
Outre la console, AWS OpsWorks Stacks prend également en charge une interface de ligne de commande (CLI) et plusieurs langues qui peuvent être utilisées SDKs pour effectuer n'importe quelle opération. Notez ces fonctionnalités :
-
La CLI AWS OpsWorks Stacks fait partie de l'AWS CLI
et peut être utilisée pour effectuer n'importe quelle opération depuis la ligne de commande. L'interface de ligne de commande AWS prend en charge plusieurs services AWS et peut être installée sur les systèmes Windows, Linux ou OS X.
-
AWS OpsWorks Stacks est inclus dans les outils AWS pour Windows PowerShell
et peut être utilisé pour effectuer n'importe quelle opération à partir d'une ligne de PowerShell commande Windows. -
Le SDK AWS OpsWorks Stacks est inclus dans l'AWS SDKs, qui peut être utilisé par des applications implémentées dans : Java JavaScript
(basé sur un navigateur et Node.js), .NET , PHP, Python (boto ) ou Ruby.
Vous pouvez également utiliser des AWS CloudFormation modèles pour approvisionner des piles. Pour quelques exemples, consultez AWS OpsWorks Snippets.