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à.
Aggiungi nodi automaticamente in AWS OpsWorks for Chef Automate
Importante
AWS OpsWorks for Chef Automate ha raggiunto la fine del ciclo di vita il 5 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo ai clienti esistenti di migrare a Chef SaaS o a una soluzione alternativa. Se hai domande, puoi contattare il AWS Support team su AWS re:POST
Questo argomento descrive come aggiungere automaticamente i nodi Amazon Elastic Compute Cloud (Amazon EC2) al server Chef. Il codice nello starter kit mostra come aggiungere nodi automaticamente tramite il metodo automatico. Il metodo consigliato per l'associazione automatica di nuovi nodi, riguarda la configurazione di un libro di ricette del client Chefuserdata
nello starter kit e modificare la sezione run_list
dello script userdata
o il file Policyfile.rb
con i libri di ricette da applicare ai nodi. Prima di eseguire l'agente chef-client
installa il libro di ricette del client Chef sul tuo server Chef, quindi installa l'agente chef-client
in modalità servizio, ad esempio con un ruolo HTTPD, come mostrato nel comando esemplificativo di seguito.
chef-client -r "chef-client,role[httpd]"
Per comunicare con il server Chef, il software dell'agente chef-client
deve poter accedere alla chiave pubblica del nodo del client. Puoi generare una coppia di chiavi pubblica-privata in Amazon EC2 e quindi passare la chiave pubblica alla chiamata API con AWS OpsWorks associate-node
il nome del nodo. Lo script incluso nello starter kit, raccoglie per te il nome dell'organizzazione, il nome del server e l'endpoint del server. In questo modo, viene garantito che il nodo sia associato al server di Chef e che il software dell'agente chef-client
in esecuzione sul nodo, possa comunicare con il server dopo aver abbinato la chiave privata.
La versione minima supportata di chef-client
sui nodi associati a un server AWS OpsWorks for Chef Automate è la versione 13.x. Ti consigliamo di eseguire la versione più recente e stabile. chef-client
Per informazioni su come dissociare un nodo, Dissociare un nodo da un server AWS OpsWorks for Chef Automate consulta questa guida e disassociate-node
la documentazione dell' AWS OpsWorks for Chef Automate API.
Argomenti
- Sistemi operativi supportati
- Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza
- Fase 2: Installare il libro di ricette del client Chef
- Fase 3. Creare istanze tramite uno script di associazione automatica
- Altri metodi di esecuzioni ripetute in automatico relativi a chef-client
- Argomenti correlati
Sistemi operativi supportati
Per l'elenco aggiornato dei sistemi operativi supportati per i nodi, consulta l'argomento sul sito Web di Chef
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 AWS OpsWorks for Chef Automate
(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", ], "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-namemyChefAutomateinstanceprofile
--template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-nodes-roles.yaml --capabilities CAPABILITY_IAM
Fase 2: Installare il libro di ricette del client Chef
In caso contrario, segui le istruzioni su (Alternativa) Utilizzare Berkshelf per ottenere libri di ricette da un'originen remota per essere sicuro che il tuo Berksfile o il file Policyfile.rb
faccia riferimento al libro di ricette del client Chef e che installi il libro di ricette.
Fase 3. Creare istanze tramite uno script di associazione automatica
-
Per creare istanze EC2, puoi copiare
userdata
lo script dallo Starter Kit userdata nella sezione delle istruzioni delle istanze EC2, nelle configurazioni di avvio del gruppo Amazon EC2 Auto Scaling o in un modello. AWS CloudFormation Per ulteriori informazioni sull'aggiunta di script ai dati utente, consulta Running Commands on Your Linux Instance at Launch nella documentazione di Amazon EC2.Questo script esegue il
associate-node
comandoopsworks-cm
API per associare un nuovo nodo al server Chef.Per impostazione predefinita, il nome del nuovo nodo registrato è l'ID dell'istanza, ma puoi cambiare il nome modificando il valore della variabile
NODE_NAME
nello scriptuserdata
. Poiché al momento non è possibile modificare il nome dell'organizzazione nell'interfaccia utente della console di Chef, lascia il valoreCHEF_AUTOMATE_ORGANIZATION
impostato sudefault
. -
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.
-
Sulla pagine Configure Instance Details (Configurazione dei dettagli dell'istanza), seleziona il ruolo creato su Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza come ruolo IAM.
-
Nell'area Advanced Details (Dettagli avanzati), carica lo script
userdata.sh
creato precedentemente in questa procedura. -
Non è necessario apportare alcuna modifica nella pagina Add Storage (Aggiungi storage). Vai su Add Tags (Aggiungi tag).
-
Nella pagina Configure Security Group (Configura gruppo di sicurezza), scegli Add Rule (Aggiungi regola), quindi scegli il tipo di HTTP per aprire le porte numero 443 e 80 per il server Web Apache in questo esempio.
-
Scegli Review and Launch (Analizza e lancia), quindi scegli Launch (Lancia). All'avvio del nuovo nodo, quest'ultimo applica le configurazioni specificate dalle ricette che hai specificato nel parametro
RUN_LIST
. -
Facoltativo: se hai aggiunto il libro di ricette
nginx
al tuo elenco di esecuzione, quando aprirai la pagina Web collegata al DNS pubblico del tuo nuovo nodo, dovresti visualizzare un sito Web ospitato dal server Web nginx.
Altri metodi di esecuzioni ripetute in automatico relativi a chef-client
Sebbene sia più difficile da eseguire e non consigliato, è possibile eseguire lo script in questo argomento esclusivamente come parte dei dati utente dell'istanza autonoma, utilizzare un AWS CloudFormation modello per aggiungerlo ai dati utente della nuova istanza, configurare un cron
processo per eseguire lo script regolarmente o eseguirlo chef-client
all'interno di un servizio. Tuttavia, consigliamo il metodo del libro di ricette del client Chef, visto che altre tecniche di automazione hanno diversi svantaggi.
Per un elenco completo dei parametri che puoi fornire a chef-client
, consulta l'articolo relativo alla documentazione di Chef
Argomenti correlati
I seguenti post del AWS blog offrono ulteriori informazioni sull'associazione automatica dei nodi al server Chef Automate, utilizzando i gruppi di Auto Scaling o all'interno di più account.