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 Supporto AWS Team su AWS re:post o tramite Premium AWS Support.

Questo argomento descrive come aggiungere automaticamente nodi Amazon Elastic Compute Cloud (Amazon EC2) al server OpsWorks 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 EC2 utente di Amazon. 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 EC2 istanza e collega la seguente policy al ruolo IAM. Questa policy consente all'opsworks-cmAPI di comunicare con l' EC2 istanza durante la registrazione del nodo. Per ulteriori informazioni sui profili di istanza, consulta Using Instance Profiles nella EC2 documentazione di Amazon. Per informazioni su come creare un ruolo IAM, consulta Creazione di un ruolo IAM nella console nella EC2 documentazione di Amazon.

{ "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 EC2 istanze, puoi copiare lo script dei dati utente incluso nello Starter Kit nella userdata sezione delle istruzioni dell' EC2istanza, nelle configurazioni di avvio del gruppo Amazon EC2 Auto Scaling o in un modello. AWS CloudFormation Lo script è supportato solo per EC2 le istanze che eseguono i 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 EC2 documentazione di Amazon. Il modo più semplice per creare un nuovo nodo è utilizzare la procedura guidata di avvio delle EC2 istanze Amazon. 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. Segui la procedura riportata in Launching an Instance nella EC2 documentazione, con le modifiche apportate qui. Nella procedura guidata di avvio dell' EC2 istanza, scegli un'AMI 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).

    Applicando i tag alla tua EC2 istanza, puoi personalizzare il comportamento diuserdata.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.