Come migrare un server OpsWorks for Puppet Enterprise su Amazon Elastic Compute Cloud (Amazon) EC2 - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come migrare un server OpsWorks for Puppet Enterprise su Amazon Elastic Compute Cloud (Amazon) EC2

Importante

Il AWS OpsWorks for Puppet Enterprise servizio ha raggiunto la fine del ciclo di vita il 31 marzo 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su AWS re:post o tramite Premium AWS Support.

Le istruzioni seguenti descrivono come migrare i server Puppet Enterprise esistenti su Amazon EC2, nel caso in cui desideri continuare a utilizzare Puppet Enterprise per le tue esigenze di gestione della configurazione al di fuori di. OpsWorks

Passaggio 1: contatta Puppet per acquistare una licenza

Quando esegui la migrazione dei server verso EC2, la nuova istanza non viene fornita con una licenza Puppet. Per acquistare una chiave di licenza, segui le istruzioni sul sito Web di Puppet.

Passaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise

Trova e salva i valori per il tuo server OpsWorks for Puppet Enterprise.

  1. Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

    Copia il nome del bucket Amazon S3 esistente per il tuo server for Puppet OpsWorks Enterprise. Il nome del bucket ha il formato: aws-opsworks-cm-server-name-random-string

  2. Esegui il aws opsworks-cm describe-servers comando per ottenere la configurazione per il tuo server OpsWorks for Puppet Enterprise.

    aws opsworks-cm describe-servers \ --server-name server-name \ --region region

    Memorizza i valori per InstanceTypeKeyPair,SubnetIds,SecurityGroupIds,InstanceProfileArn, e Endpoint della risposta.

  3. Usa SSH per connetterti al server OpsWorks for Puppet Enterprise esistente. Puoi usare Session Manager nella EC2 console anziché SSH.

    Esegui il comando seguente.

    rpm -qa | grep opsworks-cm-puppet-enterprise | cut -d '-' -f 5

    La risposta fornisce la versione di Puppet Enterprise (ad esempio, 2019.8.10). Memorizza questo valore.

Utilizzerai SSH o Session manager per il passaggio successivo.

Passaggio 3: Effettua un backup del tuo server OpsWorks for Puppet Enterprise

  1. Esegui i seguenti comandi per effettuare un backup locale.

    mkdir /tmp/puppet-backup/ sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
  2. Esegui il comando seguente per memorizzare il nome per il backup.

    ls /tmp/puppet-backup/ PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
  3. Esegui il comando seguente per caricare il backup in un bucket S3. Sostituisci S3-Bucket con il valore del passaggio 1 in poi. Passaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise

    aws s3 cp /tmp/puppet-backup/PUPPET_BACKUP s3://S3_Bucket/tmp/puppet-backup/

    Memorizza S3_BUCKET i valori PUPPET_BACKUP and. Importerete questi valori nella nuova EC2 istanza.

È possibile uscire dalla sessione SSH o Session Manager.

Fase 4: Avviare una nuova istanza EC2

Avvia una nuova EC2 istanza dalla EC2 console https://console.aws.amazon.com/ec2/utilizzando la stessa configurazione del server OpsWorks for Puppet Enterprise.

Nome del parametro Valore

SISTEMA OPERATIVO

Amazon Linux 2

Tipo di istanza

Il InstanceType valore del passaggio 2 di. Passaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise

Nome della coppia di chiavi

Il KeyPair valore del passaggio 2 diPassaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise.

VPC

Il VPC della fase 2 SubnetIds di. Passaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise

Sottorete

SubnetIdsDalla fase 2 di. Passaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise

Seleziona il gruppo di sicurezza esistente -> Gruppi di sicurezza comuni

SecurityGroupIdsDalla fase 2 diPassaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise.

Storage

Almeno 120 GB.

Profilo dell'istanza IAM

InstanceProfileArnDalla fase 2 diPassaggio 2: Ottieni dettagli sul tuo server OpsWorks for Puppet Enterprise.

