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 con los atributos personalizados JSON
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
nota
Porque AWS OpsWorks Stacks gestiona Chef de forma diferente para las pilas de Windows que para las pilas de Linux, no puede utilizar las técnicas descritas en esta sección para las pilas de Windows.
La forma más sencilla de anular un AWS OpsWorks El atributo de las pilas consiste en definirlo de forma personalizadaJSON, lo que tiene prioridad sobre los atributos de configuración y despliegue de la pila, así como sobre los atributos de los libros de cocina integrados y personalizados. default
Para obtener más información, consulte Prioridad de los atributos.
importante
Debe anular los atributos de configuración e implementación de la pila con cuidado. Por ejemplo, la anulación de atributos en el espacio de nombres opsworks
puede interferir con las recetas integradas. Para obtener más información, consulte Atributos de configuración e implementación de pilas.
También puedes usar la opción personalizada JSON para definir atributos únicos, normalmente para transferir datos a tus recetas personalizadas. Los atributos se incorporan simplemente en el objeto nodo y las recetas pueden hacer referencia a ellos mediante la sintaxis de nodo de Chef estándar.
¿Cómo especificar lo personalizado JSON
Para utilizar JSON la personalización para anular un valor de atributo, primero debe determinar el nombre de atributo completo del atributo. A continuación, cree un JSON objeto que contenga los atributos que desee anular, con los valores que prefiera. Para su comodidad, los documentos Atributos de configuración e implementación de pila: Linux y Atributos integrados de los libros de recetas normalmente utilizan los atributos de implementación y configuración de la pila y los atributos integrados del libro de recetas, incluidos sus nombres completos.
Las relaciones principal-secundario del objeto deben corresponder a los nodos de Chef completos adecuados. Por ejemplo, suponga que desea cambiar los siguientes atributos de Apache:
-
El atributo keepalivetimeout, cuyo nodo es
node[:apache][:keepalivetimeout]
, y tiene un valor predeterminado de3
-
El atributo
logrotate
schedule, cuyo nodo esnode[:apache][:logrotate][:schedule]
, y tiene un valor predeterminado de"daily"
.
Para anular los atributos y establecer los valores en 5
y"weekly"
, respectivamente, utilizaría la siguiente configuración personalizada: JSON
{ "apache" : { "keepalivetimeout" : 5, "logrotate" : { "schedule" : "weekly" } } }
Cuándo especificar la opción «Personalizado» JSON
Puede especificar una JSON estructura personalizada para las siguientes tareas:
Para cada tarea, AWS OpsWorks Stacks fusiona los JSON atributos personalizados con los atributos de configuración y despliegue de la pila y los envía a las instancias para que se fusionen con el objeto de nodo. Sin embargo, tenga en cuenta lo siguiente:
-
Si especificas la personalización JSON al crear, clonar o actualizar una pila, los atributos se fusionan en los atributos de configuración e implementación de la pila para todos los eventos del ciclo de vida y los comandos de pila posteriores.
-
Si especificas la personalización JSON para una implementación, los atributos se fusionan en la configuración de la pila y los atributos de implementación solo para el evento correspondiente.
Si desea utilizar esos atributos personalizados para despliegues posteriores, debe JSON volver a especificar la personalización de forma explícita.
Es importante recordar que los atributos solo afectan a la instancia cuando los utilizan recetas. Si anula un valor de atributo, pero ninguna de las recetas posteriores hace referencia al atributo, el cambio no tiene ningún efecto. Debe asegurarse de que la personalización JSON se envíe antes de que se ejecuten las recetas asociadas o asegurarse de que se vuelvan a ejecutar las recetas adecuadas.
JSONMejores prácticas personalizadas
Puede usar la opción personalizada JSON para anular cualquier AWS OpsWorks Atributo Stacks, pero ingresar la información manualmente es algo engorroso y no está bajo ningún tipo de control de código fuente. Lo mejor JSON es utilizar Custom para los siguientes fines:
-
Si solo quiere anular un pequeño número de atributos y, además, no necesita utilizar libros de recetas personalizados
Con la personalizaciónJSON, puedes evitar la sobrecarga de configurar y mantener un repositorio de libros de cocina solo para anular un par de atributos.
-
Para valores confidenciales, como contraseñas o claves de autenticación
Los atributos del libro de recetas se almacenan en un repositorio, por lo que cualquier información confidencial está en riesgo. En su lugar, defina los atributos con valores ficticios y utilice los valores personalizados JSON para establecer los valores reales.
-
Para valores que se espera que varíen
Por ejemplo, una práctica recomendada consiste en hacer que su pila de producción sea compatible con pilas de desarrollo y de ensayo distintas. Supongamos que estas pilas admiten una aplicación que acepta pagos. Si utilizas la opción personalizada JSON para especificar el punto de pago, puedes especificar una prueba URL para tu pila provisional. Cuando estés listo para migrar una pila actualizada a tu pila de producción, puedes usar los mismos libros de cocina y usar la opción personalizada JSON para establecer el punto de pago en función de la producción. URL
-
Para valores específicos de un comando de pila o de implementación determinado