Attributs de déploiement et de configuration de pile - 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 de déploiement et de configuration de pile

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

Lorsque AWS OpsWorks Stacks exécute une commande sur une instance, par exemple une commande de déploiement en réponse à un événement du cycle de vie de déploiement. Il ajoute un ensemble d'attributs à l'objet nœud de l'instance qui décrit la configuration actuelle de la pile. Pour les commandes de pile Deploy events et Execute Recipes, AWS OpsWorks Stacks installe les attributs de déploiement, qui fournissent des informations de déploiement supplémentaires. Pour plus d'informations sur l'objet nœud, consultez Remplacement des attributs. Pour obtenir la liste des attributs de déploiement et de configuration de pile couramment utilisés, y compris les noms de nœud complets, consultez Attributs de déploiement et de configuration de pile : Linux et Attributs des livres de recettes intégrés.

Note

Sur les piles Linux, vous pouvez obtenir une liste complète de ces attributs, formatés sous forme d'JSONobjet, à l'aide de la commande get_json CLI de l'agent.

Les sections suivantes décrivent les attributs associés à un événement Configure et à un événement Deploy d'une pile simple, qui comprend les éléments suivants :

  • Une couche PHP App Server avec deux instances

  • Une couche HAProxy à une instance

Les exemples proviennent de l'une des instances du serveur d'PHPapplications, php-app1. Pour plus de commodité, les attributs sont formatés sous forme d'JSONobjets. La structure de l'objet est mappé avec les noms complets des attributs. Par exemple, l'node[:opsworks][:ruby_version]attribut apparaît comme suit dans une JSON représentation.

{ "opsworks": { ... "ruby_version": "1.8.7", ... } }

Attributs Configure

L'JSONobjet suivant montre les attributs d'un événement Configure, qui se produit sur chaque instance de la pile lorsqu'une instance est mise en ligne ou hors ligne. Les attributs incluent les attributs de configuration de pile intégrés et tous JSONles attributs personnalisés définis pour la pile avant l'événement (aucun dans cet exemple). Il a été modifié quant à la longueur. Pour une description détaillée des différents attributs, consultez Attributs de déploiement et de configuration de pile : Linux et Attributs des livres de recettes intégrés.

