Atributos de configuración e implementación de pilas - AWS OpsWorks

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Atributos de configuración e implementación de pilas

importante

La AWS OpsWorks Stacks El servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tiene preguntas sobre la migración, póngase en contacto con el AWS Support Equipo en AWS Re:post o mediante AWS Premium Support.

Cuando AWS OpsWorks Stacks ejecuta un comando en una instancia (por ejemplo, un comando de despliegue en respuesta a un evento del ciclo de vida de Deploy) y añade un conjunto de atributos al objeto de nodo de la instancia que describe la configuración actual de la pila. Para los comandos de pila Deploy events y Execute Recipes, AWS OpsWorks Stacks instala los atributos de despliegue, que proporcionan información adicional sobre el despliegue. Para obtener más información sobre el objeto de nodo, consulte Anulación de atributos. Para obtener una lista de atributos de implementación y configuración de pila más utilizados, incluidos los nombres de nodo únicos, consulte Atributos de configuración e implementación de pila: Linux y Atributos integrados de los libros de recetas.

En las secciones siguientes se muestran los atributos asociados con un evento Configure y un evento Deploy de una pila sencilla, que constan de lo siguiente:

  • Una capa de servidor PHP de aplicaciones con dos instancias

  • Una capa HAProxy con una instancia

Los ejemplos provienen de una de las instancias de PHP App Server, php-app1. Para mayor comodidad, los atributos tienen el formato de un objeto. JSON La estructura del objeto se asocia a los nombre únicos de los atributos. Por ejemplo, el node[:opsworks][:ruby_version] atributo aparece de la siguiente manera en una JSON representación.

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

Atributos de configuración

El siguiente JSON objeto muestra los atributos de un evento de configuración, que se produce en todas las instancias de la pila cuando una instancia se conecta o se desconecta. Los atributos incluyen los atributos de configuración de la pila integrados y cualquier JSONatributo personalizado que se haya definido para la pila antes del evento (ninguno en este ejemplo). Se ha modificado por la longitud. Para obtener una descripción detallada de los distintos atributos, consulte Atributos de configuración e implementación de pila: Linux y Atributos integrados de los libros de recetas.

{ "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 mayor parte de la información se encuentra en el atributo opsworks, que a menudo se denomina "espacio de nombres". En la siguiente lista se describen los atributos clave:

  • Atributos layers: un conjunto de atributos; cada uno describe la configuración de una de las capas de la pila.

    Las capas se identifican por sus nombres abreviados, php-app y lb en este ejemplo. Para obtener más información sobre los nombres abreviados de otras capas, consulte AWS OpsWorks Referencia de capas de Stacks.

  • Atributos instances: cada capa tiene un elemento instances que incluye un atributo para cada una de las instancias online de la capa, cuyo nombre es el nombre abreviado de la instancia.

    La capa PHP App Server tiene dos instancias php-app1 yphp-app2. La capa HAProxy tiene una instancia lb1.

    nota

    El elemento instances contiene únicamente las instancias que se encuentran en el estado online cuando se crean la pila y los atributos de implementación.

  • Atributos de la instancia: cada atributo de la instancia contiene un conjunto de atributos que caracterizan a la instancia, como la dirección IP privada y el DNS nombre privado de la instancia. Por cuestiones de brevedad, en el ejemplo se muestra únicamente el atributo php-app2 en detalle; los demás contienen información similar.

  • applications: una lista de las aplicaciones implementadas (no se utilizan en este ejemplo).

  • stack: el nombre de la pila (MyStack en este ejemplo).

  • instance: la instancia en la que se instalan estos atributos (php-app1 en este ejemplo). Las recetas pueden utilizar este atributo para obtener información acerca de la instancia en la que se ejecutan, por ejemplo, la dirección IP pública de la instancia.

  • activity: la actividad que produjo los atributos (un evento Configure en este ejemplo).

  • rails_stack: la pila Rails para las pilas que incluyen una capa del servidor de aplicaciones Rails.

  • deployment: si estos atributos se asocian con una implementación. En este ejemplo, está establecido en null porque están asociados a un evento Configure.

  • valid_client_activities: una lista de las actividades de cliente válidas.

Al atributo opsworks le siguen otros atributos de nivel superior, entre los que se incluyen los siguientes:

  • opsworks_custom_cookbooks: si están habilitados los libros de recetas personalizados. En caso afirmativo, el atributo incluye una lista de las recetas personalizadas.

  • recipes: las recetas ejecutadas por esta actividad.

  • opsworks_rubygems— La RubyGems versión de la instancia.

  • ssh_users— Una lista de SSH usuarios; ninguno en este ejemplo.

  • opsworks_bundler: la versión del instalador y si está habilitado.

  • deploy: información sobre las actividades de implementación (nada en este ejemplo).

Atributos de implementación

Los atributos de un evento Deploy o de un comando de pila Execute Recipes se componen de los atributos de implementación y configuración de la pila integrados y cualquier pila personalizada o atributos de implementación (ninguno en este ejemplo). El siguiente JSON objeto muestra los atributos de php-app1 que están asociados a un evento Deploy que implementó la PHP aplicación Simple en las instancias de la pila. PHP Gran parte del objeto consiste en los atributos de configuración de la pila que son similares a los del evento de configuración descrito en la sección anterior, por lo que este ejemplo se centra principalmente en los atributos específicos de la implementación. Para obtener una descripción detallada de los distintos atributos, consulte Atributos de configuración e implementación de pila: Linux y Atributos integrados de los libros de recetas.

{ ... "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 } } }, }

El atributo opsworks es prácticamente idéntico al ejemplo de la sección anterior. Las secciones siguientes son sobre todo relevantes para la implementación:

  • activity: el evento asociado a estos atributos (un evento Deploy en este ejemplo).

  • applications: contiene un conjunto de atributos para cada aplicación que proporciona los nombres de las aplicaciones, los nombres slug y los tipos.

    El nombre del slug es la abreviatura de la aplicación, que AWS OpsWorks Las pilas se generan a partir del nombre de la aplicación. El nombre del slug de Simple PHP es simplephp.

  • deployment: el ID de la implementación que identifica de forma exclusiva una implementación.

El atributo deploy incluye información sobre las aplicaciones que se están implementando. Por ejemplo, las recetas de implementación integradas usan los datos del atributo deploy para instalar archivos en los directorios adecuados y crear los archivos de conexión de base de datos. El atributo deploy incluye un atributo para cada aplicación implementada, cuyo nombre es el nombre abreviado de la aplicación. Cada atributo de aplicación incluye los atributos siguientes:

  • environment_variables: contiene cualquier variable de entorno que se haya definido para la aplicación. Para obtener más información, consulte Variables de entorno.

  • domains: de forma predeterminada, el dominio es el nombre abreviado de la aplicación; simplephpapp en este ejemplo. Si ha asignado dominios personalizados, también aparecen aquí. Para obtener más información, consulte Uso de dominios personalizados.

  • application: el nombre abreviado de la aplicación.

  • scm: este elemento contiene la información necesaria para descargar los archivos de la aplicación desde su repositorio (un repositorio Git en este ejemplo).

  • database: información sobre la base de datos si la pila incluye una capa de base de datos.

  • document_root: documento raíz que se establece como null en este ejemplo para indicar que el origen es público.

  • ssl_certificate_ca,ssl_support, ssl_certificate_key — Indica si la aplicación es compatible. SSL En caso afirmativo, los atributos ssl_certificate_key y ssl_certificate_ca se establecen en los certificados correspondientes.

  • deploy_to: el directorio raíz de la aplicación.