Attributs - 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.

Attributs

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.

Les recettes et les modèles dépendent de différents valeurs, telles que les paramètres de configuration. Plutôt que de coder ces valeurs en dur directement dans les recettes ou les modèles, vous pouvez créer un fichier attribut avec un attribut représentant chaque valeur. Vous utilisez ensuite les attributs dans vos recettes ou modèles, au lieu des valeurs explicites. L'avantage de l'utilisation des attributs est que vous pouvez remplacer leurs valeurs sans toucher le livre de recettes. Pour cette raison, vous devez toujours utiliser des attributs pour définir les types de valeurs suivants :

  • Valeurs susceptibles de varier de pile en pile ou avec le temps, comme les noms d'utilisateur.

    Si vous codez ces valeurs en dur, vous devez modifier le modèle ou la recette chaque fois que vous avez besoin de changer une valeur. En utilisant des attributs pour définir ces valeurs, vous pouvez utiliser les mêmes livres de recettes pour chaque pile et juste remplacer les attributs appropriés.

  • Valeurs sensibles, telles que mots de passe ou clés secrètes.

    Le placement de valeurs sensibles explicites dans votre livre de recettes peut accroître le risque d'exposition. Au lieu de cela, définissez les attributs avec des valeurs fictives et remplacez-les pour définir les valeurs réelles. La meilleure façon de remplacer ces attributs est de les personnaliserJSON. Pour de plus amples informations, veuillez consulter Utilisation de Custom JSON.

Pour plus d'informations sur les attributs et leur remplacement, consultez Remplacement des attributs.

L'exemple suivant constitue une partie d'un exemple de fichier attribut.

... default["apache"]["listen_ports"] = [ '80','443' ] default["apache"]["contact"] = 'ops@example.com' default["apache"]["timeout"] = 120 default["apache"]["keepalive"] = 'Off' default["apache"]["keepaliverequests"] = 100 default["apache"]["keepalivetimeout"] = 3 default["apache"]["prefork"]["startservers"] = 16 default["apache"]["prefork"]["minspareservers"] = 16 default["apache"]["prefork"]["maxspareservers"] = 32 default["apache"]["prefork"]["serverlimit"] = 400 default["apache"]["prefork"]["maxclients"] = 400 default["apache"]["prefork"]["maxrequestsperchild"] = 10000 ...

AWS OpsWorks Stacks définit les attributs en utilisant la syntaxe suivante :

node.type["attribute"]["subattribute"]["..."]=value

Vous pouvez utiliser également le signe deux-points (:), comme suit :

node.type[:attribute][:subattribute][:...]=value

Une définition d'attribut comprend les éléments suivants :

node.

Le préfixe node. est facultatif et généralement omis, comme illustré dans l'exemple.

type

Le type détermine si l'attribut peut être remplacé. AWS OpsWorks Les attributs Stacks utilisent généralement l'un des types suivants :

  • default est le type le plus couramment utilisé, car il permet que l'attribut soit remplacé.

  • normaldéfinit un attribut qui remplace l'un des standards AWS OpsWorks Empile les valeurs des attributs.

Note

Chef prend en charge des types supplémentaires, qui ne sont pas nécessaires pour AWS OpsWorks C'est cumulable, mais cela peut être utile pour votre projet. Pour plus d'informations, consultez À propos des attributs.

attribute name

Le nom d'attribut utilise la syntaxe de nœud Chef standard, [:attribute][:subattribute][...]. Vous pouvez utiliser n'importe quel nom de votre choix pour vos attributs. Cependant, comme expliqué dans Remplacement des attributs, les attributs de livres de recettes personnalisés sont fusionnés dans l'objet de nœud de l'instance, ainsi que les attributs de configuration et de déploiement de la pile, et l'outil Ohai de Chef. Les noms de configuration généralement utilisés comme port ou utilisateur peuvent apparaître dans un grand nombre de livres de recettes.

Pour éviter les conflits de nom, la convention consiste à créer des noms d'attribut qualifiés avec au moins deux éléments, comme illustré dans l'exemple. Le premier élément doit être unique et est généralement basé sur un nom de produit, comme Apache. Il est suivi d'un ou de plusieurs sous-attributs qui identifient la valeur particulière, comme [:user] ou [:port]. Vous pouvez utiliser autant de sous-attributs qu'approprié pour votre projet.

value

Un attribut peut être défini avec les types de valeurs suivants :

  • Une chaîne, telle que default[:apache][:keepalive] = 'Off'.

  • Un nombre (sans guillemets), tel que default[:apache][:timeout] = 120.

  • Une valeur booléenne, qui peut être true ou false (sans guillemets).

  • Une liste de valeurs, telle que default[:apache][:listen_ports] = [ '80','443' ]

Comme le fichier attribut est une application Ruby, vous pouvez également utiliser les opérateurs logiques et syntaxiques de nœud pour attribuer des valeurs basées sur d'autres attributs. Pour plus d'informations sur la façon de définir les attributs, consultez À propos des attributs. Pour des exemples de fichiers d'attributs fonctionnels, consultez le AWS OpsWorks Empile les livres de cuisine intégrés sur opsworks-cookbooks. https://github.com/aws/