{ "opsworks": { "layers": { "php-app": { "id": "4a2a56c8-f909-4b39-81f8-556536d20648", "instances": { "php-app2": { "elastic_ip": null, "region": "us-west-2", "booted_at": "2013-02-26T20:41:10+00:00", "ip": "192.0.2.0", "aws_instance_id": "i-34037f06", "availability_zone": "us-west-2a", "instance_type": "c1.medium", "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal", "private_ip": "10.252.0.203", "created_at": "2013-02-26T20:39:39+00:00", "status": "online", "backends": 8, "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "php-app1": { ... } }, "name": "PHP Application Server" }, "lb": { "id": "15c86142-d836-4191-860f-f4d310440f14", "instances": { "lb1": { ... } }, "name": "Load Balancer" } }, "agent_version": "104", "applications": [ ], "stack": { "name": "MyStack" }, "ruby_version": "1.8.7", "sent_at": 1361911623, "ruby_stack": "ruby_enterprise", "instance": { "layers": [ "php-app" ], "region": "us-west-2", "ip": "192.0.2.0", "id": "45ef378d-b87c-42be-a1b9-b67c48edafd4", "aws_instance_id": "i-32037f00", "availability_zone": "us-west-2a", "private_dns_name": "ip-10-252-84-253.us-west-2.compute.internal", "instance_type": "c1.medium", "hostname": "php-app1", "private_ip": "10.252.84.253", "backends": 8, "architecture": "i386", "public_dns_name": "ec2-192-0-2-0.us-west-2.compute.amazonaws.com" }, "activity": "configure", "rails_stack": { "name": null }, "deployment": null, "valid_client_activities": [ "reboot", "stop", "setup", "configure", "update_dependencies", "install_dependencies", "update_custom_cookbooks", "execute_recipes" ] }, "opsworks_custom_cookbooks": { "recipes": [ ], "enabled": false }, "recipes": [ "opsworks_custom_cookbooks::load", "opsworks_ganglia::configure-client", "ssh_users", "agent_version", "mod_php5_apache2::php", "php::configure", "opsworks_stack_state_sync", "opsworks_custom_cookbooks::execute", "test_suite", "opsworks_cleanup" ], "opsworks_rubygems": { "version": "1.8.24" }, "ssh_users": { }, "opsworks_bundler": { "manage_package": null, "version": "1.0.10" }, "deploy": { } }

La plupart des informations se trouvent sous l'attribut opsworks, qui est souvent désigné par l'appellation espace de noms. La liste suivante décrit les attributs clés :

  • layersattributs : ensemble d'attributs, dont chacun décrit la configuration de l'une des couches de la pile.

    Les couches sont identifiées par leurs noms courts, php-app et lb dans cet exemple. Pour plus d'informations sur les noms courts des autres couches, consultez AWS OpsWorks Référence de la couche Stacks.

  • instancesattributs — Chaque couche possède un instances élément, qui inclut un attribut pour chacune des instances en ligne des couches, nommé avec le nom abrégé de l'instance.

    La couche PHP App Server comporte deux instances, php-app1 etphp-app2. La couche HAProxy a une instance, lb1.

    Note

    L'élément instances contient uniquement les instances qui sont dans l'état en ligne lorsque les attributs de configuration et de déploiement de pile sont créés.

  • Attributs d'instance : chaque attribut d'instance contient un ensemble d'attributs qui caractérisent l'instance, tels que l'adresse IP privée et le DNS nom privé de l'instance. Pour des raisons de brièveté, l'exemple ne montre que l'attribut php-app2 en détail ; les autres attributs contiennent des informations similaires.

  • applications— Liste des applications déployées, non utilisées dans cet exemple.

  • stack— Le nom de la pile ; MyStack dans cet exemple.

  • instance— L'instance sur laquelle ces attributs sont installés ; php-app1 dans cet exemple. Les recettes peuvent utiliser cet attribut pour obtenir des informations sur l'instance sur laquelle elles s'exécutent, telles que l'adresse IP publique de l'instance.

  • activity— L'activité qui a produit les attributs ; un événement de configuration dans cet exemple.

  • rails_stack— La pile Rails pour les piles qui incluent une couche Rails App Server.

  • deployment— Si ces attributs sont associés à un déploiement. Défini sur null pour cet exemple, car ils sont associés à un événement Configure.

  • valid_client_activities— Une liste des activités valides des clients.

L'attribut opsworks est suivi de plusieurs autres attributs de niveau supérieur, y compris les attributs suivants :

  • opsworks_custom_cookbooks— Si les livres de recettes personnalisés sont activés. Si tel est le cas, l'attribut inclut une liste de recettes personnalisées.

  • recipes— Les recettes élaborées dans le cadre de cette activité.

  • opsworks_rubygems— RubyGems Version de l'instance.

  • ssh_users— Une liste d'SSHutilisateurs ; aucun dans cet exemple.

  • opsworks_bundler— La version du bundler et son activation.

  • deploy— Informations sur les activités de déploiement ; aucune dans cet exemple.

Attributs de déploiement

Les attributs d'un événement Deploy ou d'une commande de pile Execute Recipes se composent des attributs intégrés de configuration et de déploiement de pile, et des attributs personnalisés de pile ou de déploiement (aucun pour cet exemple). L'JSONobjet suivant montre les attributs de php-app1 associés à un événement Deploy qui a déployé l'PHPapplication Simple sur les instances de la pile. PHP Une grande partie de l'objet se compose d'attributs de configuration de pile, similaires à ceux de l'événement Configure décrit dans la section précédente ; par conséquent, l'exemple se concentre principalement sur les attributs spécifiques au déploiement. Pour une description détaillée des différents attributs, consultez Attributs de déploiement et de configuration de pile : Linux et Attributs des livres de recettes intégrés.

{ ... "opsworks": { ... "activity": "deploy", "applications": [ { "slug_name": "simplephp", "name": "SimplePHP", "application_type": "php" } ], "deployment": "5e6242d7-8111-40ee-bddb-00de064ab18f", ... }, ... { "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, "auto_bundle_on_deploy": true, "deploy_to": "/srv/www/simplephpapp", "deploying_user": "arn:aws:iam::123456789012:user/guysm", "document_root": null, "domains": [ "simplephpapp" ], "migrate": false, "mounted_at": null, "rails_env": null, "restart_command": "echo 'restarting app'", "sleep_before_restart": 0, "ssl_support": false, "ssl_certificate": null, "ssl_certificate_key": null, "ssl_certificate_ca": null, "scm": { "scm_type": "git", "repository": "git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git", "revision": "version1", "ssh_key": null, "user": null, "password": null }, "symlink_before_migrate": { "config/opsworks.php": "opsworks.php" }, "symlinks": { }, "database": { }, "memcached": { "host": null, "port": 11211 }, "stack": { "needs_reload": false } } }, }

L'attribut opsworks est largement identique à l'exemple de la section précédente. Les sections suivantes sont plus pertinentes pour le déploiement :

  • activity— L'événement associé à ces attributs ; un événement Deploy dans cet exemple.

  • applications— Contient un ensemble d'attributs pour chaque application qui fournissent les noms, les noms des slugs et les types des applications.

    Le nom du slug est le nom abrégé de l'application, qui AWS OpsWorks Stacks est généré à partir du nom de l'application. Le nom du slug pour Simple PHP est simplephp.

  • deployment— L'ID de déploiement, qui identifie de manière unique un déploiement.

L'attribut deploy inclut des informations sur les applications qui sont déployées. Par exemple, les recettes intégrées Deploy utilisent les données de l'attribut deploy pour installer les fichiers dans les répertoires appropriés et créer les fichiers de connexion de base de données. L'attribut deploy inclut un attribut pour chaque application déployée, nommé d'après le nom court de l'application. Chaque attribut d'application contient les attributs suivants :

  • environment_variables— Contient toutes les variables d'environnement que vous avez définies pour l'application. Pour de plus amples informations, veuillez consulter Variables d'environnement.

  • domains— Par défaut, le domaine est le nom abrégé de l'application, qui est simplephpapp dans cet exemple. Si vous avez attribué des domaines personnalisés, ils apparaissent ici aussi bien. Pour de plus amples informations, veuillez consulter Utilisation des domaines personnalisés.

  • application— Le nom abrégé de l'application.

  • scm— Cet élément contient les informations requises pour télécharger les fichiers de l'application depuis son dépôt, un dépôt Git dans cet exemple.

  • database— Informations de base de données, si la pile inclut une couche de base de données.

  • document_root— La racine du document, qui est définie sur null dans cet exemple, indique que la racine est publique.

  • ssl_certificate_ca,ssl_support, ssl_certificate_key — Indique si l'application est SSL compatible. Si oui, les attributs ssl_certificate_key et ssl_certificate_ca sont définis avec les certificats correspondants.

  • deploy_to— Le répertoire racine de l'application.