Remplacer les attributs par des attributs personnalisés JSON - AWS OpsWorks

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.

Remplacer les attributs par des attributs personnalisés JSON

Important

Le AWS OpsWorks Stacks le service a pris fin 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 le AWS Support L'équipe sur AWS Re:post ou via AWS Support haut de gamme.

Note

Parce que AWS OpsWorks Stacks gère les exécutions de Chef différemment pour les piles Windows et pour les piles Linux. Vous ne pouvez pas utiliser les techniques décrites dans cette section pour les piles Windows.

Le moyen le plus simple de remplacer un AWS OpsWorks L'attribut Stacks consiste à le définir de manière personnaliséeJSON, ce qui a priorité sur les attributs de configuration et de déploiement de la pile, ainsi que sur les attributs du livre de recettes default intégrés et personnalisés. Pour de plus amples informations, veuillez consulter Priorité des attributs.

Important

Vous devez remplacer les attributs de configuration et de déploiement de la pile avec soin. Par exemple, le remplacement des attributs dans l'espace de noms opsworks peut interférer avec les recettes intégrées. Pour de plus amples informations, veuillez consulter Attributs de déploiement et de configuration de pile.

Vous pouvez également utiliser le mode personnalisé JSON pour définir des attributs uniques, généralement pour transmettre des données à vos recettes personnalisées. Les attributs sont simplement intégrés à l'objet de nœud et les recettes peuvent les référence à l'aide de la syntaxe de nœud standard de Chef.

Comment spécifier une option personnalisée JSON

Pour utiliser l'option custom JSON pour remplacer la valeur d'un attribut, vous devez d'abord déterminer le nom complet de l'attribut. Vous créez ensuite un JSON objet contenant les attributs que vous souhaitez remplacer, définis selon vos valeurs préférées. Pour plus de commodité, les documents Attributs de déploiement et de configuration de pile : Linux et Attributs des livres de recettes intégrés utilisent généralement les attributs de configuration de la pile, de déploiement et de livres de recettes intégrés, avec leurs noms pleinement qualifiés.

Les relations parent-enfant de l'objet doivent correspondre aux nœuds pleinement qualifiés appropriés de Chef. Par exemple, supposons que vous souhaitiez modifier les attributs suivants d'Apache :

  • L'attribut keepalivetimeout, dont le nœud est node[:apache][:keepalivetimeout] et a une valeur par défaut de 3.

  • L'attribut logrotate schedule, dont le nœud est node[:apache][:logrotate][:schedule] et a une valeur par défaut de "daily".

Pour remplacer les attributs et définir les valeurs sur 5 et"weekly", respectivement, vous devez utiliser la personnalisation JSON suivante :

{ "apache" : { "keepalivetimeout" : 5, "logrotate" : { "schedule" : "weekly" } } }

Quand spécifier une option personnalisée JSON

Vous pouvez définir une JSON structure personnalisée pour les tâches suivantes :

Pour chaque tâche, AWS OpsWorks Stacks fusionne les JSON attributs personnalisés avec les attributs de configuration et de déploiement de la pile et les envoie aux instances pour qu'elles soient fusionnées dans l'objet du nœud. Toutefois, notez les points suivants :

  • Si vous spécifiez une option personnalisée JSON lorsque vous créez, clonez ou mettez à jour une pile, les attributs sont fusionnés dans la configuration de la pile et les attributs de déploiement pour tous les événements du cycle de vie et les commandes de pile ultérieurs.

  • Si vous spécifiez la personnalisation JSON pour un déploiement, les attributs sont fusionnés dans la configuration de la pile et les attributs de déploiement uniquement pour l'événement correspondant.

    Si vous souhaitez utiliser ces attributs personnalisés pour les déploiements suivants, vous devez à JSON nouveau les spécifier explicitement.

Il est important de se souvenir que les attributs affectent uniquement l'instance lorsqu'ils sont utilisés par des recettes. Si vous remplacez une valeur d'attribut, mais qu'aucune recette ultérieure ne fait référence à l'attribut, la modification n'a aucun effet. Vous devez soit vous assurer que la personnalisation JSON est envoyée avant l'exécution des recettes associées, soit vous assurer que les recettes appropriées sont réexécutées.

Bonnes JSON pratiques personnalisées

Vous pouvez utiliser la personnalisation JSON pour remplacer n'importe quel AWS OpsWorks Attribut Stacks, mais la saisie manuelle des informations est quelque peu fastidieuse et ne fait l'objet d'aucun contrôle de source. JSONIl est préférable d'utiliser Custom aux fins suivantes :

  • Lorsque vous voulez remplacer uniquement un petit nombre d'attributs et vous n'avez pas besoin d'utiliser les livres personnalisés dans d'autres buts.

    Grâce à la personnalisationJSON, vous pouvez éviter les frais liés à la configuration et à la maintenance d'un référentiel de livres de recettes simplement pour remplacer quelques attributs.

  • Valeurs sensibles, telles que les mots de passe ou les clés d'authentification.

    Les attributs des livres de recettes sont stockés dans un référentiel, c'est pourquoi les informations sensibles risquent d'être compromises. Définissez plutôt les attributs avec des valeurs fictives et utilisez le paramètre personnalisé JSON pour définir les valeurs réelles.

  • Valeurs qui sont censées varier.

    Par exemple, une pratique recommandée consiste à avoir votre pile de production prise en charge par des piles de développement et intermédiaires distinctes. Supposons que ces piles prennent en charge une application qui accepte les paiements. Si vous utilisez le mode personnalisé JSON pour spécifier le point de terminaison de paiement, vous pouvez spécifier un test URL pour votre stack de prélèvements. Lorsque vous êtes prêt à migrer une pile mise à jour vers votre pile de production, vous pouvez utiliser les mêmes livres de recettes et utiliser le mode personnalisé JSON pour configurer le point de terminaison de paiement pour la productionURL.

  • Les valeurs qui sont propres à une commande spécifique de pile ou de déploiement.