

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
<a name="opscm-unattend-assoc"></a>

**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 Supporto AWS team su [AWS re:POST](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Questo argomento descrive come aggiungere automaticamente nodi Amazon Elastic Compute Cloud (Amazon EC2) al server Chef. Il codice nello [starter kit](opscm-starterkit.md) 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 Chef](https://supermarket.chef.io/cookbooks/chef-client). Puoi utilizzare lo script `userdata` 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 e EC2 quindi passare la chiave pubblica alla chiamata OpsWorks `associate-node` API con 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](opscm-disassociate-node.md) consulta questa guida e [https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DisassociateNode.html](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_DisassociateNode.html)la documentazione dell' AWS OpsWorks for Chef Automate API.

**Topics**
+ [Sistemi operativi supportati](#w2ab1b9c28c17c15c17)
+ [Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza](#opscm-create-instance-profile)
+ [Fase 2: Installare il libro di ricette del client Chef](#w2ab1b9c28c17c15c21)
+ [Fase 3. Creare istanze tramite uno script di associazione automatica](#opscm-unattend-script)
+ [Altri metodi di esecuzioni ripetute in automatico relativi a `chef-client`](#w2ab1b9c28c17c15c25)
+ [Argomenti correlati](#opscm-unattend-assoc-related)

## Sistemi operativi supportati
<a name="w2ab1b9c28c17c15c17"></a>

Per l'elenco aggiornato dei sistemi operativi supportati per i nodi, consulta l'argomento sul [sito Web di Chef](https://docs.chef.io/platforms.html).

## Passaggio 1: crea un ruolo IAM da utilizzare come profilo di istanza
<a name="opscm-create-instance-profile"></a>

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'API AWS OpsWorks for Chef Automate (`opsworks-cm`) di comunicare con l' EC2 istanza durante la registrazione del nodo. Per ulteriori informazioni sui profili di istanza, consulta [Using Instance Profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) nella EC2 documentazione di Amazon. Per informazioni su come creare un ruolo IAM, consulta [Creazione di un ruolo IAM nella console](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role-console) nella EC2 documentazione di Amazon.

------
#### [ JSON ]

****  

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

------

## Fase 2: Installare il libro di ricette del client Chef
<a name="w2ab1b9c28c17c15c21"></a>

In caso contrario, segui le istruzioni su [(Alternativa) Utilizzare Berkshelf per ottenere libri di ricette da un'originen remota](opscm-starterkit.md#opscm-berkshelf) 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
<a name="opscm-unattend-script"></a>

1. Per creare EC2 istanze, puoi copiare `userdata` lo script dallo [Starter Kit](opscm-starterkit.md) `userdata` nella sezione delle istruzioni dell' EC2 istanza, nelle configurazioni di avvio del gruppo Amazon EC2 Auto Scaling o in un modello. CloudFormation Per ulteriori informazioni sull'aggiunta di script ai dati utente, consulta [Running Commands on Your Linux Instance at Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) nella EC2 documentazione di Amazon.

   Questo script esegue il [https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_AssociateNode.html](https://docs.aws.amazon.com/opsworks-cm/latest/APIReference/API_AssociateNode.html)comando `opsworks-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 script `userdata`. Poiché al momento non è possibile modificare il nome dell'organizzazione nell'interfaccia utente della console di Chef, lascia il valore `CHEF_AUTOMATE_ORGANIZATION` impostato su `default`.

1. Segui la procedura descritta in [Avvio di un'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html) nella EC2 documentazione, con le modifiche apportate qui. Nella procedura guidata di avvio dell' EC2 istanza, scegli un'AMI Amazon Linux.

1. 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](#opscm-create-instance-profile) come ruolo IAM.

1. Nell'area **Advanced Details (Dettagli avanzati)**, carica lo script `userdata.sh` creato precedentemente in questa procedura.

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

1. 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.

1. 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`.

1. 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`
<a name="w2ab1b9c28c17c15c25"></a>

Sebbene sia più difficile da realizzare e non consigliato, puoi eseguire lo script in questo argomento esclusivamente come parte dei dati utente dell'istanza autonoma, utilizzare un CloudFormation modello per aggiungerlo ai dati utente della nuova istanza, configurare un `cron` processo per eseguire lo script regolarmente o eseguirlo all'`chef-client`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](https://docs.chef.io/ctl_chef_client.html).

## Argomenti correlati
<a name="opscm-unattend-assoc-related"></a>

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.
+ [Utilizzo di AWS OpsWorks for Chef Automate per gestire EC2 istanze con Auto Scaling](https://aws.amazon.com/blogs/mt/using-aws-opsworks-for-chef-automate-to-manage-ec2-instances-with-auto-scaling/)
+ [OpsWorks per Chef Automate: avvio automatico dei nodi in diversi account](https://aws.amazon.com/blogs/mt/opsworks-for-chef-automate-automatically-bootstrapping-nodes-in-different-accounts/)