Crear un nodo maestro de 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.

Crear un nodo maestro de 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.

Puedes crear un Puppet Master con la OpsWorks consola de Puppet Enterprise o con la. AWS CLI

Cree un Puppet Enterprise Master mediante el AWS Management Console

  1. Inicie sesión en la AWS OpsWorks consola AWS Management Console y ábrala en https://console.aws.amazon.com/opsworks/.

  2. En la página de AWS OpsWorks inicio, selecciona Ir a OpsWorks para Puppet Enterprise.

    AWS OpsWorks página principal de servicios
  3. En la página principal OpsWorks de Puppet Enterprise, elija Crear servidor de Puppet Enterprise.

    Panel de nodo maestro de Puppet
  4. En la página Set name, region, and type (Establecer nombre, región y tipo), especifique un nombre para su servidor. Los nombres de nodo maestro de Puppet pueden tener un máximo de 40 caracteres, deben empezar por una letra y solo pueden contener caracteres alfanuméricos y guiones. Seleccione una región compatible y, a continuación, elija un tipo de instancia que admita el número de nodos que desee gestionar. Puede cambiar el tipo de instancia después de haber creado su servidor, si fuera necesario. En este tutorial, vamos a crear un tipo de instancia m5.large en la región de Oeste de EE. UU. (Oregón). Elija Siguiente.

    Página para establecer nombre, región y tipo
  5. En la página Configure server (Configurar servidor), deje la selección predeterminada en la lista desplegable SSH key (Clave SSH), a menos que desee especificar el nombre de un par de claves. En el campo r10k remote del área Configure Puppet Code Manager, especifique una URL de SSH o HTTPS válida de su Git remoto. En el campo de clave privada r10k, pega la clave privada SSH que AWS OpsWorks puedes usar para acceder al repositorio remoto r10k. Este es un servicio proporcionado por Git al crear un repositorio privado, pero no es obligatorio si utiliza la autenticación HTTPS para acceder a su repositorio de control. Elija Siguiente.

    Página Configurar servidor
  6. En Specify server endpoint (Especificar un punto de enlace de servidor), deje el valor predeterminado, Use an automatically-generated endpoint (Usar un punto de enlace generado automáticamente) y, a continuación, elija Next (Siguiente), a menos que desee que su servidor se encuentre en un dominio personalizado propio. Para configurar un dominio personalizado, vaya al paso siguiente.

  7. Para utilizar un dominio personalizado, para Specify server endpoint (Especificar punto de enlace de servidor), seleccione Use a custom domain (Utilizar un dominio personalizado) en la lista desplegable.

    1. En Fully qualified domain name (FQDN) (Nombre de dominio completo (FQDN)), especifique un FQDN. Debe poseer el nombre de dominio que desea utilizar.

    2. En SSL certificate (Certificado SSL), pegue todo el certificado completo con formato PEM, empezando por –––--BEGIN CERTIFICATE----- y terminando por –––--END CERTIFICATE-----. El sujeto del certificado SSL debe coincidir con el FQDN especificado en el paso anterior. Elimine las líneas adicionales antes y después del certificado.

    3. En SSL private key (Clave privada SSL), pegue la clave privada RSA completa, empezando por –––--BEGIN RSA PRIVATE KEY----- y terminando por –––--END RSA PRIVATE KEY-----. La clave privada SSL debe coincidir con la clave pública del certificado SSL que especificó en el paso anterior. Elimine las líneas adicionales antes y después de la clave privada. Elija Siguiente.

  8. En la página Configurar opciones avanzadas, en el área Red y seguridad, elija una VPC, una subred y uno o más grupos de seguridad. AWS OpsWorks puede generarle un grupo de seguridad, un rol de servicio y un perfil de instancia, si aún no tiene ninguno que desee usar. El servidor puede ser un miembro de varios grupos de seguridad. Tras abandonar esta página, ya no podrá cambiar los ajustes de red y de seguridad del nodo maestro de Puppet.

    Redes y seguridad
  9. En la sección System maintenance (Mantenimiento del sistema), defina el día y la hora en los que desee comenzar con el mantenimiento del sistema. Puesto que lo normal es que el servidor quede sin conexión durante las operaciones de mantenimiento del sistema, elija un momento en el horario laboral de baja demanda del servidor.

    Es preciso contar con un período de mantenimiento. Puede cambiar el día y la hora de inicio más adelante mediante las API AWS Management Console AWS CLI, o las API.

    Mantenimiento del sistema
  10. Configure copias de seguridad. Las copias de seguridad automáticas están habilitadas de forma predeterminada. Establezca una frecuencia y una hora en la que se prefiera iniciar las copias de seguridad automáticas y establezca el número de copias de seguridad generadas que almacenar en Amazon Simple Storage Service. Se puede guardar un máximo de 30 copias de seguridad; cuando se alcanza el máximo, OpsWorks Puppet Enterprise elimina las copias de seguridad más antiguas para dejar espacio a las nuevas.

    Copias de seguridad automáticas
  11. (Opcional) En Tags (Etiquetas), agregue etiquetas al servidor y recursos relacionados, como la instancia EC2, la dirección IP elástica, el grupo de seguridad, el bucket de S3 y las copias de seguridad. Para obtener más información sobre cómo etiquetar un OpsWorks servidor de Puppet Enterprise, consulte. Trabajar con etiquetas en AWS OpsWorks for Puppet Enterprise los recursos

  12. Cuando haya terminado con la configuración avanzada, elija Next (Siguiente).

  13. En la página Review (Revisar), revise las opciones seleccionadas. Cuando esté listo para crear el servidor, elija Launch (Lanzar).

    Mientras esperas AWS OpsWorks para crear tu Puppet Master, descarga el kit de inicio Configurar el nodo maestro de Puppet con el kit de inicio y las credenciales de la consola de Puppet Enterprise. No espere hasta que el servidor esté online para descargarlos.

    Cuando finalice la creación del servidor, tu Puppet Master estará disponible en la página principal OpsWorks de Puppet Enterprise, con el estado en línea. Una vez que el servidor esté online, la consola de Puppet Enterprise estará disponible en el dominio del servidor, en una URL en el siguiente formato: https://your_server_name-randomID.region.opsworks-cm.io.

