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.

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

  • Fuente de un libro de cocina de Stack URLs

  • Configuración de volúmenes de capas

  • Nombres de host de instancia

  • Nombres DNS de Elastic Load Balancing

  • Fuente de la aplicación URLs

  • 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 OpsWorks Stacks, en un conjunto de archivos JSON del /var/lib/aws/opsworks/chef directorio. 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 OpsWorks Stacks, en un conjunto de archivos JSON en el /var/chef/runs/run-ID/data_bags directorio, donde run-ID hay un identificador único que 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 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 OpsWorks Stacks comoaws_opsworks_app, en lugar de usar nombres de atributos de OpsWorks Stacks como y. opsworks deploy

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