Desplazamiento de la configuración de la pila desde los atributos a las bolsas de datos - 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.

Desplazamiento de la configuración de la pila desde los atributos a las bolsas de datos

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.

AWS OpsWorks Stacks muestra una amplia variedad de configuraciones de apilamiento para tus recetas de Chef. Estos ajustes de la pila incluyen valores como, por ejemplo:

  • Direcciones URL de origen de libros de recetas de la pila

  • Configuración de volúmenes de capas

  • Nombres de host de instancia

  • Nombres DNS de Elastic Load Balancing

  • Direcciones URL de origen de aplicaciones

  • Nombres de usuario

La referencia a la configuración de la pila desde las recetas convierte al código de recetas en más robusto y menos propenso a errores que la codificación de forma rígida de la pila directamente en las recetas. En este tema se describe cómo obtener acceso a esta configuración de la pila y a trasladarla desde los atributos de Chef 11.10 y versiones anteriores de Linux a las bolsas de datos de Chef 12 de Linux.

En Chef 11.10 y versiones anteriores de Linux, la configuración de la pila está disponible como atributos de Chef y se obtiene acceso a ella a través del objeto node de Chef o de la búsqueda de Chef. Estos atributos se almacenan en las instancias de AWS OpsWorks Stacks, en un conjunto de archivos JSON del directorio. /var/lib/aws/opsworks/chef Para obtener más información, consulte Atributos de configuración e implementación de pila: Linux.

En Chef 12 de Linux, la configuración de la pila está disponible como bolsas de datos de Chef y se obtiene acceso a ella únicamente a través de la búsqueda de Chef. Las bolsas de datos se almacenan en las instancias de AWS OpsWorks Stacks, en un conjunto de archivos JSON del /var/chef/runs/run-ID/data_bags directorio, donde Run-ID es un identificador único que AWS OpsWorks Stacks asigna a cada ejecución de Chef en una instancia. La configuración de la pila ya no está disponible como atributos de Chef, de modo que ya no se puede obtener acceso a la configuración de la pila a través del objeto node de Chef. Para obtener más información, consulte AWS OpsWorks Referencia de la bolsa de datos Stacks.

Por ejemplo, en Chef 11.10 y versiones anteriores para Linux, el siguiente código de receta utiliza el objeto node de Chef para obtener los atributos que representan el nombre abreviado y la dirección URL de origen de la aplicación. A continuación, utiliza el registro de Chef para escribir estos dos valores de atributo:

Chef::Log.info ("********** The app's short name is '#{node['opsworks']['applications'].first['slug_name']}' **********") Chef::Log.info("********** The app's URL is '#{node['deploy']['simplephpapp']['scm']['repository']}' **********")

En Chef 12 de Linux, el siguiente código de receta utiliza el índice de búsqueda aws_opsworks_app para obtener el contenido del primer elemento de la bolsa de datos aws_opsworks_app. A continuación, el código escribe dos mensajes en el registro de Chef, uno con el contenido de la bolsa de datos del nombre abreviado de la aplicación y otro con el contenido de la bolsa de datos de la dirección URL de origen de la aplicación:

app = search("aws_opsworks_app").first Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********") Chef::Log.info("********** The app's URL is '#{app['app_source']['url']}' **********")

Para migrar el código de receta código, que obtiene acceso a la configuración de la pila de Chef 11.10 y versiones anteriores de Linux, a Chef 12 de Linux, debe revisar el código para:

  • Obtener acceso a bolsas de datos de Chef en lugar de a atributos de Chef

  • Utilizar la búsqueda de Chef en lugar del objeto node de Chef

  • Usa nombres de bolsas de datos de AWS OpsWorks Stacks comoaws_opsworks_app, en lugar de usar nombres de atributos de AWS OpsWorks Stacks como y. opsworks deploy

Para obtener más información, consulte AWS OpsWorks Referencia de la bolsa de datos Stacks.