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.
Opcional: utilícelo AWS CodeCommit como repositorio de control remoto Puppet r10k
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 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
Puedes crear un repositorio nuevo usando AWS CodeCommit el r10k y usarlo como tu repositorio de control remoto. Para completar los pasos de esta sección y trabajar con un CodeCommit repositorio, necesita un usuario que tenga los permisos que proporciona la política AWSCodeCommitReadOnlygestionada.
Temas
Paso 1: CodeCommit Utilízalo como repositorio con un tipo de conexión HTTPS
-
En la CodeCommit consola, cree un repositorio nuevo.
-
Elija Skip para omitir la configuración de un tema de Amazon SNS.
-
En la página Code (Código), elija Connect to your repository (Conectar a su repositorio).
-
En la página Connect to your repository (Conectar a su repositorio), elija HTTPS como Connection type (Tipo de conexión) y elija su sistema operativo.
En el área Steps to clone your repository (Pasos para clonar su repositorio), su URL
git clone
debe parecerse a lo siguiente:https://git-codecommit.
. Copie esta URL en un lugar adecuado para su uso en la configuración del servidor de Puppet.region
.amazonaws.com/v1/repos/control-repo -
Cierre la página Conectarse a su repositorio y vuelva a la configuración del servidor OpsWorks de Puppet Enterprise.
-
Pegue la URL que copió en el Paso 4 en el cuadro de cadenas r10k remote (r10k remoto) en la página Configure credentials (Configurar credenciales) del asistente de configuración de nodo maestro de Puppet. Deje vacío el recuadro r10k private key (clave privada de r10k). Finalizar la creación y lanzamiento del nodo maestro de Puppet.
-
En la consola de IAM, asocie la AWSCodeCommitReadOnlypolítica al rol de perfil de instancia de su Puppet Master. Para obtener más información sobre cómo adjuntar una política a un rol de IAM, consulte Adición de permisos de identidad de IAM (consola) en la Guía del usuario de IAM.
-
Sigue los pasos de Configuración para usuarios de HTTPS que utilizan credenciales de Git en la Guía del AWS CodeCommit usuario para enviar tu
control-repo
contenido existente al nuevo CodeCommit repositorio. -
Ahora, puede continuar siguiendo las instrucciones de Configurar el nodo maestro de Puppet con el kit de inicioy utilizar el kit de inicio para implementar el código en su nodo maestro de Puppet. El siguiente comando es un ejemplo.
puppet-code deploy --all --wait --config-file .config/puppet-code.conf
Paso 2: (opcional) CodeCommit Utilízalo como repositorio con un tipo de conexión SSH
Puede configurar un repositorio de control remoto AWS CodeCommit r10k para que utilice la autenticación de key pair SSH. Se deben completar los requisitos siguientes antes de comenzar este procedimiento.
-
Debe haber lanzado el servidor de Puppet Enterprise con un repositorio de control HTTPS, tal y como se describe en la sección anterior,. OpsWorks Paso 1: CodeCommit Utilízalo como repositorio con un tipo de conexión HTTPS Esto debe completarse primero para poder cargar la configuración requerida en el maestro de Puppet.
-
Asegúrese de tener un usuario con la política AWSCodeCommitReadOnlygestionada adjunta. Para obtener más información sobre cómo crear un usuario, consulte Crear un usuario de IAM en su AWS cuenta en la Guía del usuario de IAM.
-
Cree y asocie una clave SSH con su usuario de . Siga las instrucciones para crear pares de claves públicas/privadas con
ssh-keygen
en Paso 3: Configurar credenciales en Linux, macOS o Unix en la Guía del usuario de AWS CodeCommit .
-
En una AWS CLI sesión, ejecute el siguiente comando para cargar el contenido del archivo de clave privada en AWS Systems Manager Parameter Store. El servidor OpsWorks de Puppet Enterprise consulta este parámetro para obtener el archivo de certificado obligatorio. Reemplace
private_key_file
por la ruta a su archivo de clave privada SSH.aws ssm put-parameter --name puppet_user_pk --type String --value "`cat
private_key_file
`" -
Añada permisos del Almacén de parámetros a su maestro de Puppet.
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación izquierdo, seleccione Roles.
-
Elija aws-opsworks-cm-ec2 funciones.
-
En la pestaña Permissions (Permisos), elija Attach policies (Adjuntar políticas).
-
En la barra Search (Buscar), escriba
AmazonSSMManagedInstanceCore
. -
En los resultados de búsqueda, elija ManagedInstanceCoreAmazonSSM.
-
Elija Asociar política.
-
Cree el manifiesto de archivo de configuración. Si utiliza el repositorio
control-repo-example
facilitado en el kit de inicio, cree los archivos siguientes en las ubicaciones mostradas en el repositorio de ejemplo. De lo contrario, créelos de acuerdo con su propia estructura de repositorio de control. Reemplace el valorIAM_USER_SSH_KEY
por el ID de clave SSH que creó en los requisitos previos para este procedimiento.control-repo-example/site/profile/manifests/codecommit.pp
class profile::codecommit { $configfile = @(CONFIGFILE) Host git-codecommit.*.amazonaws.com User
IAM_USER_SSH_KEY
IdentityFile /etc/puppetlabs/puppetserver/ssh/codecommit.rsa StrictHostKeyChecking=no | CONFIGFILE # ReplaceREGION
with the correct region for your server. $command = @(COMMAND) aws ssm get-parameters \ --regionREGION
\ --names puppet_user_pk \ --query "Parameters[0].Value" \ --output text >| /etc/puppetlabs/puppetserver/ssh/codecommit.rsa | COMMAND $dirs = [ '/opt/puppetlabs/server/data/puppetserver/.ssh', '/etc/puppetlabs/puppetserver/ssh', ] file { $dirs: ensure => 'directory', group => 'pe-puppet', owner => 'pe-puppet', mode => '0750', } file { 'ssh-config': path => '/opt/puppetlabs/server/data/puppetserver/.ssh/config', require => File[$dirs], content => $configfile, group => 'pe-puppet', owner => 'pe-puppet', mode => '0600', } exec { 'download-codecommit-certificate': command => $command, require => File[$dirs], creates => '/etc/puppetlabs/puppetserver/ssh/codecommit.rsa', path => '/bin', cwd => '/etc/puppetlabs', } file { 'private-key-permissions': subscribe => Exec['download-codecommit-certificate'], path => '/etc/puppetlabs/puppetserver/ssh/codecommit.rsa', group => 'pe-puppet', owner => 'pe-puppet', mode => '0600', } } -
Empuje su repositorio de control a. CodeCommit Ejecute los siguientes comandos para insertar el nuevo archivo de manifiesto en su repositorio.
git add ./site/profile/manifests/codecommit.pp git commit -m 'Configuring for SSH connection to CodeCommit' git push origin production
-
Implemente los archivos de manifiesto. Ejecute los siguientes comandos para implementar la configuración actualizada en su servidor OpsWorks de Puppet Enterprise. Reemplace
STARTER_KIT_DIRECTORY
por la ruta a sus archivos de configuración de Puppet.cd
STARTER_KIT_DIRECTORY
puppet-access login --config-file .config/puppetlabs/client-tools/puppet-access.conf puppet-code deploy --all --wait \ --config-file .config/puppet-code.conf \ --token-file .config/puppetlabs/token -
Actualice la OpsWorks clasificación del servidor Puppet Enterprise. De forma predeterminada, el agente de Puppet se ejecuta en nodos (incluido el maestro) cada 30 minutos. Para evitar la espera, puede ejecutar manualmente el agente en el nodo maestro de Puppet. La ejecución del agente recoge el nuevo archivo de manifiesto.
-
Inicie sesión en la consola de Puppet Enterprise.
-
Elija Classification (Clasificación).
-
Amplíe PE Infrastructure (Infraestructura de PE).
-
Elija PE Master (Maestro de PE).
-
En la pestaña Configuration (Configuración), escriba
profile::codecommit
en Add new class (Añadir nueva clase).La nueva clase,
profile::codecommit
, podría no aparecer inmediatamente después de ejecutarpuppet-code deploy
. Seleccione Refresh (Actualizar) en esta página si no aparece. -
Seleccione Add class (Añadir clase) y, a continuación, elija Commit 1 change (Validar 1 cambio).
-
Ejecute manualmente el agente de Puppet en el servidor OpsWorks de Puppet Enterprise. Seleccione Nodes (Nodos), elija su servidor en la lista, elija Run Puppet (Ejecutar Puppet) y, a continuación, elija Run (Ejecutar).
-
-
En la consola de Puppet Enterprise, cambie la URL del repositorio para utilizar SSH en lugar de HTTPS. La configuración que realice en estos pasos se guardará OpsWorks durante el proceso de copia de seguridad y restauración de Puppet Enterprise, por lo que no necesitará cambiar manualmente la configuración del repositorio tras las actividades de mantenimiento.
-
Elija Classification (Clasificación).
-
Amplíe PE Infrastructure (Infraestructura de PE).
-
Elija PE Master (Maestro de PE).
-
En la pestaña Configuration (Configuración), busque la clase
puppet_enterprise::profile::master
. -
Seleccione Edit (Editar) junto al parámetro
r10k_remote
. -
Reemplace la URL HTTPS por la URL SSH para su repositorio y, a continuación, seleccione Commit 1 change (Validar 1 cambio).
-
Ejecute manualmente el agente de Puppet en el servidor OpsWorks de Puppet Enterprise. Seleccione Nodes (Nodos), elija su servidor en la lista, elija Run Puppet (Ejecutar Puppet) y, a continuación, elija Run (Ejecutar).
-