Se desideri creare e collegare un IP elastico alla nuova istanza, copia l'ID dell'istanza della nuova istanza e completa i passaggi indicati in(Facoltativo) Fase 4.1: Creare e collegare un IP elastico.

(Facoltativo) Fase 4.1: Creare e collegare un IP elastico

Mediante un indirizzo IP elastico, è possibile mascherare il guasto di un'istanza o di un software rimappando rapidamente l'indirizzo per un'altra istanza presente nell'account.

Per creare e associare un indirizzo IP elastico
  1. Accedi a AWS Management Console e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Scegli Elastic IPs.

  3. Scegli Alloca indirizzo IP elastico.

  4. Dalla pagina Allocate Elastic IP address, scegli Allocate. Questo crea un indirizzo pubblico IPv4 .

  5. Copia l' IPv4 indirizzo assegnato.

  6. Da Azioni, scegli Associa indirizzo IP elastico.

  7. Ad esempio, inserisci l'ID dell'istanza per la nuova istanza.

  8. Selezionare Associate (Associa).

Passaggio 5: installa Puppet Enterprise sulla nuova istanza EC2

Usa SSH per connetterti alla nuova EC2 istanza. È possibile utilizzare Session Manager nella EC2 console anziché SSH.

# switch to sudo user sudo -i # Setup environment variables PUPPET_ENTERPRISE_VERSION=Puppet Enterprise version from step 2.3 hostname Public IPv4 DNS or Custom Domain if available # Install Puppet Enterprise curl -JLO https://pm.puppetlabs.com/puppet-enterprise/$PUPPET_ENTERPRISE_VERSION/puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz tar -xf puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz ./puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64/puppet-enterprise-installer

Puoi mantenere aperta la sessione SSH o Session Manager per il passaggio successivo.

Passaggio 6: ripristinare il backup sulla nuova EC2 istanza

# Setup environment variables S3_BUCKET=S3 bucket name from step 2.1 PUPPET_BACKUP=Puppet backup file name from step 3.2 # download backup aws s3 cp s3://$S3_BUCKET/tmp/puppet-backup/$PUPPET_BACKUP # Prepare Puppet Enterprise backup to remove OpsWorks metadata mkdir output tar -xf $PUPPET_BACKUP -C output/ cd output/ rm -f opt/puppetlabs/facter/facts.d/opsworks.json tar -cf ../$PUPPET_BACKUP * cd .. rm -rf output/ # Restore from backup PATH=$PATH:/opt/puppetlabs/puppet/bin/ puppet-backup restore $PUPPET_BACKUP puppet agent -t

Puoi accedere alla console Puppet per l' EC2 istanza ripristinata all'indirizzo https://Public IPv4 of the instance. Puoi trovare il IPv4 DNS pubblico nella pagina dei dettagli dell'istanza nella EC2 console. Le credenziali di accesso sono le stesse che usi per accedere al tuo server OpsWorks for Puppet Enterprise.

Puoi mantenere aperta la sessione SSH o Session Manager per il passaggio successivo.

Passaggio 7: configura la tua licenza Puppet

Segui i passaggi sul sito web di Puppet per configurare la tua licenza.

Puoi tenere aperta la sessione SSH o Session Manager per il passaggio successivo.

Fase 8: Migrazione dei nodi

Esistono due tipi di domini supportati dai quattro server Puppet OpsWorks Enterprise:

  • BYODC (Bring Your Own Domain and Certificate)

  • OpsWorks endpoint

Passaggio 8.1: Per BYODC (porta il tuo dominio e il tuo certificato)

Per questi nodi, tutto ciò che devi fare è indirizzare il dominio personalizzato del tuo provider DNS al DNS pubblico IPv4 o all' IPv4 indirizzo pubblico della nuova istanza. EC2

Fase 8.2: Per endpoint OpsWorks

