Transfert des paramètres de pile des attributs aux conteneurs de données - 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.

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 ou via le AWS Support Premium.

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 Chef et via l'objet node 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 et sont accessibles uniquement par le biais de la recherche Chef. Les sacs de données sont stockés sur les instances de AWS OpsWorks Stacks dans un ensemble de fichiers JSON du /var/chef/runs/run-ID/data_bags répertoire, où Run-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 queaws_opsworks_app, au lieu d'utiliser des noms d'attributs AWS OpsWorks Stacks tels que opsworks et. deploy

Pour plus d’informations, consultez le AWS OpsWorks Référence du sac de données Stacks.