Añadir nodos automáticamente en OpsWorks Puppet Enterprise - 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.

Añadir nodos automáticamente en OpsWorks Puppet Enterprise

importante

El AWS OpsWorks for Puppet Enterprise servicio llegó al final de su vida útil el 31 de marzo 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.

En este tema se describe cómo añadir automáticamente los nodos de Amazon Elastic Compute Cloud (Amazon EC2) al OpsWorks servidor de Puppet Enterprise. En Añadir nodos para que los administre el nodo maestro de Puppet aprendió a utilizar el comando associate-node para agregar nodos, uno por uno, al servidor de Puppet Enterprise. En el código incluido en este tema se añaden nodos automáticamente utilizando el método desatendido. El método recomendado de asociación desatendida (o automática) de nuevos nodos consiste en configurar los datos de usuario de Amazon EC2. De forma predeterminada, ya puppet-agenthay disponible un servidor OpsWorks para Puppet Enterprise para los sistemas operativos de nodos Ubuntu, Amazon Linux y RHEL.

Para obtener información sobre cómo desasociar un nodo, consulte esta guía y Desasociar un nodo de un servidor OpsWorks for Puppet Enterprise la documentación de la OpsWorks API disassociate-nodede Puppet Enterprise.

Paso 1: Crear un rol de IAM para usarlo como perfil de instancia

Cree un rol AWS Identity and Access Management (de IAM) para usarlo como perfil de instancia de EC2 y adjunte la siguiente política al rol de IAM. Esta política permite al API opsworks-cm comunicarse con la instancia EC2 durante el registro del nodo. Para obtener más información acerca de los perfiles de instancia, consulte Uso de perfiles de instancia en la documentación de Amazon EC2. Para obtener información sobre cómo crear un rol de IAM, consulte Creating an IAM Role in the Console en la documentación de Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }

AWS OpsWorks proporciona una AWS CloudFormation plantilla que puede utilizar para crear el rol de IAM con la declaración de política anterior. El siguiente AWS CLI comando crea el rol de perfil de instancia automáticamente mediante esta plantilla. Puede omitir el --region parámetro si quiere crear la nueva AWS CloudFormation pila en la región predeterminada.

aws cloudformation --region region ID create-stack --stack-name myPuppetinstanceprofile --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/owpe/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM

Paso 2: Crear instancias usando un script de asociación desatendida

Para crear instancias de EC2, puede copiar el script de datos de usuario que se incluye en el kit de inicio en la userdata sección de instrucciones de instancias de EC2, configuraciones de lanzamiento de grupos de Amazon EC2 Auto Scaling o una plantilla. AWS CloudFormation El script solo puede utilizarse con instancias EC2 que ejecutan sistemas operativos Ubuntu y Amazon Linux. Para obtener más información sobre la adición de scripts a los datos de usuario, consulte Ejecución de comandos en su instancia de Linux en el lanzamiento en la documentación de Amazon EC2. La forma más sencilla de crear un nuevo nodo consiste en utilizar el asistente de lanzamiento de instancia de Amazon EC2. Este tutorial utiliza la configuración de módulo de ejemplo de servidor web Apache que se describe en la Primeros pasos con OpsWorks Puppet Enterprise.

  1. El script de datos de usuario del Starter Kit ejecuta el comando de la API opsworks-cm associate-node para asociar un nuevo nodo con el nodo maestro de Puppet. En esta versión, también instala automáticamente la versión actual AWS CLI en el nodo, en caso de que aún no esté ejecutando la mayoría de las versiones. up-to-date Guarde este script en una ubicación adecuada como userdata.sh.

    De forma predeterminada, el nombre del nuevo nodo registrado es el ID de instancia.

  2. Siga el procedimiento de la sección Lanzamiento de una instancia en la documentación de EC2, con las modificaciones que se indican aquí. En el asistente de lanzamiento de instancias EC2, elija una AMI de Amazon Linux.

  3. En la página Configure Instance Details (Configurar detalles de la instancia), seleccione myPuppetinstanceprofile, la función que creó en Paso 1: Crear un rol de IAM para usarlo como perfil de instancia, como su función de IAM.

  4. En el área Advanced Details (Detalles avanzados), cargue el script userdata.sh que creó en el paso 1.

  5. No se requieren cambios en la página Add Storage (Añadir almacenamiento). Acceda a Add Tags (Añadir etiquetas).

    Al aplicar etiquetas a su instancia EC2, puede personalizar el comportamiento de userdata.sh. En este ejemplo, aplique el rol apache_webserver a su nodo añadiendo la siguiente etiqueta: pp_role, con el valor apache_webserver.

    Al establecer el valor pp_role en el nodo se establecen valores de datos que están almacenados permanentemente en el certificado de agente del nodo, habilitando la clasificación de confianza del nodo. Para obtener más información, consulte Extension requests (permanent certificate data) en la documentación de la plataforma de Puppet.

  6. En la página Configurar grupo de seguridad, elija Añadir regla y, a continuación, elija el tipo HTTP para abrir los puertos número 443 y 80 del servidor web Apache de este ejemplo.

  7. Elija Review and Launch (Revisar y lanzar) y, a continuación, elija Launch (Lanzar). Cuando comienza el nuevo nodo, aplica la configuración de Apache al módulo de ejemplo que ha configurado en Ejemplo de configuración del kit de inicio de Apache.

  8. Cuando abra la página web vinculada a la DNS pública de su nuevo nodo, debería ver un sitio web alojado por su servidor web Apache administrado por Puppet.