AWS OpsWorks Stacks - 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.

AWS OpsWorks Stacks

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 obtener 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 la informática basada en la nube, suelen participar varios grupos de recursos de AWS, como instancias de EC2 e instancias de Amazon Relational Database Service (RDS), que deben crearse y administrarse colectivamente. Por ejemplo, una aplicación web normalmente requiere servidores de aplicaciones, servidores de bases de datos, balanceadores de carga, etc. Este grupo de instancias suele denominarse pila. Una simple pila del servidor de aplicaciones podría tener el siguiente aspecto.

Además de crear las instancias e instalar los paquetes necesarios, normalmente necesitará una forma de distribuir las aplicaciones entre los servidores de aplicaciones, monitorizar el desempeño de la pila, administrar la seguridad y los permisos, etc.

AWS OpsWorks Stacks ofrece una forma sencilla y flexible de crear y administrar pilas y aplicaciones.

Este es el aspecto que puede tener una pila del servidor de aplicaciones básica con AWS OpsWorks Stacks. La pila consta de un grupo de servidores de aplicaciones que se ejecuta detrás de un balanceador de carga de y que dispone de un servidor de bases de datos de de backend.

Aunque es relativamente simple, esta pila muestra todas las características clave de AWS OpsWorks Stacks. Así es como se crea.

Pilas

La pila es el componente principal de AWS OpsWorks Stacks. Se trata básicamente de un contenedor para recursos de AWS (instancias de Amazon EC2, instancias de base de datos de Amazon RDS, etc.) que tienen un objetivo común y que, lógicamente, deberían administrarse de manera conjunta. La pila le ayuda a administrar estos recursos como un grupo y también define algunas opciones de configuración predeterminadas, como el sistema operativo y la región de AWS de las instancias. Si desea aislar algunos de los componentes de la pila de la interacción directa del usuario, puede ejecutar la pila en una VPC.

Capas

Los componentes de la pila se definen mediante la adición de una o varias capas. Una capa representa un conjunto de instancias EC2 que sirven para un determinado propósito, como la entrega de aplicaciones o el alojamiento de un servidor de bases de datos.

Puede personalizar o ampliar las capas modificando la configuración predeterminada de los paquetes, añadiendo las recetas de Chef para realizar tareas, como la instalación de paquetes adicionales, y mucho más.

AWS OpsWorks Stacks incluye capas de servicio para todas las pilas, que representan los siguientes servicios de AWS.

  • Amazon Relational Database Service

  • Elastic Load Balancing

  • Amazon Elastic Container Service

Las capas ofrecen un control total sobre los paquetes que se instalan, la manera en que se configuran, la forma en que se implementan las aplicaciones, etc.

Recetas y eventos del ciclo de vida

Las capas dependen de las recetas de Chef para gestionar las tareas, como la instalación de paquetes en instancias, la implementación de aplicaciones, la ejecución de scripts, etc. Una de las principales características de AWS OpsWorks Stacks es un conjunto de eventos del ciclo de vida (instalación, configuración, implementación, anulación de la implementación y cierre) que, de forma automática, ejecutan un conjunto de recetas específico en el momento oportuno en cada instancia.

Cada capa puede tener un conjunto de recetas asignado a cada evento del ciclo de vida, que gestiona una serie de tareas para dicho evento y dicha capa. Por ejemplo, cuando una instancia que pertenece a una capa de servidor web finaliza el proceso de arranque, AWS OpsWorks Stacks realiza lo siguiente.

  1. Ejecuta las recetas Setup de la capa, que pueden realizar tareas como la instalación y la configuración de un servidor web.

  2. Ejecuta las recetas Deploy de la capa, que implementan las aplicaciones de la capa desde un repositorio en la instancia y realizan tareas relacionadas, como reiniciar el servicio.

  3. Ejecuta las recetas Configure en cada instancia de la pila de modo que cada instancia puede ajustar su configuración según sea necesario para adaptarse a la nueva instancia.

    Por ejemplo, en una instancia que ejecuta un balanceador de carga, una receta Configure podría modificar la configuración del balanceador de carga para incluir la nueva instancia.

Si una instancia pertenece a varias capas, AWS OpsWorks Stacks ejecuta las recetas para cada capa para que pueda, por ejemplo, tener una instancia que admita un servidor de aplicaciones PHP y un servidor de bases de datos MySQL.

Si ha implementado recetas, puede asignar cada receta a la capa y al evento apropiadas y AWS OpsWorks Stacks las ejecuta automáticamente por usted en el momento oportuno. También puede ejecutar recetas manualmente en cualquier momento.

