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.
Cree un AWS OpsWorks for Puppet Enterprise maestro mediante AWS CloudFormation
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
AWS OpsWorks for Puppet Enterprise permite ejecutar un servidor de Puppet Enterprise
A partir del 3 de mayo de 2021, OpsWorks Puppet Enterprise almacena algunos atributos del servidor de Puppet Enterprise en. AWS Secrets Manager Para obtener más información, consulte Integración con AWS Secrets Manager.
El siguiente tutorial te ayuda a crear un Puppet Master en Puppet Enterprise mediante OpsWorks la creación de una pila en. AWS CloudFormation
Requisitos previos
Antes de crear un nuevo Puppet Master, crea los recursos fuera de Puppet Enterprise que necesitarás OpsWorks para acceder a tu Puppet Master y administrarlo. Para obtener más información, consulte Requisitos previos en la sección Introducción de esta guía.
Si está creando un servidor que utiliza un dominio personalizado, necesita un dominio personalizado, un certificado y una clave privada. Debe especificar valores para estos tres parámetros en la plantilla. AWS CloudFormation Para obtener más información sobre los requisitos de CustomPrivateKey
los parámetros y CustomDomain
CustomCertificate
, consulte la referencia CreateServerde la API de AWS OpsWorks CM.
Consulte la sección OpsWorks -CM de la referencia de plantillas de la guía del AWS CloudFormation usuario para obtener información sobre los valores admitidos y obligatorios en la AWS CloudFormation plantilla que utiliza para crear el servidor.
Creación de un servidor maestro de Puppet Enterprise en AWS CloudFormation
En esta sección se describe cómo utilizar una AWS CloudFormation plantilla para crear una pila que cree un servidor maestro OpsWorks para Puppet Enterprise. Puede hacerlo mediante la AWS CloudFormation consola o el AWS CLI. Hay disponible una AWS CloudFormation plantilla de ejemplo que puede utilizar para crear una pila de servidores OpsWorks para Puppet Enterprise. Asegúrese de actualizar la plantilla de ejemplo con su propio nombre de servidor, roles de IAM, perfil de instancia, descripción del servidor, recuento de retención de copia de seguridad, opciones de mantenimiento y etiquetas opcionales. Si el servidor va a utilizar un dominio personalizado, debe especificar valores para los parámetros CustomPrivateKey
, CustomDomain
y CustomCertificate
en la plantilla de AWS CloudFormation . Para obtener más información sobre estas opciones, consulte Cree un Puppet Enterprise Master mediante el AWS Management Console en la sección Introducción de esta guía.
Temas
Cree un Puppet Enterprise Master mediante AWS CloudFormation (consola)
Inicie sesión en la AWS CloudFormation consola AWS Management Console y ábrala en https://console.aws.amazon.com/cloudformation
. -
En la página de AWS CloudFormation inicio, selecciona Crear pila.
-
En Prerequisite - Prepare template (Requisito previo: preparar plantilla), si va a usar la plantilla de ejemplo de AWS CloudFormation, elija Template is ready (La plantilla está lista).
-
En Specify template (Especificar plantilla), elija el origen de la plantilla. Para este tutorial, elija Cargar un archivo de plantilla y cargue una AWS CloudFormation plantilla que cree un servidor de Puppet Enterprise. Busque su archivo de plantilla y, a continuación, seleccione Next (Siguiente).
Una AWS CloudFormation plantilla puede estar en formato YAML o JSON. Hay una AWS CloudFormation plantilla de ejemplo disponible para que la utilices; asegúrate de reemplazar los valores de ejemplo por los tuyos propios. Puedes usar el diseñador AWS CloudFormation de plantillas para crear una plantilla nueva o validar una existente. Para obtener más información al respecto, consulte Información general de la interfaz AWS CloudFormation Designer en la Guía del usuario de AWS CloudFormation .
-
En la página Specify stack details (Especificar detalles de la pila), especifique un nombre para la pila. No será el mismo que el nombre del servidor: es solo el nombre de una pila. En el área Parameters (Parámetros), especifique 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. Elija Siguiente.
-
En la página Opciones, puede añadir etiquetas al servidor que va a crear con la pila y elegir un rol de IAM para crear recursos si aún no ha especificado el rol de que va a usar en la plantilla. Cuando haya terminado de especificar las opciones, elija Next (Siguiente). Para obtener más información sobre las opciones avanzadas, como los activadores de reversión, consulte Configuración de las opciones de AWS CloudFormation pila en la Guía del AWS CloudFormation usuario.
-
En la página Review (Revisar), revise las opciones seleccionadas. Cuando esté listo para crear la pila del servidor, seleccione Create (Crear).
Mientras esperas AWS CloudFormation a crear la pila, consulta el estado de creación de la pila. Si se produce un error al crear la pila, consulte los mensajes de error que se muestran en la consola para ayudar a resolverlos. Para obtener más información sobre cómo solucionar errores en las pilas de AWS CloudFormation , consulte Solución de errores en la Guía del usuario de AWS CloudFormation .
Cuando finalice la creación del servidor, su 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.ionota
Si especificó un dominio, un certificado y una clave privada personalizados para su servidor, cree una entrada CNAME en la herramienta de administración de DNS de su empresa que asigne su dominio personalizado al punto final que Puppet Enterprise generó automáticamente OpsWorks para el servidor. No puede administrar el servidor ni conectarse al sitio web de administración de Puppet Enterprise del servidor hasta que asigne el punto de enlace generado al valor de dominio personalizado.
Para obtener el valor de punto final generado, ejecuta el siguiente AWS CLI comando cuando el servidor esté en línea:
aws opsworks describe-servers --server-name
server_name
Cree un Puppet Enterprise Master mediante AWS CloudFormation (CLI)
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-stack. Para obtener más información sobre los parámetros de create-stack, consulte create-stack en la Referencia de la AWS CLI .
-
Asegúrese de completar el formulario Requisitos previos para crear una versión maestra OpsWorks para Puppet Enterprise.
-
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 rol de servicio y de perfil de instancia que tengan el siguiente aspecto. Anota los ARN del rol de servicio y del perfil de instancia y agrégalos a la AWS CloudFormation plantilla que vas a utilizar para crear tu pila de servidores Puppet master.{ "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" }
-
Cree el servidor principal OpsWorks de Puppet Enterprise ejecutando de nuevo el create-stack comando.
-
Sustituya
stack_name
por el nombre de su pila. Este es el nombre de la AWS CloudFormation pila, no el de tu Puppet Master. El nombre del servidor maestro de Puppet es el valor deServerName
de la plantilla de AWS CloudFormation . -
Sustituya
template
por la ruta al archivo de plantilla y la extensiónyaml o json
por.yaml
o.json
, según corresponda. -
Los valores de
--parameters
corresponden a los EngineAttributesde la CreateServerAPI. Para Puppet, los atributos del motor proporcionados por el usuario para crear un servidor son los siguientes. Los atributos del motor r10k conectan el servidor maestro de Puppet a un repositorio de código para administrar la configuración del entorno del servidor. Para obtener más información acerca de los atributos del motor r10k, consulte el tema sobre cómo administrar código con r10ken la documentación de Puppet Enterprise. -
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 8 y 32 caracteres ASCII y debe incluir al menos una letra mayúscula, una letra minúscula, un número y un carácter especial. -
PUPPET_R10K_REMOTE
, la dirección URL de su repositorio de control (por ejemplo, ssh://git@your.git-repo.com:user/control-repo.git). Al especificar un r10k remoto se abre el puerto TCP 8170. -
PUPPET_R10K_PRIVATE_KEY
.Si utiliza un repositorio de Git privado, añada PUPPET_R10K_PRIVATE_KEY para especificar una URL de SSH y una clave SSH privada codificada en PEM.
-
aws cloudformation create-stack --stack-name
stack_name
--template-body file://template
.yaml or json
--parameters ParameterKey=AdminPassword,ParameterValue="password
"A continuación, se muestra un ejemplo.
aws cloudformation create-stack --stack-name "OpsWorksCMPuppetServerStack" --template-body file://opsworkscm-puppet-server.json --parameters ParameterKey=AdminPassword,ParameterValue="09876543210Ab#"
El siguiente ejemplo especifica los atributos del motor r10k como parámetros cuando no se proporcionan en la AWS CloudFormation plantilla. Una plantilla de ejemplo que incluye los atributos del motor r10k,
puppet-server-param-attributes.yaml
, se incluye en las plantillas de ejemplo de AWS CloudFormation.aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-param-attributes.yaml --parameters ParameterKey=AdminPassword,ParameterValue="superSecret1%3" ParameterKey=R10KRemote,ParameterValue="https://www.yourRemote.com" ParameterKey=R10KKey,ParameterValue="$(cat puppet-r10k.pem)"
En el siguiente ejemplo se especifican los atributos del motor r10k y sus valores en la plantilla de AWS CloudFormation ; el comando solo necesita apuntar al archivo de plantilla. La plantilla especificada como el valor de
--template-body
,puppet-server-in-file-attributes.yaml
, se incluye en las plantillas de AWS CloudFormation de ejemplo.aws cloudformation create-stack --stack-name MyPuppetStack --template-body file://puppet-server-in-file-attributes.yaml
-
-
(Opcional) Para obtener el estado de creación de la pila, ejecute el siguiente comando.
aws cloudformation describe-stacks --stack-name
stack_name
-
Cuando termine de crearse la pila, vaya a la siguiente sección, Configurar el nodo maestro de Puppet con el kit de inicio. Si se produce un error al crear la pila, consulte los mensajes de error que se muestran en la consola para ayudar a resolverlos. Para obtener más información sobre la solución de errores en las AWS CloudFormation pilas, consulte Solución de problemas en la Guía del AWS CloudFormation usuario.