Aggiungere nodi automaticamente in OpsWorks Puppet Enterprise - 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à.

Aggiungere nodi automaticamente in OpsWorks Puppet Enterprise

Importante

Il AWS OpsWorks for Puppet Enterprise servizio ha raggiunto la fine del ciclo di vita il 31 marzo 2024 ed è stato disattivato 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 AWS Support Team su AWS re:post o tramite Premium AWS Support.

Questo argomento descrive come aggiungere automaticamente i nodi Amazon Elastic Compute Cloud (Amazon EC2) al OpsWorks server for Puppet Enterprise. In Aggiungere nodi che il Puppet Master può gestire è stato illustrato come utilizzare il comando associate-node per aggiungere un nodo alla volta al server Puppet Enterprise. Il codice in questo argomento mostra come aggiungere nodi automaticamente tramite il metodo automatico. Il metodo consigliato per l'associazione automatica (o automatica) di nuovi nodi consiste nel configurare i dati utente di Amazon EC2. Per impostazione predefinita, un server OpsWorks for Puppet Enterprise è già puppet-agentdisponibile per i sistemi operativi dei nodi Ubuntu, Amazon Linux e RHEL.

Per informazioni su come dissociare un nodo, consulta Dissocia un nodo da un server OpsWorks for Puppet Enterprise questa guida e la documentazione relativa disassociate-nodeall'API Puppet OpsWorks Enterprise.

Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza

Crea un ruolo AWS Identity and Access Management (IAM) da utilizzare come profilo di istanza EC2 e collega la seguente policy al ruolo IAM. Questa policy consente all'API opsworks-cm di comunicare con l'istanza EC2 durante la registrazione dei nodi. Per ulteriori informazioni sui profili di istanza, consulta Using Instance Profiles nella documentazione di Amazon EC2. Per informazioni su come creare un ruolo IAM, consulta Creazione di un ruolo IAM nella console nella documentazione di Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "opsworks-cm:AssociateNode", "opsworks-cm:DescribeNodeAssociationStatus", "opsworks-cm:DescribeServers", "ec2:DescribeTags" ], "Resource": "*", "Effect": "Allow" } ] }

AWS OpsWorks fornisce un AWS CloudFormation modello che puoi utilizzare per creare il ruolo IAM con la precedente dichiarazione di policy. Il AWS CLI comando seguente crea automaticamente il ruolo del profilo dell'istanza utilizzando questo modello. Puoi omettere il --region parametro se desideri creare il nuovo AWS CloudFormation stack nella tua regione predefinita.

aws cloudformation --region region ID create-stack --stack-name myPuppetinstanceprofile --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/owpe/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM

Fase 2. Creazione delle istanze tramite uno script di associazione automatica

Per creare istanze EC2, puoi copiare lo script dei dati utente incluso nello Starter Kit nella userdata sezione delle istruzioni delle istanze EC2, nelle configurazioni di avvio del gruppo Amazon EC2 Auto Scaling o in un modello. AWS CloudFormation Lo script è supportato solo per le istanze EC2 che eseguono sistemi operativi Ubuntu e Amazon Linux. Per ulteriori informazioni sull'aggiunta di script ai dati utente, consulta Running Commands on Your Linux Instance at Launch nella documentazione di Amazon EC2. Il modo più semplice per creare un nuovo nodo è utilizzare la procedura guidata di avvio delle istanze Amazon EC2. Questa procedura dettagliata utilizza la configurazione di esempio del modulo del server Web Apache descritta in. Guida introduttiva a OpsWorks for Puppet Enterprise

  1. Lo script dei dati utente nello Starter Kit esegue il associate-nodecomando opsworks-cm API per associare un nuovo nodo al tuo Puppet master. In questa versione, installa automaticamente anche la versione corrente di AWS CLI on the node, nel caso in cui non sia già in esecuzione la maggior parte della versione. up-to-date Salvare questo script in una posizione comoda con il nome userdata.sh.

    Per impostazione predefinita, il nome del nuovo nodo registrato corrisponde all'ID dell'istanza.

  2. Eseguire la procedura descritta in Avvio di un'istanza nella documentazione di EC2, apportando le modifiche descritte in questo documento. Nella procedura guidata relativa al lancio dell'istanza EC2, scegli un'AMI di Amazon Linux.

  3. Nella pagina Configure Instance Details (Configura dettagli dell'istanza), selezionare myPuppetinstanceprofile, ovvero il ruolo creato in Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza come ruolo IAM.

  4. Nell'area Advanced Details (Dettagli avanzati), cariare lo script userdata.sh creato nella fase 1.

  5. Non è necessario apportare alcuna modifica nella pagina Add Storage (Aggiungi storage). Vai su Add Tags (Aggiungi tag).

    Applicare i tag all'istanza EC2 per personalizzare il funzionamento di userdata.sh. In questo esempio, applica il ruolo apache_webserver al nodo mediante l'aggiunta del seguente tag: pp_role, con il valore apache_webserver.

    L'impostazione del valore pp_role sul nodo imposta i valori archiviati in modo permanente nel certificato dell'agente del nodo. In questo modo si abilita la classificazione affidabile del nodo. Per ulteriori informazioni, consulta l'argomento relativo alle richieste di estensione (dati di certificato permanenti) nella documentazione della piattaforma Puppet.

  6. Nella pagina Configura gruppo di sicurezza, scegli Aggiungi regola, quindi scegli il tipo HTTP per aprire la porta 8080 per il server web Apache in questo esempio.

  7. Scegli Review and Launch (Analizza e lancia), quindi scegli Launch (Lancia). All'avvio del nuovo nodo, applica la configurazione Apache del modulo di esempio in cui è stato configurato. Configurare l'esempio Apache dello Starter Kit

  8. Quando apri la pagina web collegata al DNS pubblico del tuo nuovo nodo, dovresti vedere un sito web ospitato dal tuo server web Apache gestito da Puppet.