Instancias

Una instancia representa un único recurso informático como, por ejemplo, una instancia de . que define la configuración básica del recurso, como el sistema operativo y el tamaño. Las capas de la instancia definen otras opciones de configuración como, por ejemplo, las direcciones IP elásticas o los volúmenes de . Las recetas de la capa completan la configuración mediante la realización de tareas tales como la instalación y la configuración de paquetes y la implementación de aplicaciones.

Puede utilizar AWS OpsWorks Stacks para crear instancias y añadirlas a una capa. Al iniciar la instancia, Stacks lanza una instancia de utilizando las opciones de configuración especificadas por la instancia y su capa. Cuando la instancia de finaliza el proceso de arranque, Stacks instala un agente que gestiona la comunicación entre la instancia y el servicio y ejecuta las recetas adecuadas en respuesta a los eventos del ciclo de vida.

AWS OpsWorks Stacks admite los siguientes tipos de instancia, que se caracterizan por la forma en que se inician y detienen.

  • Las instancias de funcionamiento ininterrumpido se inician manualmente y se ejecutan hasta que las detiene el usuario.

  • Las instancias basadas en tiempo las ejecuta AWS OpsWorks Stacks siguiendo una programación semanal y diaria específica.

    Estas instancias permiten a la pila ajustar automáticamente el número de instancias para adaptarse a los patrones de uso predecibles.

  • Las instancias basadas en carga las inicia y detiene automáticamente AWS OpsWorks Stacks, en función de las métricas de carga especificadas, como el uso de la CPU.

    Estas instancias permiten a la pila ajustar automáticamente el número de instancias para adaptarse a las variaciones del tráfico entrante. Las instancias basadas en carga solo están disponibles para las pilas basadas en Linux.

AWS OpsWorks Stacks admite la recuperación automática de instancias. Si un agente deja de comunicarse con el servicio, AWS OpsWorks Stacks se detiene automáticamente y reinicia la instancia.

También puede incorporar recursos informáticos basados en Linux en una pila creada fuera de AWS OpsWorks Stacks.

  • Las instancias de Amazon EC2 que ha creado directamente mediante la consola de Amazon EC2, la CLI o la API

  • Las instancias on-premises que se ejecutan en su propio hardware, incluidas las instancias que se ejecutan en máquinas virtuales

Una vez que haya registrado una de estas instancias, pasa a ser una instancia AWS OpsWorks Stacks y puede administrarla prácticamente de la misma forma que las instancias que crea con AWS OpsWorks Stacks.

móviles

Puede almacenar aplicaciones y archivos relacionados en un repositorio, como un bucket de . Cada aplicación está representada por una aplicación, que especifica el tipo de aplicación y contiene la información necesaria para implementar la aplicación desde el repositorio en sus instancias, como la dirección URL y la contraseña del repositorio. Al implementar una aplicación, AWS OpsWorks Stacks dispara un evento Deploy que ejecuta recetas Deploy en las instancias de la pila.

Puede implementar aplicaciones de la siguiente forma:

  • Automáticamente: al iniciar las instancias, AWS OpsWorks Stacks ejecuta automáticamente la receta Deploy de la instancia.

  • Manualmente: si tiene una nueva aplicación o desea actualizar una existente, puede ejecutar manualmente las recetas Deploy de las instancias online.

Normalmente AWS OpsWorks Stacks ejecuta las recetas Deploy en toda la pila, lo que permite que las demás instancias de la capa modifiquen su configuración correspondientemente. Sin embargo, puede limitar la implementación a un subconjunto de instancias si, por ejemplo, desea probar una nueva aplicación antes de implementarla en cada instancia del servidor de aplicaciones.

Personalización de la pila

AWS OpsWorks Stacks proporciona varias formas de personalizar capas que permiten atender requisitos específicos:

  • Puede modificar cómo AWS OpsWorks Stacks configura paquetes anulando los atributos que representan las distintas opciones de configuración o incluso anulando las plantillas que se utilizan para crear archivos de configuración.

  • Puede ampliar una capa existente proporcionando sus propias recetas para realizar tareas como la ejecución de scripts o la instalación y configuración de paquetes no estándares.

Todas las pilas pueden incluir una o varias capas, que empiezan teniendo un conjunto mínimo de recetas. Puede añadir funcionalidades a la capa mediante la implementación de recetas para gestionar tareas como la instalación de paquetes, la implementación de aplicaciones, etc. Puede empaquetar sus recetas personalizadas y archivos relacionados en uno o varios libros de recetas y almacenar los libros de recetas en un repositorio, como o Git.

