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
Puedes crear un Puppet Master con la OpsWorks consola de Puppet Enterprise o con la. AWS CLI
Temas
Cree un Puppet Enterprise Master mediante el AWS Management Console
Inicie sesión en la AWS OpsWorks consola AWS Management Console y ábrala en https://console.aws.amazon.com/opsworks/
. -
En la página de AWS OpsWorks inicio, selecciona Ir a OpsWorks para Puppet Enterprise.
-
En la página principal OpsWorks de Puppet Enterprise, elija Crear servidor de Puppet Enterprise.
-
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.
-
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.
-
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.
-
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.
-
En Fully qualified domain name (FQDN) (Nombre de dominio completo (FQDN)), especifique un FQDN. Debe poseer el nombre de dominio que desea utilizar.
-
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. -
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.
-
-
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.
-
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.
-
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.
-
(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
-
Cuando haya terminado con la configuración avanzada, elija Next (Siguiente).
-
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
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
.
-
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.
-
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
-
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" }
-
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" } ] } } ] },
-
Cree el servidor principal OpsWorks de Puppet Enterprise ejecutando el
create-server
comando.-
El valor
--engine
esPuppet
,--engine-model
esMonolithic
, y--engine-version
puede ser2019
o2017
. -
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
oc5.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 unaPUPPET_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, comohttps://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 oDDD: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-idssecurity_group_id1
security_group_id2
--service-role-arn "service_role_ARN
" --subnet-idssubnet_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
yDepartment: 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\"}]
-
-
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 decreate-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 atributoEndpoint
. A continuación, se muestra un ejemplo."Endpoint": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
-
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 loscreate-server
resultados como un archivo ZIP. -
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.
-
Continúe en la sección siguiente, Configurar el nodo maestro de Puppet con el kit de inicio.