Per un OpsWorks endpoint, la documentazione di Puppet consiglia di disinstallare l'agente Puppet sul nodo e quindi installare l'agente Puppet utilizzando il server Puppet Enterprise appena ripristinato.

Nota

Sebbene Puppet non disponga di una procedura automatizzata per spostare un nodo agente, ci sono alcuni moduli che i membri della community di Puppet hanno pubblicato sul sito Web di Puppet Forge per eseguire la migrazione automatica dei nodi. Questi moduli includono il pe_migratemodulo e un secondo modulo di migrazione di un altro autore. I moduli sul sito web di Puppet Forge non sono supportati da Puppet o a OpsWorks meno che non sia esplicitamente indicato all'interno del modulo Forge. Consigliamo di usare cautela con questi moduli e di testarli prima di utilizzarli su larga scala.

Le seguenti sezioni forniscono i passaggi per disinstallare e reinstallare gli agenti Puppet sulle istanze Linux.

Passaggio 8.2.1: Copia il programma di disinstallazione dal server Puppet

Prima di disinstallare l'agente, assicurati che il profilo dell'istanza IAM del nodo fornisca le autorizzazioni S3. ReadOnly

Esegui il comando seguente per copiare il programma di disinstallazione dal server Puppet al bucket S3.

aws s3 cp \ /opt/puppetlabs/bin/puppet-enterprise-uninstaller \ s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller

Dopo aver eseguito il comando, puoi disconnetterti dalla sessione SSH o Session Manager del server Puppet.

Passaggio 8.2.2: scarica il programma di disinstallazione ed eseguilo su un nodo

Usa SSH per connetterti al nodo. È possibile utilizzare Session Manager nella EC2 console anziché SSH se il nodo è un' EC2 istanza.

sudo -i S3_BUCKET=aws-opsworks-cm-abcdefg-uuhtyn6messn aws s3 cp s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller /opt/puppetlabs/bin/ chmod 700 /opt/puppetlabs/bin/puppet-enterprise-uninstaller /opt/puppetlabs/bin/puppet-enterprise-uninstaller

Puoi mantenere aperta la sessione SSH o Session Manager per il passaggio successivo.

Passaggio 8.2.3: Reinstallare l'agente Puppet su un nodo

Completa i seguenti passaggi per reinstallare l'agente Puppet su un nodo.

Passaggio 8.2.3.1: Installa l'agente Puppet con la configurazione corretta

Esegui il comando seguente per installare l'agente Puppet.

curl -k https://Public_IPv4_DNS:8140/packages/current/install.bash | bash

Puoi mantenere aperta la sessione SSH o Session Manager per il passaggio 8.2.2.3.

Passaggio 8.2.3.2: Accetta il certificato nella console Puppet
  1. Vai alla console del server Puppet all'indirizzo. https://Public_IPv4_DNS

  2. Scegli Certificati, quindi Certificati non firmati.

  3. Scegli Accetta per firmare il certificato dell'agente Puppet.

Passaggio 8.2.3.3: Controlla il nodo nel server Puppet Enterprise

Esegui il seguente comando sul nodo per archiviarlo nel server.

puppet agent -t

Il nodo dovrebbe ora essere visibile nella console del server Puppet.

Passaggio 9: Elimina il tuo server OpsWorks for Puppet Enterprise

Puoi utilizzare la OpsWorks console o AWS CLI eliminare il tuo server OpsWorks for Puppet Enterprise.

Per eliminare il server utilizzando la console OpsWorks

  1. Accedi a AWS Management Console e apri la AWS OpsWorks console all'indirizzo https://console.aws.amazon.com/opsworks/.

  2. Scegli i server Puppet Enterprise dal pannello di navigazione.

  3. Nella pagina dei server Puppet Enterprise, scegli il server che desideri eliminare.

  4. Da Azioni, scegli Elimina server Puppet Enterprise.

Per eliminare il server utilizzando il AWS CLI

Esegui il comando seguente.

aws opsworks-cm delete-server \ --server-name server-name \ --region region