Cree un Puppet Enterprise Master mediante el AWS CLI

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.

Crear un servidor maestro OpsWorks para Puppet Enterprise mediante la ejecución de AWS CLI comandos no es lo mismo que crear un servidor en la consola. En la consola, AWS OpsWorks crea un rol de servicio y un grupo de seguridad para usted, si no especifica los existentes que desee utilizar. En el AWS CLI, AWS OpsWorks puede crear un grupo de seguridad para usted si no lo especifica, pero no crea automáticamente un rol de servicio; debe proporcionar un ARN de rol de servicio como parte del comando. create-server En la consola, mientras AWS OpsWorks crea su Puppet Master, descarga el kit de inicio y las credenciales de inicio de sesión de la consola de Puppet Enterprise. Como no puede hacerlo al crear una versión maestra OpsWorks para Puppet Enterprise mediante la AWS CLI, debe utilizar una utilidad de procesamiento de JSON para obtener las credenciales de inicio de sesión y el kit de inicio a partir de los resultados del create-server comando una vez que la nueva OpsWorks versión maestra de Puppet Enterprise esté en línea.

Si su ordenador local aún no está ejecutando el AWS CLI, descárguelo e instálelo AWS CLI siguiendo las instrucciones de instalación de la Guía del usuario de la interfaz de línea de comandos de AWS. En esta sección no se describen todos los parámetros que se pueden utilizar con el comando create-server. Para obtener más información sobre los parámetros de create-server, consulte create-server en la Referencia de la AWS CLI .

  1. Asegúrese de completar los Requisitos previos. Para crear el nodo maestro de Puppet, necesita un ID de subred, por lo que debe disponer de una VPC.

  2. Cree un rol de servicio y un perfil de instancia. AWS OpsWorks proporciona una AWS CloudFormation plantilla que puede utilizar para crear ambos. Ejecuta el siguiente AWS CLI comando para crear una AWS CloudFormation pila que cree automáticamente el rol de servicio y el perfil de instancia.

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM
  3. Cuando AWS CloudFormation termines de crear la pila, busca y copia los ARN de las funciones de servicio de tu cuenta.

    aws iam list-roles --path-prefix "/service-role/" --no-paginate

    En los resultados del comando list-roles, busque entradas de ARN del rol de servicio que tengan el siguiente aspecto. Anote los ARN de rol de servicio. Necesitará estos valores cuando cree el maestro de Puppet Enterprise.

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  4. Busque y copie los ARN de perfiles de instancia de su cuenta.

    aws iam list-instance-profiles --no-paginate

    En los resultados del comando list-instance-profiles, busque entradas de ARN del perfil de instancia que tengan el siguiente aspecto. Anote los ARN de perfil de instancia. Necesitará estos valores cuando cree el maestro de Puppet Enterprise.

    { "Path": "/", "InstanceProfileName": "aws-opsworks-cm-ec2-role", "InstanceProfileId": "EXAMPLEDC6UR3LTUW7VHK", "Arn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "Roles": [ { "Path": "/service-role/", "RoleName": "aws-opsworks-cm-ec2-role", "RoleId": "EXAMPLEE4STNUQG6R22HC", "Arn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] },
  5. Cree el servidor principal OpsWorks de Puppet Enterprise ejecutando el create-server comando.

    • El valor--engine es Puppet, --engine-model es Monolithic, y --engine-version puede ser 2019 o 2017.

    • El nombre del servidor debe ser único en su AWS cuenta, en cada región. Los nombres de servidor deben comenzar por una letra, y pueden contener letras, números o guiones (-) hasta un máximo de 40 caracteres.

    • Utilice los ARN del perfil de instancia y del rol de servicio que ha copiado en los pasos 3 y 4.

    • Los tipos de instancia válidos son m5.xlarge, c5.2xlarge o c5.4xlarge. Para obtener más información sobre las especificaciones de estos tipos de instancia, consulte Tipos de instancia en la Guía del usuario de Amazon EC2.

    • El parámetro --engine-attributes es opcional; si no se especifica una contraseña para el administrador de Puppet, el proceso de creación del servidor genera una automáticamente. Si añade --engine-attributes, especifique una PUPPET_ADMIN_PASSWORD, una contraseña de administrador para iniciar sesión en la página web de la consola de Puppet Enterprise. La contraseña debe tener una longitud comprendida entre 8 y 32 caracteres ASCII.

    • El uso de un par de claves SSH es opcional, pero puede ayudarle a conectarse al nodo maestro de Puppet si necesita restablecer la contraseña del administrador de la consola. Para obtener más información sobre la creación de un par de claves SSH, consulte Pares de claves de Amazon EC2 en la Guía del usuario de Amazon EC2.

    • Para utilizar un dominio personalizado, agregue los siguientes parámetros al comando. De lo contrario, el proceso de creación del servidor maestro de Puppet genera automáticamente un punto de enlace para usted. Los tres parámetros son necesarios para configurar un dominio personalizado. Para obtener información sobre los requisitos adicionales para el uso de estos parámetros, consulte CreateServerla referencia de la API de AWS OpsWorks CM.

      • --custom-domain: un punto de enlace público opcional de un servidor, como https://aws.my-company.com.

      • --custom-certificate: un certificado HTTPS con formato PEM. El valor puede ser un solo certificado autofirmado o una cadena de certificados.

      • --custom-private-key: una clave privada en formato PEM para conectarse al servidor mediante HTTPS. La clave privada no debe cifrarse; no se puede proteger mediante una contraseña o una frase de contraseña.

    • Es necesario un mantenimiento del sistema semanal. Los valores válidos deben especificarse en el siguiente formato: DDD:HH:MM. La hora debe especificarse de acuerdo con la hora universal coordinada (UTC). Si no especifica un valor para --preferred-maintenance-window, el valor predeterminado es un periodo aleatorio de una hora el martes, miércoles o viernes.

    • Los valores válidos para --preferred-backup-window se deben especificar en uno de los siguientes formatos: HH:MM para las copias de seguridad diarias o DDD:HH:MM para las copias de seguridad semanales. La hora debe especificarse en horario UTC. El valor predeterminado es una hora de inicio diaria aleatoria. Para cancelar las copias de seguridad automáticas, añada el parámetro --disable-automated-backup en su lugar.

    • Para --security-group-ids, introduzca uno o varios ID de grupos de seguridad, separados por un espacio.

    • Para --subnet-ids, introduzca un ID de subred.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"ASCII_password"}' --key-pair "key_pair_name" --preferred-maintenance-window "ddd:hh:mm" --preferred-backup-window "ddd:hh:mm" --security-group-ids security_group_id1 security_group_id2 --service-role-arn "service_role_ARN" --subnet-ids subnet_ID

    A continuación, se muestra un ejemplo.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "puppet-02" --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.xlarge" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" --preferred-backup-window "Sun:02:00" --security-group-ids sg-b00000001 sg-b0000008 --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-383daa71

    En el ejemplo siguiente se crea un servidor maestro de Puppet que utiliza un dominio personalizado.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-puppet-master.my-corp.com" \ --custom-certificate "-----BEGIN CERTIFICATE----- EXAMPLEqEXAMPLE== -----END CERTIFICATE-----" \ --custom-private-key "-----BEGIN RSA PRIVATE KEY----- EXAMPLEqEXAMPLE= -----END RSA PRIVATE KEY-----" \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71

    En el ejemplo siguiente, se crea un nodo maestro de Puppet que agrega dos etiquetas: Stage: Production y Department: Marketing. Para obtener más información sobre cómo añadir y administrar etiquetas en OpsWorks los servidores de Puppet Enterprise, consulte Trabajar con etiquetas en AWS OpsWorks for Puppet Enterprise los recursos esta guía.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  6. OpsWorks en el caso de Puppet Enterprise, se tarda unos 15 minutos en crear un servidor nuevo. No descarte la salida del comando create-server ni cierre la sesión del shell, ya que la salida puede contener información importante que no se volverá a mostrar. Para obtener las contraseñas y el kit de inicio de los resultados de create-server, continúe en el siguiente paso.

    Si está utilizando un dominio personalizado con el servidor, en la salida del comando create-server, copie el valor del atributo Endpoint. A continuación, se muestra un ejemplo.

    "Endpoint": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  7. Si ha optado OpsWorks por que Puppet Enterprise genere una contraseña para usted, puede extraerla en un formato utilizable a partir de los create-server resultados utilizando un procesador JSON como jq. Después de instalar jq, puede ejecutar los siguientes comandos para extraer la contraseña de administrador y el kit de inicio de Puppet. Si no ha proporcionado su propia contraseña en el paso 3, asegúrese de guardar la contraseña de administrador extraída en un lugar cómodo y seguro.

    #Get the Puppet password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_ADMIN_PASSWORD") | .Value' #Get the Puppet Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
    nota

    No se puede regenerar un nuevo kit de inicio del nodo maestro de Puppet en la AWS Management Console. Al crear un Puppet master mediante el comando anterior AWS CLI, ejecute el jq comando anterior para guardar el kit de inicio codificado en base64 incluido en los create-server resultados como un archivo ZIP.

  8. Si no está utilizando un dominio personalizado, vaya al paso siguiente. Si utiliza un dominio personalizado con el servidor, cree una entrada CNAME en la herramienta de administración de DNS de su empresa para dirigir su dominio personalizado al punto final de Puppet Enterprise que OpsWorks copió en el paso 6. No puede acceder a un servidor con un dominio personalizado ni iniciar sesión en él hasta que complete este paso.

  9. Continúe en la sección siguiente, Configurar el nodo maestro de Puppet con el kit de inicio.