Más información: explorar el libro de recetas utilizado en este tutorial - 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.

Más información: explorar el libro de recetas utilizado en este tutorial

importante

AWS OpsWorks Stacks ya no acepta nuevos clientes. Los clientes actuales podrán utilizar la consola, la API, la CLI y los recursos de CloudFormation de OpsWorks con normalidad hasta el 26 de mayo de 2024, fecha en la que dejarán de dejarán de estar disponibles. A fin de prepararse para esta transición, le recomendamos que pase sus pilas a AWS Systems Manager lo antes posible. Para más información, consulte AWS OpsWorks Stacks Preguntas frecuentes sobre el final de la vida útil y Migración de sus AWS OpsWorks Stacks aplicaciones a AWS Systems Manager Application Manager.

En este tema se describe el libro de recetas que AWS OpsWorks Stacks utiliza en el tutorial.

Un libro de recetas es un concepto de Chef. Los libros de recetas son archivos de almacenamiento que contienen información de configuración, como, por ejemplo, recetas, valores de atributo, archivos, plantillas, bibliotecas, definiciones y recursos personalizados. Una receta también es un concepto de Chef. Las recetas son instrucciones, escritas en lenguaje Ruby, que especifican los recursos a utilizar y el orden en que se deben aplicar dichos recursos. Para obtener más información, consulte About Cookbooks (Acerca de los libros de recetas) y About Recipes en el sitio web Learn Chef.

Para ver el contenido del libro de recetas que se utiliza en este tutorial, extraiga el contenido del archivo opsworks-linux-demo-cookbooks-nodejs.tar.gz en un directorio vacío en la estación de trabajo local. (También puede iniciar sesión en la instancia en la que ha implementado el libro de recetas y explorar el contenido del directorio /var/chef/cookbooks).

El archivo default.rb del directorio cookbooks/nodejs_demo/recipes es donde el libro de recetas ejecuta su código:

app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end

Esto es lo que hace el archivo:

  • search(:aws_opsworks_app).first utiliza la búsqueda de Chef para buscar información sobre la aplicación que tarde o temprano se implementará en la instancia. Esta información incluye ajustes como, por ejemplo, el nombre abreviado de la aplicación y los detalles del repositorio de origen. Dado que solo se ha implementado una única aplicación en este tutorial, la búsqueda de Chef obtiene estos valores del primer elemento de información del índice de búsqueda aws_opsworks_app en la instancia. Cuando se lanza una instancia, AWS OpsWorks Stacks almacena esta y otra información relacionada en un conjunto de bolsas de datos en la propia instancia y el usuario recibe el contenido de la bolsa de datos mediante la búsqueda de Chef. Aunque puede codificar de forma rígida estos valores en la receta, utilizar bolsas de datos y la búsqueda de Chef es un enfoque mucho más sólido. Para obtener más información sobre las bolsas de datos, consulte Referencia de los contenedores de datos de AWS OpsWorks Stacks. Consulte también About Data Bags en el sitio web de Learn Chef. Para obtener más información sobre Chef, consulte About Search en el sitio web Learn Chef.

  • El recurso package instala Git en la instancia.

  • El recurso application describe e implementa aplicaciones web:

    • javascript es la versión del tiempo de ejecución de JavaScript a instalar.

    • environment define una variable de entorno.

    • git obtiene el código fuente del repositorio y la ramificación especificados.

    • app_path es la ruta para clonar el repositorio. Si la ruta no existe en la instancia, AWS OpsWorks Stacks la crea.

    • link crea un enlace simbólico.

    • npm_install instala el Administrador de paquetes de nodo, el administrador de paquetes predeterminado para Node.js.

    • npm_start ejecuta Node.js.

Aunque AWS OpsWorks Stacks creó el libro de recetas utilizado para este tutorial, puede crear sus propios libros de recetas. Para saber cómo hacerlo, consulte Introducción: Libros de recetas. Además, vaya a About Cookbooks, About Recipes y Learn the Chef Basics on Ubuntu en el sitio web Learn Chef y a la sección "Our first Chef cookbook" en First steps with Chef en el sitio web Getting started with Chef.