Anular los atributos de AWS OpsWorks Stacks mediante atributos de libros de cocina personalizados - 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.

Anular los atributos de AWS OpsWorks Stacks mediante atributos de libros de cocina personalizados

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.

nota

En el caso de las pilas de Windows, AWS OpsWorks Stacks utiliza versiones de Chef independientes para crear recetas integradas y personalizadas. Esto significa que no puede utilizar las técnicas explicadas en esta sección para anular atributos integrados para pilas de Windows.

El JSON personalizado es una forma cómoda de anular la configuración de la pila de AWS OpsWorks Stacks y los atributos integrados en los libros de cocina, pero tiene algunas limitaciones. En particular, debe introducir el JSON personalizado manualmente para cada uso, por lo que no dispone de una forma sólida para administrar las definiciones. Un método mejor suele ser utilizar archivos de atributos personalizados del libro de recetas para anular los atributos integrados. Esto le permite que las definiciones estén bajo el control del código fuente.

El procedimiento para usar archivos de atributos personalizados para anular las definiciones de AWS OpsWorks Stacks es sencillo.

Para anular las definiciones de atributos de Stacks AWS OpsWorks
  1. Configure un repositorio de libros de recetas, tal y como se describe en Cookbooks and Recipes.

  2. Cree un libro de recetas con el mismo nombre que el libro de recetas integrado que contiene los atributos que desea anular. Por ejemplo, para anular los atributos de Apache, el libro de recetas debe llamarse apache2.

  3. Añada una carpeta attributes al libro de recetas y añada un archivo en dicha carpeta denominado customize.rb.

  4. Añada una definición de atributo al archivo para cada uno de los atributos del libro de recetas integrado que desea anular y defina el valor deseado. El atributo debe ser de un normal tipo o superior y tener exactamente el mismo nombre de nodo que el atributo de AWS OpsWorks Stacks correspondiente. Para obtener una lista detallada de los atributos de AWS OpsWorks Stacks, incluidos los nombres de los nodos, consulta Atributos de configuración e implementación de pila: Linux y. Atributos integrados de los libros de recetas Para obtener más información sobre los atributos y los archivos de atributos, consulte Acerca de los archivos de atributos.

    importante

    Los atributos deben ser de normal tipo para anular los atributos de AWS OpsWorks Stacks; los default tipos no tienen prioridad. Por ejemplo, si su archivo customize.rb contiene una definición de atributo default[:apache][:keepalivetimeout] = 5, el atributo correspondiente en el archivo de atributos apache.rb integrado se evalúa primero y prevalece. Para obtener más información, consulte Anulación de atributos.

  5. Repita los pasos 2 a 4 para cada libro de recetas integrado con los atributos que desea anular.

  6. Activa libros de cocina personalizados para tu pila y proporciona la información necesaria para que AWS OpsWorks Stacks descargue tus libros de cocina en las instancias de la pila. Para obtener más información, consulte Instalación de libros de recetas personalizados.

nota

Para ver un tutorial completo de este procedimiento, consulte Anulación de atributos integrados.

El objeto de nodo utilizado en los eventos del ciclo de vida posteriores, los comandos de despliegue y los comandos de pila ahora contendrá tus definiciones de atributos en lugar de los AWS OpsWorks valores de Stacks.

Por ejemplo, para anular los valores integrados keepalivetimeout y logrotate schedule explicados en Cómo especificar un JSON personalizado, añada un libro de recetas apache2 en su repositorio y un archivo customize.rb en la carpeta attributes del libro de recetas con el siguiente contenido.

normal[:apache][:keepalivetimeout] = 5 normal[:apache][:logrotate][:schedule] = 'weekly'
importante

No debes anular los atributos de AWS OpsWorks Stacks modificando una copia del archivo de atributos integrado asociado. Si, por ejemplo, copia apache.rb en la carpeta apache2/attributes y modifica algunos de sus valores, básicamente anulará cada atributo del archivo integrado. Las recetas utilizarán las definiciones de atributos de su copia y pasará por alto el archivo integrado. Si posteriormente AWS OpsWorks Stacks modifica el archivo de atributos integrado, las recetas no obtendrán acceso a los cambios a menos que actualice manualmente la copia.

Para evitar esta situación, todos los libros de recetas integrados incluyen un archivo de atributos customize.rb vacío, que debe estar en todos los módulos a través de una directiva include_attribute. La anulación de los atributos de la copia de customize.rb solo afecta a dichos atributos específicos. Las recetas obtendrán cualquier otro valor de atributo de los archivos de atributos integrados y recibirán automáticamente los valores actuales de cualquier atributo que no haya anulado.

Este enfoque le ayuda a limitar el número de atributos en el repositorio de libros de recetas, lo que reduce los gastos de mantenimiento y facilita la gestión de las actualizaciones futuras.