Atributos - 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

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 alguna duda sobre la migración, póngase en contacto con el AWS Support Equipo en AWS Re:post o mediante AWS Premium Support.

Las recetas y las plantillas dependen de una serie de valores, como las opciones de configuración. En lugar de escribir directamente los valores en las recetas o plantillas, puede crear un archivo de atributo con un atributo que represente cada valor. A continuación, utilice los atributos de las recetas o plantillas en lugar de los valores explícitos. La ventaja de la utilización de atributos es que puede anular sus valores sin tocar el libro de recetas. Por este motivo, debe utilizar siempre atributos para definir los siguientes tipos de valores:

  • Hay valores, como los nombres de los usuarios, que pueden variar de pila para pila o con el tiempo.

    Si incluye estos valores, deberá realizar cambios en la receta o plantilla cada vez que necesite modificar un valor. Al utilizar atributos para definir estos valores, puede emplear los mismos libros de recetas en cada pila y simplemente reemplazar los atributos adecuados.

  • Valores confidenciales, como contraseñas o claves secretas.

    Incluir valores confidenciales explícitos en el libro de recetas puede aumentar el riesgo de exposición. En su lugar, defina atributos con valores ficticios y anúlelos para definir los valores reales. La mejor manera de anular estos atributos es con la personalizaciónJSON. Para obtener más información, consulte Uso de Custom JSON.

Para obtener más información sobre atributos y cómo anularlos, consulte Anulación de atributos.

El siguiente ejemplo es una fragmento de un archivo de atributos de ejemplo.

... default["apache"]["listen_ports"] = [ '80','443' ] default["apache"]["contact"] = 'ops@example.com' default["apache"]["timeout"] = 120 default["apache"]["keepalive"] = 'Off' default["apache"]["keepaliverequests"] = 100 default["apache"]["keepalivetimeout"] = 3 default["apache"]["prefork"]["startservers"] = 16 default["apache"]["prefork"]["minspareservers"] = 16 default["apache"]["prefork"]["maxspareservers"] = 32 default["apache"]["prefork"]["serverlimit"] = 400 default["apache"]["prefork"]["maxclients"] = 400 default["apache"]["prefork"]["maxrequestsperchild"] = 10000 ...

AWS OpsWorks Stacks define los atributos mediante la siguiente sintaxis:

node.type["attribute"]["subattribute"]["..."]=value

También puede utilizar los dos puntos (:) así:

node.type[:attribute][:subattribute][:...]=value

Una definición de atributo incluye los siguientes componentes:

node.

El prefijo node. es opcional y suele omitirse tal y como se muestra en el ejemplo.

type

El tipo decide si el atributo se puede anular. AWS OpsWorks Por norma general, los atributos de Stacks suelen utilizar uno de estos tipos:

  • default es el más utilizado, ya que permite anular el atributo.

  • normaldefine un atributo que anula uno de los estándares AWS OpsWorks Apila los valores de los atributos.

nota

Chef admite tipos adicionales, que no son necesarios para AWS OpsWorks Se acumula, pero podría ser útil para su proyecto. Para obtener más información, consulte Acerca de los atributos.

attribute name

El nombre del atributo utiliza la sintaxis de nodo estándar de Chef, [:attribute][:subattribute][...]. Puede dar cualquier nombre a los atributos. Sin embargo, como ya se ha hablado en Anulación de atributos, los atributos de los libros de recetas personalizados se combinan en el objeto de nodo de la instancia, junto a los atributos de configuración e implementación de la pila, y la herramienta Ohai de Chef. Los nombres de configuración usados con frecuencia, como port o user, podrían aparecer en varios libros de recetas.

Tal y como se muestra en el ejemplo, para evitar conflictos, la norma es crear nombres de atributos completos con, como mínimo, dos elementos. El primer elemento debe ser único y suele hacer referencia al nombre del producto, como Apache. Lo siguen uno o varios subatributos que identifican el valor concreto, como [:user] o [:port]. En el proyecto, puede utilizar tantos subatributos como sea necesario.

value

Un atributo puede establecerse en los siguientes tipos de valores:

  • Una cadena, como default[:apache][:keepalive] = 'Off'.

  • Un número (sin comillas), como default[:apache][:timeout] = 120.

  • Un valor booleano, que puede ser true o false (sin comillas).

  • Una lista de valores, como default[:apache][:listen_ports] = [ '80','443' ].

El archivo de atributos es una aplicación de Ruby, por lo que también puede utilizar la sintaxis de nodo y operadores lógicos para asignar valores en función de otros atributos. Para obtener más información sobre cómo definir atributos, consulte Acerca de los atributos. Para ver ejemplos de archivos de atributos en funcionamiento, consulta la AWS OpsWorks Apila libros de cocina integrados en opsworks-cookbooks. https://github.com/aws/