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.
Étape 3 : Créer et déployer un livre de recettes personnalisé
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
La pile n'est pas encore tout à fait prête :
-
Votre application a besoin de certaines informations pour accéder au serveur de base de données MySQL et au compartiment Amazon S3, telles que le nom d'hôte de la base de données et le nom du compartiment Amazon S3.
-
Vous devez configurer une base de données dans le serveur de base de données MySQL et créer une table pour contenir les métadonnées des photos.
Vous pouvez gérer ces tâches manuellement, mais une meilleure approche consiste à implémenter la recette Chef et à laisser AWS OpsWorks Stacks exécuter la recette automatiquement sur les instances appropriées. Les recettes Chef sont des applications Ruby spécialisées que AWS OpsWorks Stacks utilise pour effectuer des tâches sur des instances telles que l'installation de packages ou la création de fichiers de configuration. Elles sont rassemblées dans un livre de recettes, qui peut contenir plusieurs recettes et fichiers apparentés, tels que les modèles des fichiers de configuration. Le livre de recettes est placé dans un référentiel tel que GitHub, et doit avoir une structure de répertoire standard. Si vous n'avez pas encore un référentiel de livres de recettes personnalisé, consultez Référentiels de livres de recettes pour plus d'informations sur la façon d'en configurer un.
Dans cet exemple, le livre de recettes a été implémenté pour vous et est stocké dans un GitHub référentiel publicappsetup.rb
et dbsetup.rb
, et un fichier modèle, db-connect.php.erb
.
La appsetup.rb
recette crée un fichier de configuration qui contient les informations dont l'application a besoin pour accéder à la base de données et au compartiment Amazon S3. Il s'agit essentiellement d'une version légèrement modifiée de la recette appsetup.rb
décrite dans Connecter l'application à la base de données. La différence principale est que les variables sont transmises au modèle, lesquelles représentent les informations d'accès.
Les quatre premiers attributs définissent les paramètres de connexion à la base de données et sont automatiquement définis par AWS OpsWorks Stacks lorsque vous créez l'instance MySQL.
Il existe deux différences entre ces variables et celles de la recette originale :
-
Comme la recette originale, la variable
table
représente le nom de la table de base de données qui est créée pardbsetup.rb
et elle est définie sur la valeur d'un attribut lui-même défini dans le fichier des attributs du livre de recettes.Cependant, l'attribut a un autre nom :
[:photoapp][:dbtable]
. -
La
s3bucket
variable est spécifique à cet exemple et est définie sur la valeur d'un attribut qui représente le nom du compartiment Amazon S3,[:photobucket]
.[:photobucket]
est défini en utilisant JSON personnalisé, comme décrit plus tard. Pour plus d'informations sur les attributs, consultez Attributs.
Pour plus d'informations sur les attributs, consultez Attributs.
La recette dbsetup.rb
installe une table de base de données pour contenir les métadonnées de chaque photo. Il s'agit d'une version légèrement modifiée de la recette dbsetup.rb
décrite dans Configurer la base de données ; consultez la rubrique pour une description détaillée.
La seule différence entre cet exemple et la recette originale réside dans le schéma de base de données, qui comporte trois colonnes contenant l'identifiant, l'URL et la légende de chaque photo stockée dans le compartiment Amazon S3.
Les recettes étant déjà implémentées, il vous suffit de déployer le livre de recettes photoapp dans le cache du livre de recettes de chaque instance. AWS OpsWorks Stacks exécute ensuite les recettes mises en cache lorsque l'événement de cycle de vie approprié se produit, comme décrit plus loin.
Pour déployer le livre de recettes photoapp
-
Sur la page AWS OpsWorks Stacks Stack, choisissez Stack Settings, puis sélectionnez Modifier.
-
Dans la section Gestion de la configuration :
-
Définissez Utiliser les livres de recettes Chef personnalisés sur Oui.
-
Définissez Type de référentiel sur Git.
-
Définissez URL du référentiel sur
git://github.com/amazonwebservices/opsworks-example-cookbooks.git
.
-
-
Sur la page Pile, choisissez Exécuter la commande, sélectionnez la commande de pile Mettre à jour les livres de recettes personnalisés, puis choisissez Mettre à jour les livres de recettes personnalisés pour installer le nouveau livre de recettes dans les caches de livre de recettes de l'instance.