AWS OpsWorks Pilas - 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 Pilas

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 actuales. 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.

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 proporciona una forma sencilla y flexible de crear y gestionar pilas y aplicaciones.

Así es como se vería una pila básica de servidores de aplicaciones con AWS OpsWorks Stacks. Consta de un grupo de servidores de aplicaciones que se ejecuta detrás de un equilibrador de carga elástico que dispone de un servidor de bases de datos de Amazon RDS 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 Amazon 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.

Para todas las pilas, AWS OpsWorks Stacks incluye capas de servicios, 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 LifeCycle

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 características clave de AWS OpsWorks Stacks es un conjunto de eventos del ciclo de vida (configuración, implementación, desimplementación y cierre) que ejecutan automáticamente un conjunto específico de recetas en el momento adecuado 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 termina de arrancar, Stacks hace lo siguiente. AWS OpsWorks

  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 puedas, por ejemplo, tener una instancia que admita un servidor de aplicaciones PHP y un servidor de bases de datos MySQL.

Si has implementado recetas, puedes asignar cada receta a la capa y al evento adecuados y AWS OpsWorks Stacks las ejecutará automáticamente en el momento adecuado. También puede ejecutar recetas manualmente en cualquier momento.

instancias

Una instancia representa un único recurso informático como, por ejemplo, una instancia de Amazon EC2. 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 Amazon EBS. 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.

Puedes usar AWS OpsWorks Stacks para crear instancias y añadirlas a una capa. Al iniciar la instancia, AWS OpsWorks Stacks lanza una instancia de Amazon EC2 con los ajustes de configuración especificados por la instancia y su capa. Cuando la instancia de Amazon EC2 finaliza el proceso de arranque, AWS OpsWorks 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 instancias, que se caracterizan por la forma en que se inician y se detienen.

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

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

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

  • AWS OpsWorks Stacks inicia y detiene automáticamente las instancias basadas en la carga, en función de métricas de carga específicas, 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 reparación automática de instancias. Si un agente deja de comunicarse con el servicio, AWS OpsWorks Stacks detiene y reinicia automáticamente la instancia.

También puedes incorporar recursos informáticos basados en Linux en una pila que se creó fuera de Stacks. AWS OpsWorks

  • 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 hayas registrado una de estas instancias, pasará a ser una instancia de AWS OpsWorks Stacks y podrás administrarla prácticamente de la misma manera que las instancias que creas con Stacks. AWS OpsWorks

Aplicaciones

Puede almacenar aplicaciones y archivos relacionados en un repositorio, como un bucket de Amazon S3. 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. Cuando despliegas una aplicación, AWS OpsWorks Stacks activa un evento Deploy, que ejecuta las recetas de Deploy en las instancias de la pila.

Puede implementar aplicaciones de la siguiente forma:

  • Automáticamente: cuando inicias las instancias, AWS OpsWorks Stacks ejecuta automáticamente las recetas de despliegue 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.

Por lo general, haces que AWS OpsWorks Stacks ejecute las recetas de implementación en toda la pila, lo que permite que las instancias de las otras capas modifiquen su configuración de forma adecuada. 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:

  • Puedes modificar la forma en que AWS OpsWorks Stacks configura los paquetes anulando los atributos que representan los distintos ajustes de configuración o incluso anulando las plantillas utilizadas para crear los 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 Amazon S3 o Git.

Puedes ejecutar las recetas manualmente, pero AWS OpsWorks Stacks también te permite automatizar el proceso al admitir un conjunto de 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 de despliegue en una instancia de servidor de aplicaciones, AWS OpsWorks Stacks ejecuta las recetas de despliegue de la capa para descargar la aplicación o realizar tareas relacionadas.

Administración de recursos

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

Seguridad y permisos

AWS OpsWorks Stacks se integra con AWS Identity and Access Management (IAM) para proporcionar formas sólidas de controlar la forma en que los usuarios acceden a AWS OpsWorks Stacks, incluidas 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 Amazon EC2 de una pila.

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

  • Cómo las aplicaciones que se ejecutan en las instancias de AWS OpsWorks Stacks pueden acceder a los recursos de AWS, como los buckets de Amazon S3.

  • 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 funciones que te ayudan a monitorizar tu pila y a solucionar problemas relacionados con ella y con cualquier receta. Para todas las pilas:

  • AWS OpsWorks Stacks proporciona un conjunto de CloudWatch métricas personalizadas para las pilas de Linux, que se resumen para tu comodidad en la página de monitorización.

    AWS OpsWorks Stacks es compatible con las CloudWatch métricas estándar de las pilas de Windows. Puedes supervisarlas con la CloudWatch consola.

  • CloudTrail registros, que registran las llamadas a la API realizadas por AWS OpsWorks Stacks o en su nombre en tu 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 Ganglia, que puede utilizar para recopilar y mostrar los datos de monitorización detallada para las instancias de la pila.

CLI, SDK y AWS CloudFormation plantillas

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

También puedes usar AWS CloudFormation plantillas para aprovisionar pilas. Para ver algunos ejemplos, consulte AWS OpsWorks Snippets.