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

El AWS OpsWorks Stacks 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 tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS 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), agrega 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 la implementación. 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.

nota

En las pilas de Linux, puede obtener una lista completa de estos atributos con formato de objeto JSON utilizando el comando de agente get_json de la CLI.

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 del servidor de aplicaciones PHP con dos instancias

  • Una capa HAProxy con una instancia

Los ejemplos son de una de las instancias del servidor de aplicaciones PHP, php-app1. Por 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 atributo node[:opsworks][:ruby_version] aparece como se indica a continuación en una representación JSON.

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

Atributos de configuración

Los siguientes objetos JSON muestran los atributos de un evento Configure que se produce en cada instancia de la pila cuando una instancia entra online o se queda sin conexión. Los atributos incluyen los atributos de configuración de pila integrados y cualquier atributo JSON 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 del servidor de aplicaciones PHP; tiene dos instancias php-app1 y php-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 instancia: cada atributo de instancia contiene un conjunto de atributos que caracterizan la instancia, como la dirección IP privada y el nombre de DNS 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 versión de la instancia. RubyGems

  • ssh_users: una lista de usuarios de SSH (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 objeto JSON siguiente muestra los atributos de php-app1 que están asociados con un evento Deploy que implementó la aplicación SimplePHP en las instancias PHP de la pila. 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 Stacks genera a partir del nombre de la aplicación. El nombre slug de SimplePHP 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 admite 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.