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
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
Argomenti
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.
-
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
-
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
\ --regionregion
Memorizza i valori per
InstanceType
KeyPair
,SubnetIds
,SecurityGroupIds
,InstanceProfileArn
, eEndpoint
della risposta. -
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
-
Esegui i seguenti comandi per effettuare un backup locale.
mkdir /tmp/puppet-backup/ sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
-
Esegui il comando seguente per memorizzare il nome per il backup.
ls /tmp/puppet-backup/ PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
-
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 Enterpriseaws s3 cp /tmp/puppet-backup/
PUPPET_BACKUP
s3://S3_Bucket
/tmp/puppet-backup/Memorizza
S3_BUCKET
i valoriPUPPET_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/
Nome del parametro | Valore |
---|---|
SISTEMA OPERATIVO |
Amazon Linux 2 |
Tipo di istanza |
Il |
Nome della coppia di chiavi |
Il |
VPC |
Il VPC della fase 2 |
Sottorete |
|
Seleziona il gruppo di sicurezza esistente -> Gruppi di sicurezza comuni |
|
Storage |
Almeno 120 GB. |
Profilo dell'istanza IAM |
|
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
-
Accedi a AWS Management Console e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Scegli Elastic IPs.
-
Scegli Alloca indirizzo IP elastico.
-
Dalla pagina Allocate Elastic IP address, scegli Allocate. Questo crea un indirizzo pubblico IPv4 .
-
Copia l' IPv4 indirizzo assegnato.
-
Da Azioni, scegli Associa indirizzo IP elastico.
-
Ad esempio, inserisci l'ID dell'istanza per la nuova istanza.
-
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
hostnamePublic 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
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
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.pe_migrate
Le seguenti sezioni forniscono i passaggi per disinstallare e reinstallare gli agenti Puppet sulle istanze Linux.
Argomenti
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.
Argomenti
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
-
Vai alla console del server Puppet all'indirizzo.
https://
Public_IPv4_DNS
-
Scegli Certificati, quindi Certificati non firmati.
-
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
-
Accedi a AWS Management Console e apri la AWS OpsWorks console all'indirizzo https://console.aws.amazon.com/opsworks/
. -
Scegli i server Puppet Enterprise dal pannello di navigazione.
-
Nella pagina dei server Puppet Enterprise, scegli il server che desideri eliminare.
-
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
\ --regionregion