Cookbooks 101 - 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.

Cookbooks 101

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.

Por lo general, una colección de AWS OpsWorks Stacks a nivel de producción requiere cierta personalización, lo que a menudo implica implementar un libro de cocina personalizado de Chef con una o más recetas, archivos de atributos o archivos de plantillas. Este tema es un tutorial de introducción a la implementación de libros de cocina para Stacks. AWS OpsWorks

Para obtener más información sobre cómo AWS OpsWorks Stacks usa los libros de cocina, que incluye una breve introducción general a los libros de cocina, consulte. Cookbooks and Recipes Para obtener información adicional sobre cómo implementar y probar las recetas de Chef, consulte Infraestructura orientada por pruebas con Chef, 2.ª Edición.

Los ejemplos del tutorial se dividen en dos secciones:

  • Conceptos básicos del libro de recetas es un conjunto de tutoriales de ejemplo dirigidos a usuarios que no están familiarizados con Chef; los usuarios de Chef experimentados pueden omitir esta sección.

    Los ejemplos le guiarán por los aspectos básicos de cómo implementar libros de recetas para realizar tareas comunes, como, por ejemplo, instalar paquetes o crear directorios. Para simplificar el proceso, se utilizará un par de útiles herramientas, Vagrant y Test Kitchen, para ejecutar localmente en una máquina virtual la mayoría de los ejemplos. Antes de empezar con Conceptos básicos del libro de recetas, deberá en primer lugar leer Vagrant y Test Kitchen para obtener información sobre cómo instalar y utilizar estas herramientas. Dado que Test Kitchen no es compatible todavía con Windows, los ejemplos son todos para Linux, con notas que indican cómo adaptarlos para Windows.

  • Implementación de libros de cocina para Stacks AWS OpsWorksdescribe cómo implementar recetas para AWS OpsWorks Stacks, incluso para las pilas de Windows.

    También incluye algunos temas más avanzados como, por ejemplo, cómo utilizar Berkshelf para gestionar los libros de recetas externos. Los ejemplos están escritos para usuarios de Chef nuevos, como los ejemplos en Conceptos básicos del libro de recetas. Sin embargo, AWS OpsWorks Stacks funciona de forma un poco diferente al servidor Chef, por lo que recomendamos que los usuarios experimentados de Chef lean al menos esta sección.

Vagrant y Test Kitchen

Si está trabajando con recetas para instancias de Linux, Vagrant y Test Kitchen son herramientas muy útiles para aprender, así como para las etapas iniciales de desarrollo y pruebas. En este tema se describe brevemente Vagrant y Test Kitchen y se indica dónde encontrar instrucciones de instalación y tutoriales que le prepararán para configurar las herramientas y familiarizarle con los aspectos básicos de cómo utilizarlas. Si bien Vagrant es compatible con Windows, Test Kitchen no lo es, por lo que solo se proporcionan ejemplos de Linux para estas herramientas.

Vagrant

Vagrant facilita un entorno uniforme para ejecutar y probar código en una máquina virtual. Admite una amplia variedad de entornos, denominados "cajas de Vagrant", cada uno de los cuales representa uno de los sistemas operativos configurados. En el caso de AWS OpsWorks Stacks, los entornos de interés se basan en distribuciones de Ubuntu, Amazon o Red Hat Enterprise Linux (RHEL), por lo que los ejemplos utilizan principalmente una casilla de Vagrant llamada. opscode-ubuntu-12.04

Vagrant está disponible para sistemas Linux, Windows y Macintosh, de modo que pueda utilizar su estación de trabajo preferida para implementar y probar recetas en cualquier sistema operativo compatible. Los ejemplos de este capítulo se crearon en un sistema Linux Ubuntu, pero es sencillo traspasar los procedimientos a sistemas de Windows o Macintosh.

Vagrant es básicamente un encapsulador para un proveedor de virtualización. La mayoría de los ejemplos utilizan el proveedor. VirtualBox VirtualBox es gratuito y está disponible para los sistemas Linux, Windows y Macintosh. El tutorial de Vagrant proporciona instrucciones de instalación si aún no las tiene en su sistema. VirtualBox Tenga en cuenta que puede ejecutar entornos basados en Ubuntu VirtualBox, pero Amazon Linux solo está disponible para instancias de Amazon EC2. Sin embargo, puede ejecutar un sistema operativo similar, como CentOS VirtualBox, lo cual es útil para el desarrollo y las pruebas iniciales.

Para obtener más información sobre otros proveedores, consulte la documentación de Vagrant. En particular, el proveedor de complementos vagrant-aws le permite utilizar Vagrant con instancias de Amazon EC2. Este proveedor es especialmente útil para probar recetas en Amazon Linux, que solo está disponible en instancias de Amazon EC2. El proveedor vagrant-aws es gratuito, pero debe disponer de una cuenta de AWS y pagar por los recursos de AWS que utilice.

En este momento, debe hacer el tutorial de introducción de Vagrant, que describe cómo instalar Vagrant en la estación de trabajo y enseña cuestiones básicas sobre cómo usar Vagrant. Tenga en cuenta que los ejemplos de este capítulo no utilizan un repositorio de Git, por lo que puede omitir esa parte del tutorial si lo prefiere.

Test Kitchen

Test Kitchen simplifica el proceso de ejecutar y probar sus libros de recetas en Vagrant. En realidad, casi nunca tendrá que usar Vagrant directamente. Test Kitchen realiza la mayoría de las tareas comunes, entre las que se incluyen:

  • Lanzar una instancia en Vagrant.

  • Transferir libros de recetas a la instancia.

  • Ejecutar recetas del libro de recetas en la instancia.

  • Probar recetas del libro de recetas en la instancia.

  • Usar SSH para iniciar sesión en la instancia.

En lugar de instalar la gema de Test Kitchen directamente, le recomendamos instalar Chef DK. Además del propio Chef, este paquete incluye Test Kitchen, Berkshelf y varias otras herramientas útiles. ChefSpec

En este momento, debe hacer el tutorial de introducción, el cual enseña los aspectos básicos relacionados con el uso de Test Kitchen para ejecutar y probar recetas.

nota

Los ejemplos que aparecen en este capítulo utilizan Test Kitchen para ejecutar recetas cómodamente. Si lo prefiere, puede dejar el tutorial de introducción una vez finalizada la sección sobre verificación manual, la cual trata todo lo que necesita saber para los ejemplos. No obstante, Test Kitchen es principalmente una plataforma de pruebas compatible con marcos de pruebas como, por ejemplo, el sistema de pruebas automatizadas de bash (BATS). En algún momento deberá completar el resto del tutorial para saber cómo utilizar Test Kitchen para probar las recetas.