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.
Transfert des paramètres de pile des attributs aux conteneurs de données
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
AWS OpsWorks Stacks propose une grande variété de paramètres de stack pour vos recettes Chef. Ces paramètres de la pile incluent différentes valeurs :
-
URL source des livres de recettes de la pile
-
Configurations des volumes de couche
-
Noms d'hôte d'instance
-
Noms DNS d'Elastic Load Balancing
-
URL source des applications
-
Noms utilisateur
La référence des paramètres de pile depuis les recettes rend le code plus robuste et moins enclin aux erreurs que le codage en dur des paramètres de pile directement dans les recettes. La rubrique décrit comment accéder à ces paramètres de pile et comment passer des attributs de Chef 11.10 et versions antérieures pour Linux aux conteneurs de données dans Chef 12 Linux.
Dans Chef 11.10 et versions antérieures pour Linux, les paramètres de pile sont accessibles en tant qu'attributs Chefnode
de Chef ou la recherche Chef. Ces attributs sont stockés sur les instances AWS OpsWorks Stacks dans un ensemble de fichiers JSON du /var/lib/aws/opsworks/chef
répertoire. Pour plus d’informations, consultez Attributs de déploiement et de configuration de pile : Linux.
Dans Chef 12 Linux, les paramètres de pile sont accessibles en tant que conteneurs de données Chef/var/chef/runs/
répertoire, où run-ID
/data_bagsRun-ID
est un identifiant unique que AWS OpsWorks Stacks attribue à chaque exécution de Chef sur une instance. Les paramètres de pile n'étant plus accessibles en tant qu'attributs Chef, les paramètres de pile ne sont plus accessibles via l'objet node
de Chef. Pour plus d’informations, consultez le AWS OpsWorks Référence du sac de données Stacks.
Par exemple, dans Chef 11.10 et versions antérieures de Linux, le code suivant de la recette utilise l'objet node
de Chef pour obtenir les attributs représentant le nom court et l'URL source d'une application. Il utilise ensuite le journal Chef pour écrire ces deux valeurs d'attribut :
Chef::Log.info ("********** The app's short name is '#{node['opsworks']['applications'].first['slug_name']}' **********") Chef::Log.info("********** The app's URL is '#{node['deploy']['simplephpapp']['scm']['repository']}' **********")
Dans Chef 12 Linux, le code suivant de la recette utilise l'index de recherche aws_opsworks_app
pour obtenir le contenu du premier élément du conteneur de données aws_opsworks_app
. Le code écrit ensuite deux messages dans le message Chef, l'un avec le contenu du conteneur de données du nom court de l'application, et l'autre avec le contenu du conteneur de données de l'URL source de l'application :
app = search("aws_opsworks_app").first Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********") Chef::Log.info("********** The app's URL is '#{app['app_source']['url']}' **********")
Pour migrer votre code de recette qui accède aux paramètres de pile depuis Chef 11.10 et versions antérieures pour Linux jusqu'à Chef 12 Linux, vous devez modifier votre code pour :
-
Accéder aux conteneurs de données Chef au lieu des attributs Chef.
-
Utiliser la recherche Chef au lieu de l'objet
node
de Chef. -
Utilisez des noms de sacs de données AWS OpsWorks Stacks tels que
aws_opsworks_app
, au lieu d'utiliser des noms d'attributs AWS OpsWorks Stacks tels queopsworks
et.deploy
Pour plus d’informations, consultez le AWS OpsWorks Référence du sac de données Stacks.