Puede ejecutar recetas manualmente, pero AWS OpsWorks Stacks también le permite automatizar el proceso es compatible con cinco eventos del ciclo de vida:

  • El evento Setup se produce en una instancia nuevas después de arrancar correctamente.

  • El evento Configure se produce en todas las instancias de la pila cuando una instancia pasa al o sale del estado online.

  • El evento Deploy se produce al implementar una aplicación.

  • El evento Undeploy se produce al eliminar una aplicación.

  • El elemento Shutdown se produce cuando se detiene una instancia.

Cada capa puede tener un número indefinido de recetas asignadas a cada evento. Cuando se produce un evento del ciclo de vida en la instancia de una capa, AWS OpsWorks Stacks ejecuta las recetas asociadas. Por ejemplo, cuando se produce un evento Deploy en una instancia del servidor de aplicaciones, AWS OpsWorks Stacks ejecuta las recetas Deploy de la capa para descargar la aplicación o para realizar las tareas relacionadas.

Administración de recursos

Puede incorporar otros recursos de AWS en la pila como, por ejemplo, direcciones IP elásticas. Puede utilizar la consola o la API de AWS OpsWorks Stacks para registrar los recursos con una pila, adjuntar los recursos registrados a las instancias o separarlos de las mismas y desplazar recursos de una instancia a otra.

Seguridad y permisos

AWS OpsWorks Stacks se integra con AWS Identity and Access Management (IAM) para proporcionar formas robustas de controlar el modo en que los usuarios obtienen acceso a AWS OpsWorks Stacks, entre las que se incluyen las siguientes:

  • Cómo pueden interactuar los diferentes usuarios con cada pila como, por ejemplo, si pueden crear recursos de la pila, como capas e instancias, o si pueden utilizar SSH o RDP para conectarse a instancias de de una pila.

  • Cómo puede actuar Stacks en su nombre para interactuar con los recursos de AWS, como las instancias de .

  • Cómo pueden obtener acceso a los recursos de AWS, como los buckets de , las aplicaciones que se ejecutan en instancias de Stacks.

  • Cómo administrar las claves SSH públicas y las contraseñas RDP de los usuarios y conectarse a una instancia.

Monitoreo y registro

AWS OpsWorks Stacks ofrece varias características que le ayudarán a monitorizar la pila y a solucionar los problemas con la pila y las recetas. Para todas las pilas:

  • AWS OpsWorks Stacks proporciona un conjunto de métricas de personalizadas para pilas de Linux, que hemos resumido para su comodidad en la página Monitorización.

    Stacks admite las métricas de estándares para pilas de Windows. Puede monitorizarlas con la consola de .

  • Los registros de registran las llamadas a las API realizadas por o en nombre de Stacks en su cuenta de AWS.

  • Un registro de eventos, que enumera todos los eventos de la pila.

  • Los registros de Chef que detallan lo que ha sucedido para cada evento del ciclo de vida en cada instancia, como las recetas que se han ejecutado y los errores que se han producido.

Las pilas basadas en Linux también pueden incluir una capa maestra de , que puede utilizar para recopilar y mostrar los datos de monitorización detallada para las instancias de la pila.

CLI, SDK y plantillas de AWS CloudFormation

Además de la consola, AWS OpsWorks Stacks también es compatible con una interfaz de línea de comandos (CLI) y con SDK de varios idiomas que se pueden utilizar para realizar cualquier operación. Tenga en cuenta estas características:

  • La CLI de AWS OpsWorks Stacks forma parte de la CLI de AWS y se puede utilizar para realizar cualquier operación desde la línea de comandos.

    La CLI de AWS admite múltiples servicios de AWS y se puede instalar en sistemas Windows, Linux o OS X.

  • Stacks se incluye en Herramientas de AWS para Windows PowerShell y se puede utilizar para realizar cualquier operación desde una línea de comandos de .

  • El SDK de AWS OpsWorks Stacks se incluye en el SDK de AWS, que pueden usar las aplicaciones que se implementan en: Java, JavaScript (basado en navegador y Node.js), .NET, PHP, Python (boto) o Ruby.

También puede utilizar las plantillas de AWS CloudFormation para aprovisionar pilas. Para ver algunos ejemplos, consulte Fragmentos de AWS OpsWorks.