Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Utilisation de Custom 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.

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.

Utilisation de Custom JSON

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.

Plusieurs actions AWS OpsWorks Stacks vous permettent de définir les options personnalisées JSON que AWS OpsWorks Stacks installe sur les instances et qui peut être utilisée par des recettes.

Vous pouvez définir une option personnalisée JSON dans les situations suivantes :

  • Lorsque vous créez, mettez à jour ou clonez une pile.

    AWS OpsWorks Stacks installe la personnalisation JSON sur toutes les instances pour tous les événements du cycle de vie ultérieurs.

  • Lorsque vous exécutez une commande déploiement ou de pile.

    AWS OpsWorks Stacks transmet la personnalisation JSON aux instances uniquement pour cet événement.

L'objet personnalisé JSON doit être représenté par un JSON objet valide et mis en forme comme tel. Par exemple :

{ "att1": "value1", "att2": "value2" ... }

AWS OpsWorks Stacks stocke des produits personnalisés JSON aux emplacements suivants :

Sur les instances Linux :

  • /var/chef/runs/run-ID/attribs.json

  • /var/chef/runs/run-ID/nodes/hostname.json

Sur les instances Windows :

  • drive:\chef\runs\run-ID\attribs.json

  • drive:\chef\runs\run-ID\nodes\hostname.json

Note

Dans Chef 11.10 et versions antérieures pour Linux, la personnalisation se JSON trouve dans le chemin suivant sur les instances Linux, les instances Windows ne sont pas disponibles et il n'existe aucun attribs.json fichier. Les journaux sont stockés dans le même dossier ou répertoire que leJSON. Pour plus d'informations sur la personnalisation JSON dans Chef 11.10 et les versions antérieures pour Linux, voir Remplacer les attributs par des journaux personnalisés JSON et Chef Logs.

/var/lib/aws/opsworks/chef/hostname.json

Dans les chemins précédents, run-ID il y a un identifiant unique que AWS OpsWorks Stacks attribue à chaque exécution de Chef sur une instance, et hostname c'est le nom d'hôte de l'instance.

Pour accéder aux recettes personnalisées JSON à partir de Chef, utilisez node la syntaxe Chef standard.

Par exemple, supposons que vous souhaitiez définir des paramètres simples pour une application que vous souhaitez déployer, par exemple si l'application est visible au départ et les couleurs initiales de premier plan et d'arrière plan de l'application. Supposons que vous définissiez ces paramètres d'application avec un JSON objet comme suit :

{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }

Pour déclarer la coutume JSON pour une pile :

  1. Sur la page de la pile, choisissez Paramètres de pile, puis Modifier.

  2. Pour Custom Chef JSON, tapez l'JSONobjet, puis choisissez Enregistrer.

Note

Vous pouvez déclarer la personnalisation JSON au niveau du déploiement, de la couche et de la pile. Vous pouvez le faire si vous souhaitez que certaines personnalisations JSON ne soient visibles que pour un déploiement ou une couche individuels. Vous pouvez également, par exemple, remplacer temporairement la valeur personnalisée JSON déclarée au niveau de la pile par la valeur personnalisée JSON déclarée au niveau de la couche. Si vous déclarez une valeur personnalisée JSON à plusieurs niveaux, la valeur personnalisée JSON déclarée au niveau du déploiement remplace toute valeur personnalisée JSON déclarée à la fois au niveau de la couche et au niveau de la pile. La JSON valeur personnalisée déclarée au niveau de la couche remplace toute valeur personnalisée JSON déclarée uniquement au niveau de la pile.

Pour utiliser la console AWS OpsWorks Stacks afin de définir la personnalisation JSON d'un déploiement, sur la page Déployer l'application, sélectionnez Avancé. Tapez la JSON personnalisation dans le JSON champ Custom Chef, puis choisissez Enregistrer.

Pour utiliser la console AWS OpsWorks Stacks afin de personnaliser JSON une couche, sur la page Couches, sélectionnez Paramètres pour la couche souhaitée. Tapez la personnalisation JSON dans le JSON champ Personnalisé, puis choisissez Enregistrer.

Pour plus d’informations, consultez Modification de OpsWorks la configuration d'une couche et Déploiement d'applications.

Lorsque vous exécutez une commande de déploiement ou de pile, les recettes peuvent récupérer ces valeurs personnalisées en utilisant node la syntaxe Chef standard, qui correspond directement à la hiérarchie de l'JSONobjet personnalisé. Par exemple, le code de recette suivant écrit des messages dans le journal Chef concernant les JSON valeurs personnalisées précédentes :

Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")

Cette approche peut être utile pour transmettre des données à des recettes. AWS OpsWorks Stacks ajoute ces données à l'instance, et les recettes peuvent récupérer les données en utilisant la node syntaxe standard de Chef.

Note

JSONLa version personnalisée est limitée à 120 Ko. Si vous avez besoin de plus de capacité, nous vous recommandons de stocker certaines données sur Amazon Simple Storage Service (Amazon S3). Vos recettes personnalisées peuvent ensuite utiliser le AWSCLIou le AWS SDK for Rubypour télécharger les données du compartiment Amazon S3 vers votre instance.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.