

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

# Guida introduttiva a OpsWorks Stacks
<a name="gettingstarted_intro"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

OpsWorks Stacks offre un ricco set di componenti personalizzabili che puoi combinare per creare uno stack che soddisfi i tuoi scopi specifici. La sfida per i nuovi utenti è comprendere come assemblare questi componenti in uno stack di lavoro e gestirlo in modo efficace. Scopri di seguito come iniziare.


| Se vuoi... | Completa questa procedura guidata: | 
| --- | --- | 
| Creare uno stack di esempio più rapidamente possibile | [Nozioni di base: esempio](gettingstarted-intro.md)  | 
| Provare un stack basato su Linux | [Nozioni di base: Linux](gettingstarted-linux.md) | 
| Provare un stack basato su Windows | [Nozioni di base: Windows](gettingstarted-windows.md) | 
| Scoprire come creare il tuoi libri di ricette Chef | [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md) | 

Se disponi di risorse di elaborazione esistenti, ad EC2 esempio istanze Amazon o anche istanze *locali* in esecuzione sul tuo hardware, puoi [incorporarle in uno stack, insieme alle istanze che hai creato con Stacks](registered-instances.md). OpsWorks Puoi quindi utilizzare OpsWorks Stacks per gestire tutte le istanze correlate come gruppo, indipendentemente da come sono state create.

## Supporto nelle regioni
<a name="gettingstarted-intro-region"></a>

Puoi accedere a OpsWorks Stacks a livello globale; puoi anche creare e gestire istanze a livello globale. Gli utenti possono configurare le istanze OpsWorks Stacks in modo che vengano lanciate in qualsiasi AWS regione tranne AWS GovCloud (Stati Uniti occidentali) e la regione della Cina (Pechino). Per utilizzare OpsWorks Stacks, le istanze devono essere in grado di connettersi a uno dei seguenti endpoint dell'API del servizio di istanze OpsWorks Stacks.

Le risorse possono essere gestite solo nella regione in cui sono state create. Le risorse create in un endpoint regionale non sono disponibili e non possono essere clonate in un altro endpoint regionale. Puoi avviare istanze nelle seguenti regioni.
+ Stati Uniti orientali (Ohio)
+ Stati Uniti orientali (Virginia settentrionale)
+ Regione Stati Uniti occidentali (Oregon)
+ Regione Stati Uniti occidentali (California settentrionale)
+ Regione Canada (centrale) (solo API, non disponibile per gli stack creati in Console di gestione AWS.)
+ Regione Asia Pacifico (Mumbai)
+ Regione Asia Pacifico (Singapore)
+ Regione Asia Pacifico (Sydney)
+ Regione Asia Pacifico (Tokyo)
+ Regione Asia Pacifico (Seoul)
+ Regione Europa (Francoforte)
+ Regione Europa (Irlanda)
+ Regione Europa (Londra)
+ Regione Europa (Parigi)
+ Regione Sud America (San Paolo)

# Nozioni di base sugli stack di esempio
<a name="gettingstarted-intro"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Questa procedura dettagliata mostra come utilizzare OpsWorks Stacks per creare rapidamente un ambiente applicativo Node.js di esempio con pochi clic del mouse e senza scrivere codice. Al termine, hai un'istanza Amazon Elastic Compute Cloud (Amazon EC2) che esegue Chef 12, un server HTTP Node.js e un'app Web che puoi utilizzare per interagire con Twitter e lasciare commenti su una pagina Web.

**Nota**  
[Poiché il completamento di questa procedura dettagliata crea automaticamente un'istanza con un tipo di c3.large, non puoi utilizzare questa procedura dettagliata o lo strumento di creazione **Sample Stack in Stacks**, nel piano gratuito. OpsWorksAWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html) [Sebbene l'utilizzo dello strumento di creazione **Sample Stack** in un VPC crei un'istanza t2.medium VPCs , attualmente non sono disponibili nel piano gratuito.AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html)

# Fase 1: completamento dei prerequisiti
<a name="gettingstarted-intro-prerequisites"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Prima di poter avviare la procedura guidata, devi completare le seguenti fasi di configurazione. Questi passaggi di configurazione includono la registrazione di un AWS account, la creazione di un utente amministrativo e l'assegnazione delle autorizzazioni di accesso a Stacks. OpsWorks 

**Topics**
+ [Registrati per un Account AWS](#sign-up-for-aws)
+ [Crea un utente con accesso amministrativo](#create-an-admin)
+ [Assegna le autorizzazioni di accesso al servizio](#gettingstarted-intro-prerequisites-permissions)

## Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Accedere come utente root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) nella *Guida per l’utente di Accedi ad AWS *.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Assegna al gruppo prima gli utenti e poi l’accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center *.

## Assegna le autorizzazioni di accesso al servizio
<a name="gettingstarted-intro-prerequisites-permissions"></a>

Abilita l'accesso al servizio OpsWorks Stacks (e ai servizi correlati su cui si basa OpsWorks Stacks) aggiungendo le `AmazonS3FullAccess` autorizzazioni `AWSOpsWorks_FullAccess` e al tuo ruolo o utente.

Per ulteriori informazioni sull'aggiunta di autorizzazioni, consulta Aggiungere i permessi di [identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) (console).

A questo punto hai completato tutte le fasi di configurazione. Ora puoi [avviare questa procedura guidata](gettingstarted-intro-create-stack.md).

# Fase 2. Creazione di uno stack
<a name="gettingstarted-intro-create-stack"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

In questo passaggio, usi la console OpsWorks Stacks per creare uno stack. Uno *stack* è una raccolta di istanze (come le EC2 istanze Amazon) e AWS risorse correlate che hanno uno scopo comune e che si desidera gestire insieme. Per ulteriori informazioni, consulta [Stack](workingstacks.md). In questa procedura guidata sarà disponibile solo un'istanza.

Prima di iniziare questa fase, completa i [prerequisiti](gettingstarted-intro-prerequisites.md).

**Per creare lo stack**

1. Accedi Console di gestione AWS e apri la console all'indirizzo. OpsWorks [https://console.aws.amazon.com/opsworks/](https://console.aws.amazon.com/opsworks/)

1. Eseguire una delle seguenti operazioni, se possibile:
   + Se viene visualizzata la pagina **Welcome to OpsWorks Stacks**, scegli **Aggiungi il tuo primo stack** o **Aggiungi il tuo primo OpsWorks stack Stacks** (entrambe le scelte hanno la stessa funzione). Viene visualizzata la pagina **Add stack (Aggiungi stack)**.
   + **Se viene visualizzata la pagina **OpsWorks Dashboard**, scegli Aggiungi stack.** Viene visualizzata la pagina **Add stack (Aggiungi stack)**.

1. Con la pagina **Add stack (Aggiungi stack)** visualizzata, scegliere **Sample stack (Stack di esempio)**, se l'opzione non è già stata selezionata automaticamente.

1. Dopo aver selezionato **Linux** in **Operating system type (Tipo di sistema operativo)**, scegliere **Create stack (Crea stack)**:

     
![\[Add stack interface with options for Sample stack, Chef 12 stack, and Chef 11 stack.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-add-stack-console.png)

   

1. OpsWorks Stacks crea uno stack denominato **My Sample Stack** (Linux). OpsWorks Stacks aggiunge anche tutti i componenti necessari per distribuire l'app nello stack:
   + Un *livello*, che è un modello per un set di istanze. Specifica elementi quali, ad esempio, le impostazioni dell'istanza, le risorse, i pacchetti installati e i gruppi di sicurezza. Per ulteriori informazioni, consulta [Livelli](workinglayers.md). Il nome del livello è **Node.js App Server (Server app Node.js)**.
   + Un'*istanza*, che in questo caso è un' EC2istanza di Amazon Linux 2. Per ulteriori informazioni sulle istanze, consulta [Istanze](workinginstances.md). Il nome host dell'istanza è **nodejs-server1**.
   + Un'*app*, che è il codice da eseguire sull'istanza. Per ulteriori informazioni sulle app, consulta [App](workingapps.md). Il nome dell'app è **Node.js Sample App (App di esempio Node.js)**.

1. ****Dopo che OpsWorks Stacks ha creato lo stack, scegli **Esplora lo stack di esempio** per visualizzare la pagina **My Sample Stack (Linux)** (se completi questa procedura dettagliata più volte, **My Sample Stack (Linux)** potrebbe avere un numero sequenziale dopo di essa, ad esempio 2 o 3):****

     
![\[Checklist showing completed steps for setting up a sample stack with Node.js App Server.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-add-stack-explore-console.png)

   

Nella [fase successiva](gettingstarted-intro-start-instance.md) l'istanza verrà avviata e si procederà alla distribuzione dell'app sull'istanza.

# Fase 3. Avvio dell'istanza e distribuzione dell'app
<a name="gettingstarted-intro-start-instance"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ora che disponi di un'istanza e di un'app, avvia l'istanza e distribuisci l'applicazione sull'istanza.

**Per avviare l'istanza e distribuire l'app**

1. Esegui una delle seguenti operazioni:
   + Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**:

       
![\[Menu options including Stack, Layers, and Instances with Instances circled in red.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-nav-pane-console.png)

     
   + Nella pagina **My Sample Stack (Linux) (Stack di esempio personale (Linux))**, scegliere **Instances (Istanze)**:

       
![\[AWS stack interface showing layers and instances, with one Node.js App Server instance stopped.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instances-console.png)

     

1. Nella pagina **Instances (Istanze)**, per **Node.js App Server (Server app Node.js)**, **nodejs-server1**, scegliere **start (avvio)**:

     
![\[Node.js App Server interface showing a stopped instance with start and delete options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-start-instance-console.png)

   

1. Non procedere finché la voce **online** non diventa verde brillante. Se viene visualizzato un messaggio di errore, consulta la [Guida al debugging e alla risoluzione dei problemi](troubleshoot.md).)

1. Durante la configurazione dell'istanza, OpsWorks Stacks distribuisce l'app sull'istanza.

1. I risultati devono essere simili a quelli riportati nel seguente screenshot prima di continuare (se viene visualizzato un messaggio di errore, consulta la [Guida al debugging e alla risoluzione dei problemi](troubleshoot.md).):

     
![\[OpsWorks instance dashboard showing one online Node.js App Server instance.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-started-console.png)

   

Ora disponi di un'istanza con un'app distribuita sull'istanza.

Nella [fase successiva](gettingstarted-intro-test-app.md) procederai al test dell'app sull'istanza.

# Fase 4. Test dell'app distribuita sull'istanza
<a name="gettingstarted-intro-test-app"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

A questo punto puoi eseguire il test della distribuzione dell'app sull'istanza.

**Per testare la distribuzione sull'istanza**

1. Con la pagina **Instances (Istanze)** visualizzata nella fase precedente, per **Node.js App Server (Server app Node.js)**, **nodejs-server1**, **Public IP (IP pubblico)**, scegliere l'indirizzo IP.

     
![\[OpsWorks instance dashboard showing one online Node.js server in us-west-2a.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-ip-console.png)

   

1. Nella pagina Web di presentazione, nella casella di testo **Leave a comment (Lascia un commento)** immettere un commento, quindi scegliere **Send (Invia)** per testare l'app. L'app aggiunge il commento alla pagina Web. Continuare a immettere commenti e scegliere **Send (Invia)**.

     
![\[Congratulatory message for deploying first app with AWS OpsWorks, featuring stylized landmarks.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-test-app.png)

   

1. Se hai un account Twitter, scegli **Tweet** o **Segui @ AWSOps Works** e segui le istruzioni sullo schermo per twittare sull'app o seguire @ Works. AWSOps

A questo punto hai testato correttamente l'app distribuita sull'istanza.

Nei passaggi rimanenti, puoi utilizzare la console OpsWorks Stacks per esplorare le impostazioni dello stack e dei suoi componenti. Nella [fase successiva](gettingstarted-intro-explore-stack.md), puoi iniziare l'esplorazione esaminando le impostazioni dello stack.

# Fase 5. Esplorazione delle impostazioni dello stack
<a name="gettingstarted-intro-explore-stack"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esamina come OpsWorks Stacks ha impostato lo stack.

**Per visualizzare le impostazioni dello stack**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **My Sample Stack (Linux) (Stack di esempio personale (Linux))**.

1. Scegliere **Stack Settings (Impostazioni stack)**. Viene visualizzata la pagina **Settings My Sample Stack (Impostazioni stack di esempio personale)**:

     
![\[Settings page for My Sample Stack (Linux) showing configuration details like region and OS.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-stack-page-console.png)

   

Per ulteriori informazioni sulle impostazioni, scegli **Edit (Modifica)**, quindi passa il puntatore del mouse sopra ogni impostazione. Non tutte le impostazioni sono associate a descrizioni a video. Per ulteriori informazioni su queste impostazioni, consultare [Creare un nuovo stack](workingstacks-creating.md).

Per esplorare il ricettario Chef utilizzato in questa procedura dettagliata, apri il repository [opsworks-linux-demo-cookbooks-nodejs](https://github.com/awslabs/opsworks-linux-demo-cookbook-nodejs) su. GitHub

Nella [fase successiva](gettingstarted-intro-explore-layer.md), potrai esplorare le impostazioni del livello.

# Fase 6. Esplorazione delle impostazioni del livello
<a name="gettingstarted-intro-explore-layer"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esamina come OpsWorks Stacks ha impostato il livello.

**Per visualizzare le impostazioni del livello**

1. Nel riquadro di navigazione del servizio, scegliere **Layers (Livelli)**. Viene visualizzata la pagina **Layers (Livelli)**.

1. Scegliere **Node.js App Server (Server app Node.js)**. Viene visualizzata la pagina **Layer Node.js App Server (Server app Node.js livello)**. Per visualizzare le impostazioni del livello, scegliere **General Settings (Impostazioni generali)**, **Recipes (Ricette)**, **Network (Rete)**, **EBS Volumes (Volumi EBS)** e **Security (Sicurezza)**:

     
![\[Node.js App Server layer settings with name, short name, and configuration options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-layers-page-console.png)

   

Per ulteriori informazioni sulle impostazioni, scegli **Edit (Modifica)**, quindi passa il puntatore del mouse sopra ogni impostazione. Non tutte le impostazioni sono associate a descrizioni a video. Per ulteriori informazioni su queste impostazioni, consultare [Modifica della configurazione di un livello OpsWorks](workinglayers-basics-edit.md).

Nella [fase successiva](gettingstarted-intro-explore-instance.md), potrai esplorare le impostazioni dell'istanza e i log.

# Fase 7. Esplorazione di impostazioni e log dell'istanza
<a name="gettingstarted-intro-explore-instance"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esamina le impostazioni utilizzate da OpsWorks Stacks per avviare l'istanza. Puoi anche esaminare i log delle istanze creati da OpsWorks Stacks.

**Per visualizzare le impostazioni e i log dell'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. In **Node.js App Server (Server app Node.js)**, scegliere **nodejs-server1**. Viene visualizzata la pagina delle proprietà dell'istanza.

     
![\[Details of a stopped Node.js server instance on AWS, showing configuration and resource information.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-details-page-console.png)

   

1. Per esplorare i log dell'istanza, nella **Logs (Log)**, per **Log**, scegliere **show (mostra)**.

     
![\[Log entries showing configure and setup commands with timestamps and durations.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-details-logs-console.png)

   

1. OpsWorks Stacks visualizza il registro in una scheda separata del browser Web.

     
![\[Log output showing AWS OpsWorks instance startup and chef-client initialization process.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-log-console.png)

   

Per ulteriori informazioni sul significato di alcune impostazioni dell'istanza, torna alla pagina **nodejs-server1**, scegli **Stop (Arresta)** e quando viene visualizzato il messaggio di conferma scegli **Stop (Arresta)**. Scegli **Edit (Modifica)** dopo che nel campo **Status (Stato)** la voce **stopping (arresto in corso)** diventa **stopped (arrestato)**, quindi passa il puntatore del mouse su ciascuna delle impostazioni. Non tutte le impostazioni sono associate a descrizioni a video. Per ulteriori informazioni su queste impostazioni, consultare [Aggiunta di un'istanza a un livello](workinginstances-add.md).

Dopo aver esaminato le impostazioni, scegli **Start (Avvia)** per riavviare l'istanza e attendi finché nel campo **Status (Stato)** non viene visualizzato **online**. In caso contrario, non sarai in grado di testare l'app in un secondo momento perché l'istanza rimarrà arrestata.

**Nota**  
Se desideri accedere all'istanza per esplorarla ulteriormente, devi prima fornire a OpsWorks Stacks le informazioni sulla tua chiave SSH pubblica (che puoi creare con strumenti come ssh-keygen o PuTTYgen), quindi devi impostare le autorizzazioni sullo stack **My Sample Stack (Linux)** per consentire all'utente di accedere all'istanza. Per istruzioni, consulta [Registrazione della chiave SSH pubblica di un utente](security-settingsshkey.md) e [Accesso con SSH](workinginstances-ssh.md).

Nella [fase successiva](gettingstarted-intro-explore-app.md), potrai esplorare le impostazioni dell'app.

# Fase 8. Esplorazione delle impostazioni dell'app
<a name="gettingstarted-intro-explore-app"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esamina le impostazioni utilizzate da OpsWorks Stacks per l'app.

**Per visualizzare le impostazioni dell'app**

1. Nel riquadro di navigazione del servizio, scegliere **Apps (App)**. Viene visualizzata la pagina **Apps (App)**.

1. Scegliere **Node.js Sample App (App di esempio Node.js)**. Viene visualizzata la pagina **Node.js Sample App (App di esempio Node.js)**:

     
![\[Node.js Sample App settings page showing app details, source, and data sources.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-app-details-page-console.png)

   

Per ulteriori informazioni sul significato di alcune impostazioni, scegli **Edit (Modifica)**, quindi passa il puntatore del mouse sopra ogni impostazione. Non tutte le impostazioni sono associate a descrizioni a video. Per ulteriori informazioni su queste impostazioni, consulta [Aggiunta di app](workingapps-creating.md).

Nella [fase successiva](gettingstarted-intro-explore-monitoring.md), potrai esplorare i rapporti relativi al monitoraggio del livello.

# Fase 9. Esplorazione dei report relativi al monitoraggio del livello
<a name="gettingstarted-intro-explore-monitoring"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esamina i report generati da OpsWorks Stacks sulle prestazioni di calcolo del layer.

**Per visualizzare i report relativi al monitoraggio del livello**

1. Nel riquadro di navigazione dei servizi, scegliere **Monitoring (Monitoraggio)**. Viene visualizzata la pagina **Monitoring Layers (Monitoraggio livelli)**.

1. Per esplorare visualizzazioni aggiuntive, scegliere la freccia accanto a **CPU**, **Memory (Memoria)**, **Load (Carico)** e all'ora:  
![\[Monitoring Layers dashboard showing CPU, Memory, Load, and Processes metrics with expandable options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-monitoring-page-console.png)

Per informazioni su questi e altri rapporti, consulta [Usare Amazon CloudWatch](monitoring-cloudwatch.md) e [Monitoraggio](monitoring.md).

Nella [fase successiva](gettingstarted-intro-explore-more.md), potrai esplorare altre impostazioni dello stack.

# Fase 10. Esplorazione di altre impostazioni dello stack
<a name="gettingstarted-intro-explore-more"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

In questa fase, potrai esaminare le altre impostazioni dello stack.

OpsWorks ****Stacks non ha eseguito distribuzioni separate, non ha fornito risorse aggiuntive e non ha modificato autorizzazioni aggiuntive come parte di questo stack, quindi non c'è molto interesse nelle pagine **Distribuzioni** e Comandi, Risorse e Autorizzazioni.**** Se tuttavia desideri visualizzare queste impostazioni, scegli rispettivamente **Deployments (Distribuzioni)**, **Resources (Risorse)** e **Permissions (Autorizzazioni)** nel riquadro di navigazione del servizio. Se desideri ulteriori informazioni sul significato di queste pagine, consulta [Distribuzione di app](workingapps-deploying.md), [Gestione delle risorse](resources.md) e [Gestione delle autorizzazioni utente](opsworks-security-users.md).

Nel [passaggio successivo](gettingstarted-intro-clean-up.md), puoi ripulire le risorse utilizzate per questa procedura dettagliata. AWS Questa fase è opzionale. Potresti voler continuare a utilizzare queste AWS risorse man mano che continui a saperne di più su OpsWorks Stacks. Tuttavia, il mantenimento di queste AWS risorse potrebbe comportare alcuni addebiti continui sul tuo AWS account. Se desideri conservare queste AWS risorse per un uso successivo, ora hai completato questa procedura dettagliata e puoi passare a. [Fasi successive](gettingstarted-intro-next-steps.md)

# Fase 11. Pulizia (opzionale)
<a name="gettingstarted-intro-clean-up"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Per evitare addebiti aggiuntivi AWS sul tuo account, puoi eliminare l'app e AWS le risorse utilizzate per questa procedura dettagliata, inclusi l'istanza e lo stack Stacks. OpsWorks [(Per ulteriori informazioni, consulta la sezione Prezzi).OpsWorks](https://aws.amazon.com/opsworks/pricing/) Tuttavia, potresti voler continuare a utilizzare queste AWS risorse man mano che continui a saperne di più su OpsWorks Stacks. Se desideri mantenere disponibili queste AWS risorse, ora hai completato questa procedura dettagliata e puoi passare a. [Fasi successive](gettingstarted-intro-next-steps.md)

I contenuti archiviati nelle risorse create per questa procedura guidata possono contenere informazioni identificative personali. Se non si desidera che queste informazioni vengano archiviate da AWS, seguire le fasi in questo argomento.

**Per eliminare l'app dallo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Apps (App)**. Viene visualizzata la pagina **Apps (App)**.

1. In **Node.js Sample App (App di esempio Node.js)**, per **Actions (Operazioni)**, scegliere **delete (eliminazione)**. Quando viene visualizzato il messaggio di conferma, scegliere **Delete (Elimina)**. Dopo aver eliminato l'app, viene visualizzato il messaggio **No apps (Nessuna applicazione)**.

**Per eliminare l'istanza per lo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. In **Node.js App Server (Server app Node.js)**, per **nodejs-server1**, in **Actions (Operazioni)**, scegliere **stop (arresto)**. Quando viene visualizzato il messaggio di conferma, scegliere **Stop (Arresta)**.

   Questo processo può richiedere alcuni minuti. Al termine OpsWorks di Stacks, vengono visualizzati i seguenti risultati.

     
![\[Node.js App Server instance details showing one stopped server in us-west-2a.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-example-instance-stopped-console.png)

   

1. In **Actions (Operazioni)**, scegliere **delete (eliminazione)**. Quando viene visualizzato il messaggio di conferma, scegliere **Delete (Elimina)**. L'istanza viene eliminata e viene visualizzato il messaggio **No instances (Nessuna istanza)**.

**Per eliminare lo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **My Sample Stack (Linux) (Stack di esempio personale (Linux))**.

1. Scegliere **Delete Stack (Elimina stack)**. Quando viene visualizzato il messaggio di conferma, scegliere **Delete (Elimina)**. Lo stack viene eliminato e viene visualizzata la pagina **OpsWorksDashboard**.

Facoltativamente, puoi eliminare l'utente e la coppia di EC2 chiavi Amazon che hai usato per questa procedura dettagliata, se non desideri riutilizzarli per accedere ad altri AWS servizi e istanze. EC2 Per istruzioni, consulta [Eliminazione di un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e di [coppie di EC2 chiavi Amazon e istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

A questo punto hai completato la procedura guidata. Per ulteriori informazioni, consulta [Fasi successive](gettingstarted-intro-next-steps.md).

# Fasi successive
<a name="gettingstarted-intro-next-steps"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ora che hai completato questa procedura dettagliata, puoi saperne di più sull'uso di Stacks: OpsWorks 
+ Esercitati a ricreare manualmente questa pila da solo usando Stacks. OpsWorks Per informazioni, consulta [Nozioni di base: Linux](gettingstarted-linux.md).
+ Esplora il ricettario e l'app che OpsWorks Stacks ha usato per questa procedura dettagliata. Consulta [Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata](gettingstarted-linux-explore-cookbook.md) e [Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata](gettingstarted-linux-explore-app-source.md) nella procedura guidata di integrazione [Nozioni di base: Linux](gettingstarted-linux.md).
+ Esercitati a usare OpsWorks Stacks con istanze Windows. Per informazioni, consulta [Nozioni di base: Windows](gettingstarted-windows.md).
+ Scopri altre informazioni sugli stack eseguendo l'operazione [Creare un nuovo stack](workingstacks-creating.md).
+ Scopri altre informazioni sui livelli eseguendo l'operazione [Modifica della configurazione di un livello OpsWorks](workinglayers-basics-edit.md).
+ Scopri altre informazioni sulle istanze eseguendo l'operazione [Aggiunta di un'istanza a un livello](workinginstances-add.md).
+ Scopri altre informazioni sulle app eseguendo l'operazione [Distribuzione di app](workingapps-deploying.md).
+ Ulteriori informazioni su [Libri di ricette e ricette](workingcookbook.md).
+ Crea il tuo libro di ricette. Per informazioni, consulta [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md).
+ Scopri altre informazioni sul controllo dell'accesso agli stack consultando l'argomento [Sicurezza e autorizzazioni](workingsecurity.md).

# Nozioni di base sugli stack Linux
<a name="gettingstarted-linux"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

In questa procedura dettagliata, imparerai come utilizzare OpsWorks Stacks per creare un ambiente applicativo Node.js. Al termine, avrai un'istanza Amazon Elastic Compute Cloud (Amazon EC2) che esegue Chef 12, un server HTTP Node.js e un'app Web che puoi utilizzare per interagire con Twitter e lasciare commenti su una pagina Web.

Chef è un framework di terze parti per la configurazione e la manutenzione dei server, come EC2 le istanze, e il modo in cui le app vengono distribuite e gestite su tali server. Se non conosci Chef, dopo aver completato questa procedura dettagliata, ti consigliamo di saperne di più su Chef in modo da poter sfruttare appieno tutto ciò che Stacks ha OpsWorks da offrire. Per ulteriori informazioni, visita il sito Web [Learn Chef](https://learn.chef.io/).

OpsWorks Stacks supporta quattro distribuzioni Linux: Amazon Linux, Ubuntu Server, CentOS e Red Hat Enterprise Linux. Per questa procedura dettagliata, utilizziamo Ubuntu Server. OpsWorks Stacks funziona anche con Windows Server. Sebbene sia disponibile una procedura dettagliata equivalente per gli stack di Windows Server, ti consigliamo di completare prima questa procedura dettagliata per apprendere concetti di base su OpsWorks Stacks e Chef che non vengono ripetuti qui. Dopo aver completato questa procedura guidata, esegui la procedura guidata [Nozioni di base: Windows](gettingstarted-windows.md).



**Topics**
+ [Fase 1: completamento dei prerequisiti](gettingstarted-linux-prerequisites.md)
+ [Fase 2. Creazione di uno stack](gettingstarted-linux-create-stack.md)
+ [Fase 3. Aggiunta di un livello allo stack](gettingstarted-linux-add-layer.md)
+ [Fase 4. Specifica dell'app da distribuire sull'istanza](gettingstarted-linux-specify-app.md)
+ [Fase 5. Avvio di un'istanza](gettingstarted-linux-launch-instance.md)
+ [Fase 6. Distribuzione dell'app sull'istanza](gettingstarted-linux-deploy-app.md)
+ [Fase 7. Test dell'app distribuita sull'istanza](gettingstarted-linux-test-app.md)
+ [Fase 8. Pulizia (opzionale)](gettingstarted-linux-clean-up.md)
+ [Fasi successive](gettingstarted-linux-next-steps.md)
+ [Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata](gettingstarted-linux-explore-cookbook.md)
+ [Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata](gettingstarted-linux-explore-app-source.md)

# Fase 1: completamento dei prerequisiti
<a name="gettingstarted-linux-prerequisites"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Prima di poter avviare la procedura guidata, completa le seguenti fasi di configurazione. Questi passaggi di configurazione includono la registrazione di un AWS account, la creazione di un utente amministrativo e l'assegnazione delle autorizzazioni di accesso a Stacks. OpsWorks 

Se hai già completato la procedura guidata [Nozioni di base: esempio](https://docs.aws.amazon.com/opsworks/latest/userguide/gettingstarted-intro.html), hai già completato i prerequisiti per questa procedura guidata, pertanto puoi passare direttamente a [Fase 2. Creazione di uno stack](gettingstarted-linux-create-stack.md).

**Topics**
+ [Registrati per un Account AWS](#sign-up-for-aws)
+ [Crea un utente con accesso amministrativo](#create-an-admin)
+ [Assegna le autorizzazioni di accesso al servizio](#gettingstarted-linux-prerequisites-permissions)

## Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Accedere come utente root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) nella *Guida per l’utente di Accedi ad AWS *.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Assegna al gruppo prima gli utenti e poi l’accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center *.

## Assegna le autorizzazioni di accesso al servizio
<a name="gettingstarted-linux-prerequisites-permissions"></a>

Abilita l'accesso al servizio OpsWorks Stacks (e ai servizi correlati su cui si basa OpsWorks Stacks) aggiungendo le `AmazonS3FullAccess` autorizzazioni `AWSOpsWorks_FullAccess` e al tuo ruolo o utente.

Per ulteriori informazioni sull'aggiunta di autorizzazioni, consulta Aggiungere i permessi di [identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) (console).

A questo punto hai completato tutte le fasi di configurazione. Ora puoi [avviare questa procedura guidata](gettingstarted-linux-create-stack.md).

# Fase 2. Creazione di uno stack
<a name="gettingstarted-linux-create-stack"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Utilizzerai la console OpsWorks Stacks per creare uno stack. Uno *stack* è una raccolta di istanze e AWS risorse correlate che hanno uno scopo comune e che desiderate gestire insieme. Per ulteriori informazioni, consulta [Stack](workingstacks.md). Per questa procedura guidata è disponibile solo un'istanza.

Prima di iniziare, completa i [prerequisiti,](gettingstarted-linux-prerequisites.md) se non hai già eseguito questa operazione.

**Per creare lo stack**

1. Accedi a Console di gestione AWS e apri la OpsWorks console all'indirizzo. [https://console.aws.amazon.com/opsworks/](https://console.aws.amazon.com/opsworks/)

1. Eseguire una delle seguenti operazioni, se possibile:
   + Se viene visualizzata la pagina **Welcome to OpsWorks Stacks**, scegli **Aggiungi il tuo primo stack** o **Aggiungi il tuo primo OpsWorks stack Stacks** (entrambe le scelte hanno la stessa funzione). Viene visualizzata la pagina **Add stack (Aggiungi stack)**.
   + **Se viene visualizzata la pagina **OpsWorks Dashboard**, scegli Aggiungi stack.** Viene visualizzata la pagina **Add stack (Aggiungi stack)**.

1. Con la pagina **Add stack (Aggiungi stack)** visualizzata, scegliere **Chef 12 stack (Stack Chef 12)**, se l'opzione non è già stata selezionata automaticamente.

1. Nella casella **Stack name (Nome stack)** digitare il nome dello stack, ad esempio **MyLinuxDemoStack**. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `MyLinuxDemoStack` durante l'esecuzione di questa procedura guidata.

1. Per **Regione**, scegli **Stati Uniti occidentali (Oregon)**.

1. In **VPC**, eseguire una delle seguenti operazioni:
   + Se è disponibile un VPC, sceglierlo. Per ulteriori informazioni, consulta [Esecuzione di uno stack in un VPC](workingstacks-vpc.md).
   + In caso contrario, scegliere **No VPC (Nessun VPC)**.

1. In **Default operating system (Sistema operativo predefinito)**, scegliere **Linux** e **Ubuntu 18.04 LTS**.

1. In **Use custom Chef cookbooks (Utilizza i libri di ricette di Chef personalizzati)**, scegliere **Yes (Sì)**.

1. In **Repository type (Tipo di repository)**, scegliere **Http Archive (Archivio Http)**.

1. Nel campo **Repository URL (URL repository)**, digitare **https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz**

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Default Availability Zone (Zona di disponibilità predefinita)** (**us-west-2a**)
   + **Default SSH key (Chiave SSH predefinita)** (**Do not use a default SSH key (Non utilizzare una chiave SSH predefinita)**)
   + **User name (Nome utente)** (vuoto)
   + **Password** (vuoto)
   + **Stack color (Colore stack)** (blu scuro)

1. Scegli **Avanzato**.

1. Per il **ruolo IAM**, esegui una delle seguenti operazioni (per ulteriori informazioni, consulta[Consentire OpsWorks a Stacks di agire per tuo conto](opsworks-security-servicerole.md)):
   + Se **aws-opsworks-service-role**disponibile, sceglilo.
   + Se non **aws-opsworks-service-role**è disponibile, scegli **Nuovo ruolo IAM**.

1. Per il **profilo predefinito dell'istanza IAM**, esegui una delle seguenti operazioni (per ulteriori informazioni, consulta[Specificazione delle autorizzazioni per le app in esecuzione su istanze EC2](opsworks-security-appsrole.md)):
   + Se sono disponibili **aws-opsworks-ec2 ruoli**, sceglili.
   + Se **aws-opsworks-ecil doppio ruolo** non è disponibile, scegli **Nuovo profilo di istanza IAM**.

1. In **API endpoint region (Regione endpoint API)**, scegliere l'endpoint API regionale a cui si desidera associare lo stack. **Se desideri che lo stack si trovi nella regione Stati Uniti occidentali (Oregon) all'interno dell'endpoint regionale degli Stati Uniti orientali (Virginia settentrionale), scegli us-east-1.** **Se desideri che lo stack si trovi sia nella regione Stati Uniti occidentali (Oregon) sia associato all'endpoint regionale degli Stati Uniti occidentali (Oregon), scegli us-west-2.**
**Nota**  
L'endpoint regionale degli Stati Uniti orientali (Virginia settentrionale) include versioni precedenti Regioni AWS per motivi di compatibilità con le versioni precedenti, ma è consigliabile scegliere l'endpoint regionale più vicino a quello in cui gestisci. AWS Per ulteriori informazioni, consulta [Supporto nelle regioni](gettingstarted_intro.md#gettingstarted-intro-region).

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Default root device type (Tipo di dispositivo radice predefinito)** (**EBS backed (Supportato da EBS)**)
   + **Hostname theme (Tema nome host)** (**Layer Dependent (Dipendente dal livello)**)
   + **OpsWorks Versione dell'agente (versione più recente**)
   + **Custom JSON (JSON personalizzato)** (vuoto)
   + **Usa gruppi OpsWorks di sicurezza** (**Sì**)

1. I risultati dovrebbero corrispondere alle schermate seguenti, ad eccezione forse di **VPC****, ruolo IAM** **e profilo di istanza IAM predefinito**:

     
![\[AWS OpsWorks Stacks interface for creating a Chef 12 stack with configuration options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-stack-top-console.png)

     
![\[AWS OpsWorks stack configuration form with repository, IAM, and security options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-stack-bottom-console.png)

   

1. Scegli **Aggiungi stack**. OpsWorks Stacks crea lo stack e visualizza la pagina. **MyLinuxDemoStack**

Ora disponi di uno stack con le impostazioni corrette per questa procedura guidata.

Nella [fase successiva](gettingstarted-linux-add-layer.md), aggiungerai un livello allo stack.

# Fase 3. Aggiunta di un livello allo stack
<a name="gettingstarted-linux-add-layer"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

 Un *layer* è un modello per un insieme di istanze, come le istanze Amazon EC2. Specifica informazioni quali, ad esempio, le impostazioni dell'istanza, le risorse, i pacchetti installati e i gruppi di sicurezza. Si aggiunge quindi un livello allo stack. Per ulteriori informazioni sui livelli, consulta [Livelli](workinglayers.md).

**Per aggiungere il livello allo stack**

1. Con la **MyLinuxDemoStack**pagina visualizzata nel passaggio precedente, per **Livelli**, scegli **Aggiungi** un livello: 

     
![\[Layers section with icon and description, highlighting "Add a layer" option.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-layer-console.png)

   

1. Viene visualizzata la pagina **Add Layer (Aggiungi livello)**. Nella **OpsWorks**scheda, per **Nome**, digitate**MyLinuxDemoLayer**. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `MyLinuxDemoLayer` durante l'esecuzione di questa procedura guidata.

1. In **Short name (Nome breve)**, immettere **demo**. È anche possibile immettere un valore diverso, assicurandosi però di sostituirlo sempre a `demo` in tutta la procedura guidata:

     
![\[Form to add a layer with fields for name and short name, and options for OpsWorks, ECS, and RDS.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-layer-page-console.png)

   

1. Scegli **Aggiungi livello**. OpsWorks Stacks crea il livello e visualizza la pagina **Livelli**.

1. Nella pagina **Livelli**, per **MyLinuxDemoLayer**, scegli **Rete**.

1. Nella scheda **Network (Rete)**, in **Automatically Assign IP Addresses (Assegna automaticamente indirizzi IP)**, verificare che l'opzione **Public IP addresses (Indirizzi IP pubblici)** sia impostata su **yes (sì)**. Se sono state apportate delle modifiche, scegliere **Save (Salva)**.  
![\[Network settings showing Public IP addresses set to yes and Elastic IP addresses set to No.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/add_layer_publicip.png)

1. Nella pagina **Layers (Livelli)**, scegliere **Security (Sicurezza)**:

     
![\[AWS Layers interface showing MyLinuxDemoLayer with Security tab highlighted.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-layer-page-console.png)

   

1. La MyLinuxDemoLayer pagina **Layer** viene visualizzata con la scheda **Sicurezza** aperta. Per **i gruppi di sicurezza**, scegli **AWS- OpsWorks - WebApp**, quindi scegli **Salva**:

     
![\[Security settings interface showing security group selection and EC2 instance profile options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-layer-security-console.png)

   

1. Il gruppo di sicurezza `AWS-OpsWorks-WebApp` viene aggiunto al livello. (Questo gruppo di sicurezza consente agli utenti di connettersi all'app sull'istanza più avanti in questa procedura dettagliata. Senza questo gruppo di sicurezza, gli utenti riceveranno un messaggio nel browser Web che indica che non possono connettersi all'istanza.)

Ora disponi di un livello con le impostazioni corrette per questa procedura guidata.

Nella [fase successiva](gettingstarted-linux-specify-app.md) specificherai l'app da distribuire sull'istanza. 

# Fase 4. Specifica dell'app da distribuire sull'istanza
<a name="gettingstarted-linux-specify-app"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Descrivi a OpsWorks Stacks l'app che distribuirai sull'istanza più avanti in questa procedura dettagliata. In questo contesto, OpsWorks Stacks definisce un'*app* come il codice che desideri eseguire su un'istanza. Per ulteriori informazioni, consulta [App](workingapps.md).

La procedura in questa sezione è valida per stack Chef 12 e stack di versioni più recenti. Per ulteriori informazioni su come aggiungere app ai livelli negli stack Chef 11, consulta [Fase 2.4: Creazione e distribuzione di un'app - Chef 11](gettingstarted-simple-app.md).

**Per specificare l'app da distribuire**

1. Nel riquadro di navigazione del servizio, scegliere **Apps (App)**:

     
![\[Navigation menu with options including Stack, Layers, Instances, and Apps highlighted.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-nav-pane-console.png)

   

1. Viene visualizzata la pagina **Apps (App)**. Selezionare **Add an app (Aggiungi un'app)**. Viene visualizzata la pagina **Add App (Aggiungi app)**.

1. In **Impostazioni**, in **Nome**, digita**MyLinuxDemoApp**. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `MyLinuxDemoApp` durante l'esecuzione di questa procedura guidata.

1. Per **Application Source (Origine dell'applicazione)**, in **Repository URL (URL repository)**, digitare **https://github.com/awslabs/opsworks-windows-demo-nodejs.git**

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Settings (Impostazioni)**, **Document root (Radice documento)** (vuoto)
   + **Data Sources (Origini dati)**, **Data source type (Tipo di origine dati)** (**None (Nessuno)**)
   + **Repository type (Tipo di repository)** (**Git**)
   + **Repository SSH key (Chiave SSH archivio)** (vuoto)
   + **Branch/Revision (Ramo/Versione)** (vuoto)
   + **Environment Variables (Variabili di ambiente)** - **KEY (CHIAVE)** (vuoto), **VALUE (VALORE)** (vuoto), **Protected Value (Valore protetto)** deselezionato
   + **Add Domains (Aggiungi domini)**, **Domain Name (Nome dominio)** (vuoto)
   + **SSL Settings (Impostazioni SSL)**, **Enable SSL (Abilita SSL)** (**No**)

     
![\[Add App form with settings for name, document root, data sources, and application source.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-app-top-console.png)

     
![\[Application configuration form with environment variables, domain settings, and SSL options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-app-bottom-console.png)

   

1. Scegli **Aggiungi app**. OpsWorks Stacks aggiunge l'app e visualizza la pagina **App**.

Ora disponi di un'app con le impostazioni corrette per questa procedura guidata.

Nella [fase successiva](gettingstarted-linux-launch-instance.md), avvierai l'istanza.

# Fase 5. Avvio di un'istanza
<a name="gettingstarted-linux-launch-instance"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Usa OpsWorks Stacks per avviare un' EC2 istanza Amazon di Ubuntu Server. Questa istanza usa le impostazioni definite nel livello creato in precedenza in questa procedura guidata. Per ulteriori informazioni, consulta [Istanze](workinginstances.md).

**Per avviare l'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. Per **MyLinuxDemoLayer**, scegli **Aggiungi un'istanza**.

1. Nella scheda **New (Nuova)** non modificare le impostazioni predefinite delle seguenti opzioni:
   + **Hostname (Nome host)** (**demo1**)
   + **Size (Dimensione)** (**c3.large**)
   + **Sottorete** (*IP address***us-west-2a**)

1. Scegli **Avanzato**.

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Scaling type (Tipo di dimensionamento)** (**24/7**)
   + **SSH key (Chiave SSH)** (**Do not use a default SSH key (Non utilizzare una chiave SSH predefinita)**)
   + **Operating system (Sistema operativo)** (**Ubuntu 18.04 LTS**)
   + **OpsWorks Versione dell'agente (eredita dallo stack****)**
   + **Tenancy** (**Default - Rely on VPC settings (Predefinita - Basata su impostazioni VPC)**)
   + **Root device type (Tipo di dispositivo radice)** (**EBS backed (Supportato da EBS)**)
   + **Volume type (Tipo di volume)** (**General Purpose (SSD) (Per scopi generici (SSD)**)
   + **Volume size (Dimensioni volume)** (**8**)

1. I risultati saranno simili a quelli illustrati nello screenshot riportato di seguito:

     
![\[Form for configuring a new EC2 instance with options for hostname, size, subnet, and other settings.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-add-instance-console.png)

   

1. Scegli **Aggiungi istanza**. OpsWorks Stacks aggiunge l'istanza al layer e visualizza la pagina **Istanze.**

1. **Per **MyLinuxDemoLayer**, per **demo1**, per **Actions**, scegliete start:**

     
![\[Instance management interface showing a stopped demo1 instance with start and delete options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-start-instance-console.png)

   

1. Nei minuti successivi si verificheranno i seguenti eventi:
   + Il valore dell'icona **setting up (configurazione in corso)** cambierà da **0** a **1**. 
   + L'icona **Status (Stato)** assumerà in sequenza i seguenti valori: **stopped (arrestato)**, **requested (richiesto)**, **pending (in attesa)**, **booting (avvio in corso)**, **running\$1setup (configurazione in corso)** e infine **online**. Questo processo può richiedere alcuni minuti.
   + Quando l'icona **Status (Stato)** passa al valore **online**, l'indicatore **setting up (configurazione in corso)** passa da **1** a **0** e l'icona **online** passa da **0** a **1** e diventa verde brillante. Non procedere fino a quando l'icona **online** non diventa verde brillante e mostra il valore **1** (istanza online). 

1. I risultati devono corrispondere a quelli riportati nel seguente screenshot prima di continuare (se viene visualizzato un messaggio di errore, consulta la [Guida al debugging e alla risoluzione dei problemi](troubleshoot.md)):

     
![\[EC2 instance details showing one online c3.large instance in us-west-2a with stop and ssh options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-instance-started-console.png)

   

Ora disponi di un'istanza pronta per la distribuzione dell'app. 

**Nota**  
Se desideri accedere all'istanza per esplorarla ulteriormente, devi prima fornire a OpsWorks Stacks le informazioni sulla tua chiave SSH pubblica (che puoi creare con strumenti come ssh-keygen o PuTTYgen), quindi devi impostare le autorizzazioni sullo `MyLinuxDemoStack` stack per consentire all'utente di accedere all'istanza. Per istruzioni, consulta [Registrazione della chiave SSH pubblica di un utente](security-settingsshkey.md) e [Accesso con SSH](workinginstances-ssh.md). Se prevedi di utilizzare SSH per connetterti alle istanze tramite PuTTY, vedi [Connessione all'istanza Linux da Windows con](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) PuTTY nella documentazione. AWS 

Nella [fase successiva](gettingstarted-linux-deploy-app.md) distribuirai l'app sull'istanza.

# Fase 6. Distribuzione dell'app sull'istanza
<a name="gettingstarted-linux-deploy-app"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

In questo passaggio, distribuirai l'app dall'istanza GitHub in esecuzione. Per ulteriori informazioni, consulta [Distribuzione di app](workingapps-deploying.md). Prima di distribuire l'app, devi specificare la *ricetta* da usare per coordinare la distribuzione. Un ricetta è un concetto Chef. Le ricette sono istruzioni, scritte con la sintassi del linguaggio Ruby, che specificano le risorse da utilizzare e l'ordine in cui tali risorse vengono applicate. Per ulteriori informazioni, consulta la sezione relativa all'[introduzione delle ricette](https://docs.chef.io/recipes.html) nel sito Web [Learn Chef](https://learn.chef.io/). 

**Per specificare la ricetta da utilizzare per distribuire l'applicazione sull'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Layers (Livelli)**. Viene visualizzata la pagina **Layers (Livelli)**.

1. Per **MyLinuxDemoLayer**, scegli **Ricette**:

     
![\[Layer interface showing MyLinuxDemoLayer with tabs for Settings, Recipes, Network, EBS Volumes, and Security.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-layers-page-console.png)

   

   La MyLinuxDemoLayer pagina **Layer** viene visualizzata con la scheda **Ricette** aperta.

1. Per **Custom Chef Recipes (Ricette Chef personalizzate)**, in **Deploy (Distribuzione)**, digitare **nodejs\$1demo::default** e quindi premere **Invio**. `nodejs_demo` è il nome del libro di ricette e `default` è il nome della ricetta di destinazione all'interno del libro di ricette. Per esplorare il codice della ricetta, consulta [Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata](gettingstarted-linux-explore-cookbook.md). I risultati devono corrispondere a quelli illustrati nel seguente screenshot:

     
![\[Custom Chef Recipes configuration panel with Repository URL and lifecycle stages for a Linux demo layer.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-recipes-page-console.png)

   

1. Scegliete **Salva**. OpsWorks Stacks aggiunge la ricetta all'evento del ciclo di vita Deploy del layer.

**Per distribuire l'app nell'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Apps (App)**. Viene visualizzata la pagina **Apps (App)**. 

1. Per **MyLinuxDemoApp**, per **Actions**, scegliete **deploy**, come mostrato nella seguente schermata:

     
![\[Apps table showing MyLinuxDemoApp with deploy, edit, and delete options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-apps-page-console.png)

   

1. Nella pagina **Deploy App (Distribuisci app)** non modificare le impostazioni predefinite delle seguenti opzioni:
   + **Command (Comando)** (**Deploy (Distribuisci)**)
   + **Comment (Commento)** (vuoto)
   + **Settings (Impostazioni)**, **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)** (vuoto)
   + **Istanze****, **Avanzate** (selezionato **Seleziona tutto**, selezionato **MyLinuxDemoLayer**, controllato demo1)**

1. I risultati devono corrispondere a quelli illustrati nel seguente screenshot:

     
![\[Deploy App interface with settings for MyLinuxDemoApp, including command and instance selection.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-deploy-app-console.png)

   

1. Seleziona **Implementa**. Viene visualizzata la **pagina Deployment MyLinuxDemoApp — deploy.** Il valore di **Status (Stato)** cambia da **running (esecuzione in corso)** a **successful (operazione riuscita)**. Accanto a **demo1** viene visualizzato un cerchio in movimento che si trasforma in segno di spunta verde. Questo processo può richiedere alcuni minuti. Procedere solo dopo che in **Status (Stato)** viene visualizzato il valore **successful (operazione riuscita)** e solo dopo la visualizzazione dell'icona a forma di segno di spunta verde.

1. I risultati devono corrispondere a quelli illustrati nel seguente screenshot, eccezion fatta per i valori dei campi **Created at (Data/ora creazione)**, **Completed at (Data/ora completamento)**, **Duration (Durata)** e **User (Utente)**. Se in **status (stato)** viene visualizzato il valore **failed (operazione non riuscita)**, per eseguire la risoluzione dei problemi, in **Log**, scegliere **show (mostra)** per visualizzare i dettagli dell'errore:

     
![\[Deployment details for MyLinuxDemoApp showing successful status and duration of 1 minute 13 seconds.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-app-deployed-console.png)

   

A questo punto hai distribuito correttamente l'app sull'istanza.

Nella [fase successiva](gettingstarted-linux-test-app.md) procederai al test dell'app distribuita sull'istanza.

# Fase 7. Test dell'app distribuita sull'istanza
<a name="gettingstarted-linux-test-app"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

A questo punto puoi testare la distribuzione sull'istanza.

**Per testare la distribuzione sull'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. Per **MyLinuxDemoLayer**, per **demo1**, per **Public IP, scegli l'indirizzo IP**:

     
![\[EC2 instance details showing one online c3.large instance in us-west-2a with stop and ssh options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-instance-ip-console.png)

   

   L'app viene visualizzata in una nuova scheda del browser Web.

1. Nella pagina Web di presentazione, nella casella di testo **Leave a comment (Lascia un commento)** immettere un commento, quindi scegliere **Send (Invia)** per testare l'app. L'app aggiunge il commento alla pagina Web. Continuare a immettere commenti e scegliere **Send (Invia)**:

     
![\[Congratulatory message for deploying first app with AWS OpsWorks, featuring stylized tree and buildings.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-test-app.png)

   

1. Se hai un account Twitter, scegli **Tweet** o **Segui @ AWSOps Works** e segui le istruzioni sullo schermo per twittare sull'app o seguire @ Works. AWSOps

A questo punto hai testato correttamente l'app distribuita sull'istanza.

Nel [passaggio successivo](gettingstarted-linux-clean-up.md), puoi ripulire le AWS risorse utilizzate per questa procedura dettagliata. Questa fase è opzionale. Potresti voler continuare a utilizzare queste AWS risorse man mano che continui a saperne di più su OpsWorks Stacks. Tuttavia, il mantenimento di queste AWS risorse potrebbe comportare alcuni addebiti continui sul tuo AWS account. Se desideri conservare queste AWS risorse per un uso successivo, ora hai completato questa procedura dettagliata e puoi passare a. [Fasi successive](gettingstarted-linux-next-steps.md)

# Fase 8. Pulizia (opzionale)
<a name="gettingstarted-linux-clean-up"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Per evitare di incorrere in costi aggiuntivi AWS sul tuo account, puoi eliminare le AWS risorse utilizzate per questa procedura dettagliata. Queste AWS risorse includono lo OpsWorks stack Stacks e i componenti dello stack. [(Per ulteriori informazioni, consulta OpsWorks la sezione Prezzi).](https://aws.amazon.com/opsworks/pricing/) Tuttavia, potresti voler continuare a utilizzare queste AWS risorse man mano che continui a saperne di più su OpsWorks Stacks. Se desideri mantenere disponibili queste AWS risorse, ora hai completato questa procedura dettagliata e puoi saltare a. [Fasi successive](gettingstarted-linux-next-steps.md)

I contenuti archiviati nelle risorse create per questa procedura guidata possono contenere informazioni identificative personali. Se non si desidera che queste informazioni vengano archiviate da AWS, seguire le fasi in questo argomento.

**Per eliminare l'app dallo stack**

1. **Nella console OpsWorks Stacks, nel pannello di navigazione del servizio, scegli App.** Viene visualizzata la pagina **Apps (App)**.

1. Per **MyLinuxDemoApp**, per **Azioni**, scegli **elimina**. Quando viene visualizzato il messaggio di conferma, scegli **Elimina**. OpsWorks Stacks elimina l'app.

**Per eliminare l'istanza per lo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. **Per **MyLinuxDemoLayer**, per **demo1**, per **Actions**, scegli stop.** Quando viene visualizzato il messaggio di conferma, scegliere **Stop (Arresta)**. Si verificano le seguenti situazioni.
   + L'opzione **Status (Stato)** passa da **online** a **stopping (arresto in corso)** e infine a **stopped (arrestato)**.
   + La voce **online** cambia da **1** in **0**.
   + La voce **shutting down (chiusura in corso)** cambia da **0** in **1** e infine in **0**.
   + La voce **stopped (arrestato)** cambia da **0** in **1**.

   Questo processo può richiedere alcuni minuti. Al termine di OpsWorks Stacks, vengono visualizzati i seguenti risultati.

     
![\[Instances dashboard showing one stopped Linux instance in the us-west-2a availability zone.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/gs-linux-instance-stopped-console.png)

   

1. In **Actions (Operazioni)**, scegliere **delete (eliminazione)**. Quando viene visualizzato il messaggio di conferma, scegli **Elimina**. OpsWorks Stacks elimina l'istanza e visualizza il messaggio **Nessuna istanza**.

**Per eliminare lo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **MyLinuxDemoStack**.

1. Scegliere **Delete Stack (Elimina stack)**. **Quando viene visualizzato il messaggio di conferma, scegli Elimina.** OpsWorks **Stacks elimina lo stack e visualizza la pagina Dashboard. OpsWorks **

Facoltativamente, puoi eliminare l'utente e la coppia di EC2 chiavi Amazon che hai usato per questa procedura dettagliata, se non desideri riutilizzarli per accedere ad altri AWS servizi e istanze. EC2 Per istruzioni, consulta [Eliminazione di un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e di [coppie di EC2 chiavi Amazon e istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

A questo punto hai completato la procedura guidata. Per ulteriori informazioni, consulta [Fasi successive](gettingstarted-linux-next-steps.md).

# Fasi successive
<a name="gettingstarted-linux-next-steps"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ora che hai completato questa procedura dettagliata, puoi saperne di più sull'uso di Stacks: OpsWorks 
+ Scopri altre informazioni sul libro di ricette e sull'app utilizzati per questa procedura guidata. Consulta [Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata](gettingstarted-linux-explore-cookbook.md) e [Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata](gettingstarted-linux-explore-app-source.md).
+ Esercitati a usare OpsWorks Stacks con istanze Windows. Per informazioni, consulta [Nozioni di base: Windows](gettingstarted-windows.md).
+ Scopri altre informazioni sugli stack eseguendo l'operazione [Creare un nuovo stack](workingstacks-creating.md).
+ Scopri altre informazioni sui livelli eseguendo l'operazione [Modifica della configurazione di un livello OpsWorks](workinglayers-basics-edit.md).
+ Scopri altre informazioni sulle istanze eseguendo l'operazione [Aggiunta di un'istanza a un livello](workinginstances-add.md).
+ Scopri altre informazioni sulle app eseguendo l'operazione [Distribuzione di app](workingapps-deploying.md).
+ Ulteriori informazioni su [Libri di ricette e ricette](workingcookbook.md).
+ Crea il tuo libro di ricette. Per informazioni, consulta [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md).
+ Scopri altre informazioni sul controllo dell'accesso agli stack consultando l'argomento [Sicurezza e autorizzazioni](workingsecurity.md).

# Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata
<a name="gettingstarted-linux-explore-cookbook"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Questo argomento descrive il ricettario utilizzato da OpsWorks Stacks per la procedura dettagliata.

Un *libro di ricette* è un concetto Chef. I libri di ricette sono file di archivio contenenti informazioni di configurazione, ad esempio ricette, valori di attributi, file, modelli, librerie, definizioni e risorse personalizzate. Anche la *ricetta* è un concetto Chef. Le ricette sono istruzioni, scritte con la sintassi del linguaggio Ruby, che specificano le risorse da utilizzare e l'ordine in cui tali risorse vengono applicate. Per ulteriori informazioni, consulta l'argomento relativo all'[introduzione dei libri di ricette](https://docs.chef.io/cookbooks.html) e all'[introduzione delle ricette](https://docs.chef.io/recipes.html) nel sito Web [Learn Chef](https://learn.chef.io/).

Per visualizzare il contenuto del ricettario utilizzato in questa procedura dettagliata, estrai il contenuto del file [opsworks-linux-demo-cookbooks-nodejs.tar.gz](https://s3.amazonaws.com/opsworks-demo-assets/opsworks-linux-demo-cookbooks-nodejs.tar.gz) in una directory vuota sulla workstation locale. Puoi anche effettuare l'accesso all'istanza in cui hai distribuito il libro di ricette e quindi esplorare i contenuti della directory `/var/chef/cookbooks`.

Il file `default.rb` nella directory `cookbooks/nodejs_demo/recipes` è la posizione in cui il libro di ricette esegue il relativo codice: 

```
app = search(:aws_opsworks_app).first
app_path = "/srv/#{app['shortname']}"

package "git" do
  options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04"
end

application app_path do
  javascript "4"
  environment.update("PORT" => "80")

  git app_path do
    repository app["app_source"]["url"]
    revision app["app_source"]["revision"]
  end

  link "#{app_path}/server.js" do
    to "#{app_path}/index.js"
  end

  npm_install
  npm_start
end
```

Le operazioni eseguite dal file sono descritte di seguito:
+ `search(:aws_opsworks_app).first` utilizza la ricerca di Chef per cercare le informazioni relative all'app che verrà distribuita sull'istanza. Queste informazioni includono impostazioni quali il nome breve dell'app e i dettagli del relativo archivio di origine. Poiché in questa procedura guidata è stata distribuita solo un'app, la ricerca di Chef recupera queste informazioni dal primo elemento dell'indice di ricerca `aws_opsworks_app` sull'istanza. Ogni volta che viene avviata un'istanza, OpsWorks Stacks memorizza questa e altre informazioni correlate come un insieme di data bag sull'istanza stessa e il contenuto del data bag viene visualizzato tramite Chef search. Anche se è possibile eseguire l'hard coding di queste impostazioni in questa ricetta, l'utilizzo dei contenitori di dati e della ricerca di Chef rappresenta l'approccio più affidabile. Per ulteriori informazioni sui contenitori di dati, consulta [OpsWorks Riferimento a Stacks Data Bag](data-bags.md). Consulta anche l'argomento relativo all'[introduzione dei contenitori di dati](https://docs.chef.io/data_bags.html) nel sito Web [Learn Chef](https://learn.chef.io/). Per ulteriori informazioni sulla ricerca di Chef, consulta l'argomento relativo all'[introduzione della ricerca](https://docs.chef.io/chef_search.html) nel sito Web [Learn Chef](https://learn.chef.io/).
+ La risorsa `package` installa Git sull'istanza.
+ La risorsa `application` descrive e distribuisce le applicazioni Web:
  + `javascript`è la versione del JavaScript runtime da installare.
  + `environment` imposta una variabile di ambiente.
  + `git` recupera il codice sorgente dall'archivio e dal ramo specificati.
  + `app_path` è il percorso in cui clonare l'archivio. Se il percorso non esiste nell'istanza, OpsWorks Stacks lo crea.
  + `link` crea un collegamento simbolico.
  + `npm_install` installa Node Package Manager, il programma di gestione dei pacchetti predefinito per Node.js.
  + `npm_start` esegue Node.js.

Sebbene OpsWorks Stacks abbia creato il ricettario utilizzato per questa procedura dettagliata, puoi creare i tuoi libri di cucina. Per scoprire come, consulta [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md). Consulta anche gli argomenti relativi all'[introduzione dei libri di ricette](https://docs.chef.io/cookbooks.html), all'[introduzione delle ricette](https://docs.chef.io/recipes.html) e alle [nozioni di base su Chef per Ubuntu](https://learn.chef.io/modules/learn-the-basics/ubuntu#/) nel sito Web [Learn Chef](https://learn.chef.io/), nonché la sezione relativa al primo libro di ricette di Chef nell'argomento relativo alle [fasi iniziali con Chef](http://gettingstartedwithchef.com/first-steps-with-chef.html) nel sito Web [Getting started with Chef](http://gettingstartedwithchef.com/).

# Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata
<a name="gettingstarted-linux-explore-app-source"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Questo argomento descrive l'app che OpsWorks Stacks distribuisce all'istanza per questa procedura dettagliata.

Per visualizzare il codice sorgente dell'app, estrai il contenuto del [opsworks-windows-demo-nodejs](https://github.com/awslabs/opsworks-windows-demo-nodejs) GitHub repository in una directory vuota sulla workstation locale. Puoi anche effettuare l'accesso all'istanza in cui hai distribuito il libro di ricette e quindi esplorare i contenuti della directory `/srv/mylinuxdemoapp`.

Il file `index.js` contiene il codice più significativo dell'app:

```
var express = require('express');
var app = express();
var path = require('path');
var os = require('os');
var bodyParser = require('body-parser');
var fs = require('fs');

var add_comment = function(comment) {
  var comments = get_comments();
  comments.push({"date": new Date(), "text": comment});
  fs.writeFileSync('./comments.json', JSON.stringify(comments));
};

var get_comments = function() {
  var comments;
  if (fs.existsSync('./comments.json')) {
    comments = fs.readFileSync('./comments.json');
    comments = JSON.parse(comments);
  } else {
    comments = [];
  }
  return comments;
};

app.use(function log (req, res, next) {
  console.log([req.method, req.url].join(' '));
  next();
});
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }))

app.set('view engine', 'jade');
app.get('/', function(req, res) {
  var comments = get_comments();
  res.render("index",
    { agent: req.headers['user-agent'],
      hostname: os.hostname(),
      nodeversion: process.version,
      time: new Date(),
      admin: (process.env.APP_ADMIN_EMAIL || "admin@unconfigured-value.com" ),
      comments: get_comments()
    });
});

app.post('/', function(req, res) {
  var comment = req.body.comment;
  if (comment) {
    add_comment(comment);
    console.log("Got comment: " + comment);
  }
  res.redirect("/#form-section");
});

var server = app.listen(process.env.PORT || 3000, function() {
  console.log('Listening on %s', process.env.PORT);
});
```

Le operazioni eseguite dal file sono descritte di seguito:
+ `require` carica i moduli contenenti parte del codice dipendente necessario per la corretta esecuzione di questa app Web.
+ Le funzioni `add_comment` e `get_comments` leggono e scrivono le informazioni nel file `comments.json`.
+ Per ulteriori informazioni su `app.get`, `app.listen`, `app.post`, `app.set` e `app.use`, consulta la [documentazione di riferimento relativa all'API Express](http://expressjs.com/4x/api.html).

 Per ulteriori informazioni su come creare l'app e definire il relativo pacchetto per la distribuzione, consulta [Origine dell'applicazione](workingapps-creating.md#workingapps-creating-source).

# Nozioni di base sugli Stack Windows
<a name="gettingstarted-windows"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Le applicazioni basate sul cloud di solito richiedono un gruppo di risorse correlate (server di applicazioni, server di database e così via) che devono essere create e gestite collettivamente. Questa raccolta di istanze viene chiamata *stack*. Un semplice stack di applicazioni potrebbe essere simile al seguente.

![\[Diagram showing users connecting to app servers through internet, elastic IP, and load balancer.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/windows_walkthrough_arch.png)


L'architettura di base è composta dagli elementi seguenti:
+ Un indirizzo IP elastico per ricevere le richieste degli utenti.
+ Un sistema di bilanciamento del carico per distribuire le richieste in entrata in modo uniforme in tutti i server di applicazioni.
+ Un set di istanze di server di applicazioni, in numero sufficiente a gestire il traffico.

Inoltre, solitamente è necessario un modo per distribuire applicazioni per i server di applicazioni, gestire le autorizzazioni utente e così via.

OpsWorks Stacks offre un modo semplice e diretto per creare e gestire gli stack e le applicazioni e le risorse associate. Questo capitolo introduce le nozioni di base di OpsWorks Stacks, insieme ad alcune delle sue funzionalità più sofisticate, illustrando il processo di creazione dello stack di application server illustrato nel diagramma. Utilizza un modello di sviluppo incrementale che OpsWorks Stacks rende facile da seguire: configura uno stack di base e, dopo che ha funzionato correttamente, aggiungi componenti fino ad arrivare a un'implementazione completa.
+ [Fase 1: completamento dei prerequisiti](gettingstarted-windows-prerequisites.md) mostra come ottenere la configurazione per iniziare la procedura guidata.
+ [Fase 2: Creare uno stack server di applicazioni di base](gettingstarted-windows-basic.md)mostra come creare uno stack di base per supportare Internet Information Services (IIS) e distribuire un'app sul server.
+ [Fase 3: scalabilità orizzontale IISExample](gettingstarted-windows-scale.md) mostra come scalare uno stack per gestire l'aumento di carico aggiungendo più server di applicazioni, un sistema di bilanciamento del carico per distribuire il traffico in entrata e un indirizzo IP elastico per ricevere le richieste in entrata.

**Topics**
+ [Fase 1: completamento dei prerequisiti](gettingstarted-windows-prerequisites.md)
+ [Fase 2: Creare uno stack server di applicazioni di base](gettingstarted-windows-basic.md)
+ [Fase 3: scalabilità orizzontale IISExample](gettingstarted-windows-scale.md)
+ [Fasi successive](gettingstarted-windows-what-next.md)

# Fase 1: completamento dei prerequisiti
<a name="gettingstarted-windows-prerequisites"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Prima di poter avviare la procedura guidata, completa le seguenti fasi di configurazione. Questi passaggi di configurazione includono la registrazione di un AWS account, la creazione di un utente amministrativo e l'assegnazione delle autorizzazioni di accesso a Stacks. OpsWorks 

Se hai già completato le procedure guidate di [Nozioni di base: esempio](gettingstarted-intro.md) o di [Nozioni di base: Linux](gettingstarted-linux.md), avrai completato i prerequisiti di questa procedura guidata e potrai passare direttamente a [Fase 2: Creare uno stack server di applicazioni di base](gettingstarted-windows-basic.md).

**Topics**
+ [Registrati per un Account AWS](#sign-up-for-aws)
+ [Crea un utente con accesso amministrativo](#create-an-admin)
+ [Assegna le autorizzazioni di accesso al servizio](#gettingstarted-windows-prerequisites-permissions)
+ [Assicurati che gli utenti OpsWorks Stacks vengano aggiunti al tuo dominio](#gettingstarted-windows-prerequisites-adusers)

## Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Accedere come utente root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) nella *Guida per l’utente di Accedi ad AWS *.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Assegna al gruppo prima gli utenti e poi l’accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center *.

## Assegna le autorizzazioni di accesso al servizio
<a name="gettingstarted-windows-prerequisites-permissions"></a>

Abilita l'accesso al servizio OpsWorks Stacks (e ai servizi correlati su cui si basa OpsWorks Stacks) aggiungendo le `AmazonS3FullAccess` autorizzazioni `AWSOpsWorks_FullAccess` e al tuo ruolo o utente.

Per ulteriori informazioni sull'aggiunta di autorizzazioni, consulta Aggiungere i permessi di [identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) (console).

## Assicurati che gli utenti OpsWorks Stacks vengano aggiunti al tuo dominio
<a name="gettingstarted-windows-prerequisites-adusers"></a>

In uno stack di Chef 12.2, il libro di ricette `aws_opsworks_users` incluso crea utenti che dispongono dell'accesso SSH e RDP (Remote Desktop Protocol) alle istanze basate su Windows. Quando unisci istanze Windows del tuo stack a un dominio Active Directory, l'esecuzione di questo ricettario può avere esito negativo se gli utenti OpsWorks Stacks non esistono in Active Directory. Se gli utenti non sono riconosciuti su Active Directory, le istanze possono inserire uno stato `setup failed` quando le riavvii dopo averle unite a un dominio. Per le istanze Windows aggiunte a un dominio, non è sufficiente concedere agli utenti di OpsWorks Stacks l'accesso alla pagina delle autorizzazioni utente. SSH/RDP 

Prima di aggiungere istanze Windows in uno stack Chef 12.2 a un dominio Active Directory, assicurati che tutti gli utenti OpsWorks Stacks dello stack basato su Windows siano membri del dominio. Il modo migliore per farlo è configurare l'identità federata con IAM prima di creare lo stack basato su Windows, quindi importare gli utenti federati in Stacks prima di unire le istanze dello stack a un dominio. OpsWorks Per ulteriori informazioni su come eseguire questa operazione, consulta [Enabling Federation to AWS Using Windows Active Directory, ADFS e SAML 2.0](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) nel blog di AWS Security e [Federating Existing Users](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-federation) nella *IAM* User Guide.

# Fase 2: Creare uno stack server di applicazioni di base
<a name="gettingstarted-windows-basic"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Uno stack server di applicazioni di base è composto da una singola istanza server di applicazioni e da un indirizzo IP pubblico per ricevere le richieste utente. Il codice dell'applicazione e dei file correlati vengono depositati in un archivio separato e distribuiti da lì al server. Il diagramma seguente illustra tale stack.

![\[Diagram showing application server stack with Windows instance, IIS layer, and AWS cloud integration.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/php_walkthrough_arch_2_windows.png)


Lo stack include i componenti seguenti:
+ Un *livello*, che rappresenta un gruppo di istanze e specifica come devono essere configurate.

  Il livello in questo esempio rappresenta un gruppo di istanze IIS.
+ Un'*istanza*, che rappresenta un' EC2 istanza Amazon.

  In questo caso, il livello configura una singola istanza per eseguire IIS, ma i livelli possono avere un qualsiasi numero di istanze.
+ Un' *app*, che contiene le informazioni necessarie per installare un'applicazione per l'istanza.
+ Un *libro di ricette*, che contiene le ricette personalizzate di Chef che supportano il livello IIS personalizzato. Il ricettario e il codice dell'app vengono archiviati in repository remoti, come un file di archivio in un bucket Amazon S3 o un repository Git.

Le sezioni seguenti descrivono come utilizzare la console OpsWorks Stacks per creare lo stack e distribuire l'applicazione.

**Topics**
+ [Fase 2.1. Creazione dello stack](gettingstarted-windows-stack.md)
+ [Fase 2.2: autorizzare l'accesso RDP](gettingstarted-windows-rdp.md)
+ [Fase 2.3: implementare un libro di ricette personalizzato](gettingstarted-windows-cookbook.md)
+ [Fase 2.4: aggiungere un livello IIS](gettingstarted-windows-iis-layer.md)
+ [Fase 2.5: Distribuire un'app](gettingstarted-windows-deploy.md)

# Fase 2.1. Creazione dello stack
<a name="gettingstarted-windows-stack"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi avviare un progetto OpsWorks Stacks creando uno stack, che funge da contenitore per le tue istanze e altre risorse. La configurazione dello stack specifica alcune impostazioni di base, ad esempio la regione AWS e il sistema operativo predefinito, che sono condivisi da tutte le istanze dello stack. 

**Per creare un nuovo stack**

1. 

**Aggiungi uno stack**

   Se non è già stato già fatto, accedere alla [console OpsWorks Stacks](https://console.aws.amazon.com/opsworks/).
   + Se l'account non ha stack esistenti, vedrai la OpsWorks pagina di **benvenuto in AWS**; scegli **Aggiungi il tuo primo stack**.
   + **Altrimenti, vedrai la dashboard OpsWorks Stacks, che elenca gli stack del tuo account; scegli Aggiungi stack.**

1. 

**Configura lo stack**

   Sulla pagina **Add Stack (Aggiungi stack)**, scegli **Chef 12 stack (Stack Chef 12)** e specifica le impostazioni seguenti:  
**Stack name (Nome stack)**  
Inserisci un nome per lo stack, che può contenere caratteri alfanumerici (a—z, A—Z e 0—9) e trattini (-). Il nome dello stack di esempio utilizzato in questa procedura guidata è **IISWalkthrough**.  
**Region**  
Seleziona Stati Uniti occidentali (Oregon) come regione dello stack.  
Puoi creare uno stack in qualsiasi regione, ma per i tutorial consigliamo US West (Oregon).  
**Sistema operativo predefinito**  
Scegli **Windows**, quindi specifica **Microsoft Windows Server 2022 Base**, che è l'impostazione predefinita.  
**Utilizza i libri di ricette personalizzati di Chef**  
Ai fini di questa procedura guidata, specifica **No** per questa opzione.

1. Scegli **Advanced (Avanzato)** per confermare che disponi di un ruolo IAM e del profilo personalizzato dell'istanza IAM selezionata.  
Ruolo IAM  
Specificate il ruolo IAM (AWS Identity and Access Management) dello stack. OpsWorks Stacks deve accedere ad altri servizi AWS per eseguire attività come la creazione e la gestione di EC2 istanze Amazon. Il **ruolo IAM** specifica il ruolo che OpsWorks Stacks assume per lavorare con altri servizi AWS per tuo conto. Per ulteriori informazioni, consulta [Consentire OpsWorks a Stacks di agire per tuo conto](opsworks-security-servicerole.md).  
   + Se il tuo account ha già un ruolo IAM di OpsWorks Stacks, puoi selezionarlo dall'elenco.

     Se il ruolo è stato creato da OpsWorks Stacks, verrà denominato. `aws-opsworks-service-role`
   + Altrimenti, seleziona **Nuovo ruolo IAM** per indirizzare OpsWorks Stacks a creare un nuovo ruolo per te con le autorizzazioni corrette. 

     **Nota**: se disponi delle autorizzazioni per l'accesso completo su OpsWorks Stacks, la creazione di un nuovo ruolo richiede diverse autorizzazioni IAM aggiuntive. Per ulteriori informazioni, consulta [Policy di esempio](opsworks-security-users-examples.md).

1. Accetta i valori predefiniti per le altre impostazioni, quindi scegli **Add Stack (Aggiungi Stack)**. Per ulteriori informazioni sulle varie impostazioni dello stack, consulta [Creare un nuovo stack](workingstacks-creating.md).

# Fase 2.2: autorizzare l'accesso RDP
<a name="gettingstarted-windows-rdp"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Dopo aver creato uno stack, potrai creare un livello e aggiungere un'istanza di Windows al livello. Tuttavia, prima di farlo, è necessario configurare lo stack per permettere all'utente di utilizzare RDP per connettersi alle istanze di livello personalizzate. Per fare ciò, è necessario completare le attività seguenti:
+ Aggiungi una regola in entrata per il gruppo di sicurezza che controlla l'accesso RDP.
+ Imposta le autorizzazioni di OpsWorks Stacks per questo stack per consentire l'accesso RDP. 

Quando crei il primo stack in una regione, OpsWorks Stacks crea una serie di gruppi di sicurezza. Ne includono uno chiamato qualcosa del genere`AWS-OpsWorks-RDP-Server`, che OpsWorks Stacks collega a tutte le istanze di Windows per consentire l'accesso RDP. Tuttavia, per impostazione predefinita, questo gruppo di sicurezza non presenta regole, perciò devi aggiungere una regola in entrata per consentire l'accesso RDP alle istanze.

**Per consentire l'accesso RDP**

1. Apri la [ EC2 console Amazon](https://console.aws.amazon.com/ec2/v2/), impostala sulla regione dello stack e scegli **Security Groups** dal pannello di navigazione.

1. **Scegli **AWS- OpsWorks -RDP-Server**, scegli la scheda **Inbound** e scegli Modifica.**

1. Scegliere **Add Rule (Aggiungi regola)** e specificare le seguenti impostazioni:
   + ****Tipo: RDP.****
   + **Fonte**: gli indirizzi IP di origine consentiti.

     In genere vengono permesse richieste RDP in entrata dall'indirizzo IP o da un intervallo di indirizzi IP specificato (di solito l'intervallo di indirizzi IP dell'azienda). Ai fini dell'apprendimento, spesso è sufficiente specificare 0.0.0.0/0, che permette l'accesso RDP da qualsiasi indirizzo IP.

Il gruppo di sicurezza permette all'istanza di ricevere richieste di connessione RDP, ma non è tutto. Un utente normale accederà all'istanza utilizzando una password fornita da OpsWorks Stacks. Per fare in modo che OpsWorks Stacks generi quella password, devi autorizzare esplicitamente l'accesso RDP per l'utente.

**Per autorizzare l'RDP per un utente**

1. Nella dashboard OpsWorks Stacks, scegli lo stack. **IISWalkthrough**

1. Nel riquadro di navigazione dello stack, scegli **Permissions (Autorizzazioni)**.

1. Nella pagina delle autorizzazioni, scegli **Edit (Modifica)**.

1. Nell'elenco degli utenti, seleziona la casella di controllo **SSH/RDP** per l'utente a cui desideri concedere le autorizzazioni necessarie. Inoltre, se desideri che l'utente disponga delle autorizzazioni amministratore, seleziona anche **sudo/admin** .  
![\[Autorizzazioni sudo e SSH per gli utenti\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/permissions.png)

1. Scegli **Save** (Salva).

L'utente può quindi ottenere una password e utilizzarla per accedere all'istanza, come descritto più avanti.

**Nota**  
Puoi anche accedere come Amministratore. Per ulteriori informazioni, consulta [Accesso come amministratore](workinginstances-rdp.md#workinginstances-rdp-admin).

# Fase 2.3: implementare un libro di ricette personalizzato
<a name="gettingstarted-windows-cookbook"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Anche se uno stack è fondamentalmente un contenitore di istanze, non aggiungere istanze direttamente a uno stack. Puoi aggiungere uno o più livelli, ciascuno dei quali rappresenta un gruppo di istanze correlate, quindi aggiungi le istanze ai livelli.

Un layer è fondamentalmente un modello che OpsWorks Stacks utilizza per creare un set di EC2 istanze Amazon con la stessa configurazione. Un'istanza viene avviata con una versione base del sistema operativo, e il livello dell'istanza esegue un'ampia gamma di attività sull'istanza per implementare tale piano, il quale può includere:
+ Creazione di directory e file
+ Gestione degli utenti
+ Installazione e configurazione del software
+ Avvio o arresto di server
+ Distribuzione del codice applicazione e dei file correlati.

Un layer esegue attività sulle istanze eseguendo [ricette Chef, in breve ricette](https://docs.chef.io/recipes.html). Una ricetta è un'applicazione di Ruby che utilizza il linguaggio specifico di dominio (DSL) di Chef, per descrivere lo stato finale dell'istanza. Con OpsWorks Stacks, ogni ricetta viene solitamente assegnata a uno degli [eventi del ciclo di vita](workingcookbook-events.md) del layer: Setup, Configuration, Deploy, Undeploy e Shutdown. Quando si verifica un evento del ciclo di vita su un'istanza, OpsWorks Stacks esegue le ricette dell'evento per eseguire le attività appropriate. Ad esempio, l'evento Setup si verifica al termine dell'avvio di un'istanza. OpsWorks Stacks esegue quindi le ricette di installazione, che in genere eseguono attività come l'installazione e la configurazione del software del server e l'avvio dei servizi correlati.

OpsWorks Stacks fornisce a ogni livello una serie di ricette integrate che eseguono attività standard. È quindi possibile estendere una funzionalità del livello per l'implementazione di ricette personalizzate, per eseguire attività aggiuntive e per la loro assegnazione agli eventi del ciclo di vita del livello. Gli stack di Windows supportano [livelli personalizzati](workinglayers-custom.md), i quali dispongono di una serie di ricette che eseguono solo alcune attività di base. Per aggiungere funzionalità alle istanze di Windows, è necessario implementare ricette personalizzate per installare software, distribuire applicazioni e così via. Questo argomento descrive come creare un semplice livello personalizzato per supportare istanze IIS.

**Topics**
+ [Rapida introduzione ai libri di cucina e alle ricette](#gettingstarted-windows-layer-recipes)
+ [Implementare una ricetta per installare e avviare IIS](#gettingstarted-windows-layer-recipe-iis)
+ [Abilita il libro di ricette personalizzato](#gettingstarted-windows-layer-enable-cookbook)

## Rapida introduzione ai libri di cucina e alle ricette
<a name="gettingstarted-windows-layer-recipes"></a>

Una ricetta definisce uno o più aspetti dello stato previsto dell'istanza: di quali directory deve disporre, quali pacchetti software devono essere installati, quali applicazioni devono essere distribuite e così via. Le ricette sono contenute in un *libro di ricette*, che in genere contiene uno o più ricette correlate, oltre a file associati, ad esempio i modelli per la creazione di file di configurazione.

Questo argomento è un'introduzione molto semplice alle ricette, appena sufficiente per mostrare come implementare un libro di ricette per supportare un semplice livello IIS personalizzato. Per un'introduzione più generale dei libri di ricette, consulta [Libri di ricette e ricette](workingcookbook.md). Per un'introduzione tutorial dettagliata relativa all'implementazione di libri di ricette, tra cui alcuni argomenti specifici di Windows, consulta [Introduzione ai libri di ricette](cookbooks-101.md).

Le ricette di Chef sono tecnicamente applicazioni di Ruby, ma la maggior parte del codice, se non tutto è nel DSL di Chef. Il DSL è composto essenzialmente da una serie di *risorse*, che è possibile utilizzare per specificare in modo dichiarativo un aspetto dello stato delle istanze. Ad esempio, una [`directory` risorsa](https://docs.chef.io/chef/resources.html#directory) definisce una directory per essere aggiunta al sistema. L'esempio seguente definisce una `C:\data` directory con i diritti di controllo completi, la quale appartiene all'utente specificato e non eredita i diritti dalla directory padre.

```
directory 'C:\data' do
  rights :full_control, 'WORKGROUP\username'
  inherits false
  action :create
end
```

Quando Chef esegue una ricetta, esegue ogni risorsa passando i dati a un *fornitore* associato, un oggetto di Ruby che gestisce i dettagli di modifica dello stato dell'istanza. In casi come questo, il fornitore crea una nuova directory con la configurazione specificata.

Il libro di ricette personalizzato per il livello IIS personalizzato deve eseguire le seguenti attività:
+ Installare la caratteristica IIS e avviare il servizio.

  Generalmente si esegue questa operazione durante l'installazione, subito dopo il completamento dell'avvio da parte dell'istanza.
+ Distribuire un'applicazione per l'istanza, una semplice pagina HTML per questo esempio.

  Generalmente si esegue questa operazione durante l'installazione. Tuttavia, di solito le applicazioni devono essere aggiornati regolarmente, perciò è necessario distribuire gli aggiornamenti quando l'istanza è online.

È possibile disporre di una sola ricetta per eseguire tutte queste attività. Tuttavia, l'approccio consigliato è disporre di ricette separate per l'installazione e le attività di distribuzione. In questo modo, puoi distribuire gli aggiornamenti delle app in qualsiasi momento, senza eseguire anche il codice d'installazione. I seguenti descrivono come configurare un libro di ricette per supportare un livello IIS personalizzato. Gli argomenti di seguito mostreranno come implementare le ricette.

**Per iniziare**

1. Crea una directory chiamata `iis-cookbook` nella posizione che ti è più comoda sulla workstation.

1. Aggiungi un file `metadata.rb` con il contenuto seguente su `iis-cookbook`.

   ```
   name "iis-cookbook"
   version "0.1.0"
   ```

   In questo esempio viene utilizzato un `metadata.rb` minimo. Per ulteriori informazioni su come utilizzare questo file, consulta [metadata.rb](https://docs.chef.io/config_rb_metadata.html).

1. Aggiungi una directory `recipes` su `iis-cookbook`.

   Questa directory, che deve essere chiamata `recipes`, contiene le ricette del libro di ricette.

In generale, i libri di ricette possono contenere tante altre directory. Ad esempio, se una ricetta utilizza un modello per creare un file di configurazione, il modello di solito va nella directory `templates\default`. Il libro di ricette di questo esempio, è costituito interamente da ricette, perciò non sono necessarie altre directory. Inoltre, questo esempio utilizza un singolo libro di ricette, ma puoi usarne quanti te ne servono; per progetti complessi sono preferibili più libri di cucina. Ad esempio, è possibile disporre di libri di ricette separati per l'installazione e le attività di distribuzione. Per ulteriori esempi di libri di ricette, consulta [Libri di ricette e ricette](workingcookbook.md).

## Implementare una ricetta per installare e avviare IIS
<a name="gettingstarted-windows-layer-recipe-iis"></a>

 IIS è una *caratteristica* di Windows, uno dei vari componenti di sistema opzionale che è possibile installare su Windows Server. Puoi far sì che una ricetta installi IIS in uno dei seguenti modi:
+ Utilizzando una risorsa [https://docs.chef.io/chef/resources.html#powershell-script](https://docs.chef.io/chef/resources.html#powershell-script) per eseguire il cmdlet [https://docs.microsoft.com/en-us/powershell/module/servermanager/install-windowsfeature?view=winserver2012-ps](https://docs.microsoft.com/en-us/powershell/module/servermanager/install-windowsfeature?view=winserver2012-ps).
+ Utilizzando la risorsa Chef [Windows Cookbook](https://github.com/opscode-cookbooks/windows)`windows_feature`.

  Il libro di ricette di `windows` comprende una serie di risorse, i cui fornitori utilizzano un sistema di [gestione e manutenzione delle immagini di distribuzione](https://technet.microsoft.com/en-us/library/dd744256%28v=ws.10%29.aspx) (DISM) per eseguire varie attività sulle istanze di Windows, tra cui l'installazione della caratteristica.

**Nota**  
`powershell_script` è una delle risorse più utili delle ricette di Windows. È possibile utilizzarlo per eseguire diverse attività su un'istanza eseguendo uno PowerShell script o un cmdlet. È utile soprattutto per le attività che non sono supportate da una risorsa di Chef.

Questo esempio esegue uno PowerShell script per installare e avviare Web Server (IIS). Il libro di ricette di `windows` verrà descritto più avanti. Per un esempio su come utilizzare `windows_feature` per installare IIS, consulta [Installazione di una funzionalità di Windows: IIS](cookbooks-101-opsworks-install-software-feature.md).

Aggiungi una ricetta chiamata `install.rb` sulla directory `recipes` del libro di ricette, con il seguente contenuto.

```
powershell_script 'Install IIS' do
  code 'Install-WindowsFeature Web-Server'
  not_if "(Get-WindowsFeature -Name Web-Server).Installed"
end

service 'w3svc' do
  action [:start, :enable]
end
```

La ricetta contiene due risorse.

**powershell\$1script**  
`powershell_script`esegue lo PowerShell script o il cmdlet specificato. L'esempio dispone delle seguenti impostazioni dell'attributo:  
+ `code`— I PowerShell cmdlet da eseguire.

  In questo esempio viene eseguito un cmdlet `Install-WindowsFeature` che installa il server Web (IIS). In generale, l'attributo `code` può avere un numero qualsiasi di linee, così da consentirti di eseguire tutti i cmdlet di cui hai bisogno.
+ `not-if`— Un [https://docs.chef.io/chef/resources.html#guards](https://docs.chef.io/chef/resources.html#guards) che garantisce che la ricetta installi IIS solo se non è ancora stato installato.

  In genere è opportuno che le ricette siano *idempotenti*, in modo da non perdere tempo per eseguire la stessa attività più di una volta.
Ogni risorsa dispone di un'operazione che specifica l'operazione intrapresa dal fornitore. Non esiste alcuna azione esplicita per questo esempio, quindi il provider esegue l'`:run`azione predefinita, che esegue lo script specificato PowerShell . Per ulteriori informazioni, consulta [Esecuzione di uno PowerShell script di Windows](cookbooks-101-opsworks-opsworks-powershell.md).

**service**  
Un [https://docs.chef.io/chef/resources.html#service](https://docs.chef.io/chef/resources.html#service) gestisce un servizio, il servizio server Web IIS (W3SVC) in questo caso. L'esempio utilizza gli attributi di default e specifica due azioni, `:start` e `:enable`, che avviano e attivano IIS.

**Nota**  
Se desideri installare il software che utilizza il programma di installazione del pacchetto, come MSI, puoi utilizzare una risorsa `windows_package`. Per ulteriori informazioni, consulta [Installazione di un pacchetto](cookbooks-101-opsworks-install-software-package.md).

## Abilita il libro di ricette personalizzato
<a name="gettingstarted-windows-layer-enable-cookbook"></a>

OpsWorks Stacks esegue le ricette da una cache locale su ogni istanza. Per eseguire le tue ricette personalizzate, è necessario:
+ Archiviare il libro di ricette in un repository remoto.

  OpsWorks Stacks scarica i libri di cucina da questo repository nella cache locale di ogni istanza.
+ Modificare lo stack per abilitare i libri di ricette personalizzati.

  I libri di ricette personalizzati sono disabilitati per impostazione predefinita; per questo è necessario abilitarli per lo stack e fornire l'URL dell'archivio e delle informazioni correlate.

OpsWorks Stacks supporta archivi S3 e repository Git per libri di cucina personalizzati; questo esempio utilizza un archivio S3. Per ulteriori informazioni, consulta [Repository dei libri di ricette](workingcookbook-installingcustom-repo.md).

**Per utilizzare un archivio S3**

1. Creare un archivio `.zip` della directory `iis-cookbook`.

   OpsWorks Stacks supporta anche archivi `.tgz` (gzip compressi tar) per gli stack di Windows.

1. Carica l'archivio in un bucket S3 nella regione Stati Uniti occidentali (California settentrionale) e rendi il file pubblico. Puoi anche utilizzare un archivio S3 privato, ma un archivio pubblico è sufficiente in questo esempio, ed è anche molto più facile da utilizzare. 

   1. Accedi a Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   1. Se non hai ancora un bucket`us-west-1`, scegli **Crea bucket e crea un bucket** nella regione Stati Uniti occidentali (California settentrionale).

   1. Nell'elenco dei bucket, scegli il nome del bucket sul quale desideri caricare il file, quindi fai clic su **Upload (Carica)**. 

   1. Seleziona **Aggiungi file**.

   1. Selezionare l'archivio di file da caricare, quindi scegliere **Apri**.

   1. Nella parte inferiore della finestra di dialogo **Upload - Select Files and Folders (Carica - Seleziona file e cartelle)**, scegli **Set Details (Imposta dettagli)**.

   1. Nella parte inferiore della finestra di dialogo **Set Details (Imposta dettagli)**, scegli **Set Permissions (Imposta autorizzazioni)**.

   1. Nella finestra di dialogo **Set Permissions (Imposta autorizzazioni)**, scegli **Make everything public (Rendi tutto pubblico)**.

   1. Nella parte inferiore della finestra di dialogo **Set Permissions (Imposta autorizzazioni)**, scegli **Start Upload (Avvia caricamento)**. Al termine del caricamento, il file `iis-cookbook.zip` viene visualizzato nel bucket.

   1. Scegli il bucket e quindi scegli la scheda **Proprietà** per il bucket. Accanto al **Link (Collegamento)**, registra l'archivio URL del file da utilizzare in seguito.

   Per ulteriori informazioni sul caricamento di file in un bucket Amazon S3, [consulta Come si caricano file e cartelle](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html) in un bucket S3? nella Guida per l'*utente della console Amazon S3*.

**Importante**  
Fino a questo punto, la procedura guidata ti è costata solo un po' di tempo; lo stesso servizio OpsWorks Stacks è gratuito. Tuttavia, devi pagare per tutte le risorse AWS che utilizzi, come lo storage Amazon S3. Ti verranno addebitati costi solo al caricamento dell'archivio. Per ulteriori informazioni, consulta [Prezzi di AWS](https://aws.amazon.com/pricing/).

**Per abilitare libri di ricette personalizzati per lo stack**

1. Nella console OpsWorks Stacks, scegli **Stack** nel pannello di navigazione, quindi scegli **Stack Settings** in alto a destra.

1. Sulla pagina **Settings (Impostazioni)**, scegli **Edit (Modifica)** in alto a destra.

1. Sulla pagina **Settings (Impostazioni)**, imposta **Use custom Chef cookbooks (Utilizza libri di ricette personalizzati di Chef)** su **Yes (Sì)**, quindi inserisci le informazioni seguenti:
   + **Tipo di repository: S3 Archive.**
   + URL del repository: l'URL S3 del file di archivio del libro di cucina che hai registrato in precedenza.

1. Scegli **Save (Salva)** per aggiornare la configurazione dello stack.

OpsWorks Stacks installa il tuo ricettario personalizzato su tutte le nuove istanze. Nota che OpsWorks Stacks non installa automaticamente né aggiorna i libri di ricette personalizzati sulle istanze online. Come descritto in seguito, puoi farlo manualmente.

# Fase 2.4: aggiungere un livello IIS
<a name="gettingstarted-windows-iis-layer"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Il tuo libro di ricette dispone di una ricetta che non fa altro che installare e avviare IIS. Questo è sufficiente per creare il livello e verificare che disponi di un'istanza IIS funzionante. In seguito, potrai aggiungere la funzionalità di distribuzione dell'applicazione al livello.

## Creare un livello
<a name="w2ab1c14c47c17c23c23b7"></a>

Puoi iniziare aggiungendo un layer allo stack. Puoi dunque aggiungere funzionalità per quel livello assegnando ricette personalizzate agli eventi appropriati del ciclo di vita.

**Per aggiungere un livello IIS allo stack**

1. Scegli **Layers (Livelli)** nel riquadro di navigazione, quindi scegli **Add a layer (Aggiungi un livello)**.

1. Configura il livello come segue:
   + **Nome —** **IISExample** 
   + **Nome breve** — **iisexample**

     OpsWorks Stacks utilizza il nome breve per identificare internamente il livello. Puoi anche utilizzare il nome breve per identificare il livello nelle ricette, anche se questo esempio non lo fa. È possibile specificare qualsiasi nome breve, ma possono contenere solo caratteri alfanumerici minuscoli e un piccolo numero di segni di interpunzione. Per ulteriori informazioni, consulta [Livelli personalizzati](workinglayers-custom.md).

1. Scegli **Add Layer (Aggiungi livello)**.

Se a questo IISWalkthrough punto aggiungessi un'istanza e la avviassi, OpsWorks Stacks installerebbe automaticamente i libri di cucina ma non funzionerebbe. `install.rb` Dopo che un'istanza è online, puoi eseguire manualmente le ricette manualmente utilizzando il [comando di esecuzione dello stack delle ricette](workingstacks-commands.md). [Tuttavia, un approccio migliore consiste nell'assegnare la ricetta a uno degli eventi del ciclo di vita del layer.](workingcookbook-events.md) OpsWorks Stacks esegue quindi automaticamente la ricetta nel punto appropriato del ciclo di vita dell'istanza.

Installa e avvia IIS non appena viene completato il processo di avvio dell'istanza. Per eseguire questa operazione, assegna `install.rb` all'evento `Setup` del livello.

**Per assegnare la ricetta all'evento del ciclo di vita**

1. Nel riquadro di navigazione, scegli **Layers (Livelli)**

1. **Nella casella relativa al **IISExample**livello, scegli Ricette.**

1. In alto a destra, scegli **Edit (Modifica)**.

1. In **Custom Chef Recipes (Ricette di Chef personalizzate)**, nella casella di ricette **Setup (Installazione)**, digitare **iis-cookbook::install**. 
**Nota**  
Utilizza `cookbook-name::recipe-name` per identificare le ricette in cui viene omesso il suffisso `.rb` del nome della ricetta.

1. Scegli **\$1** per aggiungere la ricetta al livello. Una x rossa apparirà vicino alla ricetta, affinché sia ancora più semplice rimuoverla in seguito.

1. Scegli **Save (Salva)** per salvare la nuova configurazione. Le ricette d'installazione personalizzate includeranno ora `iis-cookbook::install`.

## Aggiungi un'istanza a un livello e avviala
<a name="w2ab1c14c47c17c23c23b9"></a>

Puoi provare la ricetta aggiungendo un'istanza al livello e avviando l'istanza. OpsWorks Stacks installa automaticamente i libri di cucina e viene eseguito `install.rb` durante la configurazione, non appena l'avvio dell'istanza termina.

**Per aggiungere un'istanza al livello e avviarla**

1. **Nel pannello di navigazione OpsWorks Stacks, scegli Istanze.**

1. In **IISExample**Livello, scegli **Aggiungi un'istanza**. 

1. Selezionare la dimensione appropriata. **t2.micro** (o la dimensione minima disponibile) deve essere sufficiente per l'esempio.

1. Scegliere **Add Instance (Aggiungi istanza)**. **Per impostazione predefinita, OpsWorks Stacks genera i nomi delle istanze aggiungendo un numero intero al nome breve del livello, quindi l'istanza deve essere denominata iisexample1.**

1. **Scegli **start nella colonna** Azioni dell'istanza per avviare l'istanza.** OpsWorks Stacks avvierà quindi un' EC2 istanza ed eseguirà le ricette di installazione per configurarla. Se il layer avesse delle ricette Deploy a questo punto, OpsWorks Stacks le eseguirà al termine delle ricette di installazione.

   Il processo potrebbe richiedere alcuni minuti, durante i quali la colonna **Status (Stato)** mostra una serie di stati di stato. Quando ottieni lo stato **online**, il processo d'installazione è completo e l'istanza è pronta all'uso.

## Verifica che IIS sia installato e che stia eseguendo
<a name="w2ab1c14c47c17c23c23c11"></a>

Puoi utilizzare RDP per connetterti all'istanza e verificare che la ricetta d'installazione stia funzionando correttamente.

**Per verificare che IIS sia installato e che stia eseguendo**

1. **Scegli **Istanze** nel riquadro di navigazione e scegli **rdp** nella colonna Azioni dell'istanza **iisexample1**.** OpsWorks Stacks genera automaticamente una password RDP che scade dopo un periodo di tempo specificato.

1. Imposta l'elemento **Session valid for (Sessione valida per)** a due ore e scegli **Generate Password (Genera password)**.

1. OpsWorks Stacks visualizza la password e anche, per comodità, il nome DNS pubblico e il nome utente dell'istanza. Copia tutte e tre le voci, quindi fai clic su **Acknowledge and close (Riconosci e chiudi)**.

1. Apri il client RDP e utilizza i dati della Fase 3 per connetterti all'istanza.

1. Sull'istanza, apri Windows Explorer e esamina l'unità `C:`. Deve disporre di una directory `C:\inetpub`, che è stata creata per l'installazione di IIS.

1. Apri l'applicazione **Administrative Tools (Strumenti di amministrazione)** del Pannello di controllo, quindi apri **Services (Servizi)**. Dovresti visualizzare il servizio IIS nella parte inferiore dell'elenco. È chiamato World Wide Web Publishing Service, e lo stato deve essere **running (in esecuzione)**.

1. Torna alla console OpsWorks Stacks e scegli l'indirizzo IP pubblico dell'istanza **iisexample1**. Assicurati di farlo in OpsWorks Stacks e non nella EC2 console Amazon. Questa operazione invia automaticamente una richiesta HTTP all'indirizzo, che apre la pagina di benvenuto di IIS predefinita.

Il prossimo argomento illustra come distribuire un'applicazione per l'istanza, una semplice pagina HTML statica per questo esempio. Tuttavia, se vuoi prendere una pausa, scegli **stop (interrompi)** nella colonna **Actions (Azioni)** dell'istanza **iisexample1** per interrompere l'istanza ed evitare che vengano addebitati costi non necessari. Puoi riavviare l'istanza quando sei pronto per continuare.

# Fase 2.5: Distribuire un'app
<a name="gettingstarted-windows-deploy"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

L'installazione di IIS crea una directory `C:\inetpub\wwwroot` per il codice dell'applicazione e i relativi file. La prossima fase riguarda l'installazione di un'app nella suddetta directory. Per questo esempio installerai una home page HTML statica `default.html`, su `C:\inetpub\wwwroot`. Puoi estendere facilmente l'approccio generale per gestire scenari più complessi, ad esempio le applicazioni ASP.NET.

Puoi includere i file dell'applicazione nei tuoi libri di ricette e copiare `install.rb` su `C:\inetpub\wwwroot`. Per esempi su come eseguire questa operazione, consulta [Esempio 6: creazione di file](cookbooks-101-basics-files.md). Tuttavia, questo approccio non è molto flessibile né efficiente, ed è in genere preferibile lo sviluppo di un libro di ricette separato rispetto allo sviluppo dell'applicazione.

La soluzione preferita consiste nell'implementare una ricetta di distribuzione separata che recuperi il codice dell'applicazione e i file correlati da un repository, qualsiasi repository tu preferisca, non solo il repository dei libri di cucina, e lo installa su ogni istanza del server IIS. Questo approccio separa lo sviluppo di libri di ricette da quello dell'applicazione, e quando devi aggiornare l'app, ti permette di eseguire nuovamente solo la ricetta di distribuzione, senza dover aggiornare i libri di ricette.

Questo argomento mostra come implementare una semplice ricetta di distribuzione, la quale distribuisce `default.htm` per il server IIS. È possibile estendere questo esempio per le applicazioni più complesse.

**Topics**
+ [Creare l'applicazione e archiviarla](#w2ab1c14c47c17c23c25c15)
+ [Implementare una ricetta per distribuire l'applicazione](#w2ab1c14c47c17c23c25c17)
+ [Aggiornare il libro di ricette dell'istanza](#w2ab1c14c47c17c23c25c19)
+ [Aggiungere la ricetta al livello IIS personalizzato](#w2ab1c14c47c17c23c25c21)
+ [Aggiungere un'app](#w2ab1c14c47c17c23c25c23)
+ [Distribuire l'app e aprire l'applicazione](#w2ab1c14c47c17c23c25c25)

## Creare l'applicazione e archiviarla
<a name="w2ab1c14c47c17c23c25c15"></a>

Puoi utilizzare qualsiasi archivio per le tue applicazioni. Per semplicità, questo esempio archivia `default.htm` in un bucket S3 pubblico.

**Per creare l'applicazione**

1. Crea una directory chiamata `iis-application` nella posizione che ti è più comoda sulla workstation.

1. Aggiungere un file `default.htm` a `iis-application` con il contenuto seguente.

   ```
   <!DOCTYPE html>
   <html>
     <head>
       <title>IIS Example</title>
     </head>
     <body>
       <h1>Hello World!</h1>
     </body>
   </html>
   ```

1. [Creare un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html), [caricare `default.htm` nel bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/PuttingAnObjectInABucket.html) e registrare l'URL per utilizzarlo successivamente. Per semplicità, [rendere pubblico il file](https://docs.aws.amazon.com/AmazonS3/latest/gsg/OpeningAnObject.html). 
**Nota**  
Si tratta di una semplice applicazione, ma puoi estendere i principi di base per gestire le applicazioni a livello di produzione.  
Per ulteriori applicazioni complesse con più file, di solito è più semplice creare un archivio .zip di `iis-application` e caricarlo sul tuo bucket S3.  
Puoi ora scaricare il file .zip e estrarre i contenuti nella directory appropriata. Non è necessario scaricare più file, né creare una struttura di directory e così via.
Per un'applicazione di produzione, vorrai probabilmente mantenere privati i tuoi file. Per vedere un esempio di come una ricetta scarica file da un bucket S3 privato, consulta [Utilizzo dell'SDK for Ruby OpsWorks su un'istanza Stacks Windows](cookbooks-101-opsworks-s3-windows.md).
Puoi archiviare la tua applicazione in tutti gli archivi idonei.  
L'applicazione si scarica generalmente utilizzando un'API pubblica dell'archivio. Questo esempio utilizza l'API Amazon S3. Se, ad esempio, memorizzi l'applicazione su GitHub, puoi utilizzare l'[GitHub API](https://developer.github.com/guides/getting-started/).

## Implementare una ricetta per distribuire l'applicazione
<a name="w2ab1c14c47c17c23c25c17"></a>

Aggiungi una ricetta chiamata `deploy.rb` alla directory `iis-cookbook` `recipes` con i seguenti contenuti.

```
chef_gem "aws-sdk-s3" do
  compile_time false
  action :install
end

ruby_block "download-object" do
  block do
    require 'aws-sdk-s3'

    #1  
    # Aws.config[:ssl_ca_bundle] = 'C:\ProgramData\Git\bin\curl-ca-bundle.crt'
    Aws.use_bundled_cert!

    #2  
    query = Chef::Search::Query.new
    app = query.search(:aws_opsworks_app, "type:other").first
    s3region = app[0][:environment][:S3REGION]
    s3bucket = app[0][:environment][:BUCKET]
    s3filename = app[0][:environment][:FILENAME]

    #3  
    s3_client = Aws::S3::Client.new(region: s3region)
    s3_client.get_object(bucket: s3bucket,
                         key: s3filename,
                         response_target: 'C:\inetpub\wwwroot\default.htm')
  end 
  action :run
end
```

Questo esempio utilizza [SDK for Ruby v2 per](https://docs.aws.amazon.com/sdkforruby/api/index.html) scaricare il file. Tuttavia, OpsWorks Stacks non installa questo SDK su istanze Windows, quindi la ricetta inizia con [https://docs.chef.io/chef/resources.html#chef-gem](https://docs.chef.io/chef/resources.html#chef-gem)resource, che gestisce tale attività.

**Nota**  
La risorsa `chef_gem` installa gem alla versione Ruby dedicata di Chef, che è la versione utilizzata dalle ricette. Se desideri installare una gem per una versione Ruby a livello di sistema, utilizza la risorsa [gem\$1package](https://docs.chef.io/chef/resources.html#gem-package).

La maggior parte della ricetta è una [https://docs.chef.io/chef/resources.html#ruby-block](https://docs.chef.io/chef/resources.html#ruby-block)risorsa, che esegue un blocco di codice Ruby che utilizza l'SDK for Ruby per il download. `default.htm` Il codice di `ruby_block` può essere suddiviso nelle seguenti sezioni, che corrispondono ai commenti numerati nel codice esempio. 

**1: Specificare un bundle di certificati.**  
Amazon S3 utilizza SSL, quindi è necessario un certificato appropriato per scaricare oggetti da un bucket S3. SDK for Ruby v2 non include un pacchetto di certificati, quindi è necessario fornirne uno e configurare l'SDK per Ruby per utilizzarlo. OpsWorks Stacks non installa direttamente un pacchetto di certificati, ma installa Git, che include un pacchetto di certificati (). `curl-ca-bundle.crt` Per comodità, questo esempio configura l'SDK for Ruby per utilizzare il pacchetto di certificati Git per SSL. Inoltre, puoi installare il tuo bundle e configurare l'SDK di conseguenza.

**2: Recuperare i dati dell'archivio**  
Per scaricare un oggetto da Amazon S3, sono necessari la regione AWS, il nome del bucket e il nome della chiave. Come descritto più avanti, l'esempio fornisce queste informazioni associando una serie di variabili ambiente con l'app. Quando distribuisci un'app, OpsWorks Stacks aggiunge un set di attributi all'oggetto nodo dell'istanza. Questi attributi sono essenzialmente una tabella hash che contiene la configurazione dell'app, tra cui le variabili ambiente. Gli attributi dell'app per questa applicazione saranno simili ai seguenti, in formato JSON.   

```
{
  "app_id": "8f71a9b5-de7f-451c-8505-3f35086e5bb3",
  "app_source": {
      "password": null,
      "revision": null,
      "ssh_key": null,
      "type": "other",
      "url": null,
      "user": null
  },
  "attributes": {
      "auto_bundle_on_deploy": true,
      "aws_flow_ruby_settings": {},
      "document_root": null,
      "rails_env": null
  },
  "data_sources": [{"type": "None"}],
  "domains": ["iis_example_app"],
  "enable_ssl": false,
  "environment": {
      "S3REGION": "us-west-2",
      "BUCKET": "windows-example-app",
      "FILENAME": "default.htm"
  },
  "name": "IIS-Example-App",
  "shortname": "iis_example_app",
  "ssl_configuration": {
      "certificate": null,
      "private_key": null,
      "chain": null
  },
  "type": "other",
  "deploy": true
}
```
Le variabili ambiente dell'app vengono archiviate nell'attributo `[:environment]`. Per recuperarli, utilizza una query di ricerca Chef per recuperare la tabella hash dell'app che si trova nel nodo `aws_opsworks_app`. Quest'app verrà definita come tipo `other`, così che la query cerchi le app di questo tipo. La ricetta sfrutta il fatto che esiste una sola app su questa istanza, perciò la tabella hash di interesse è solo `app[0]`. Per comodità, la ricetta assegna quindi la regione, il bucket e i nomi dei file alle variabili.  
Per ulteriori informazioni sull'utilizzo della ricerca Chef, consulta [Ottenimento dei valori degli attributi con la ricerca di Chef](cookbooks-101-opsworks-opsworks-stack-config-search.md).

**3: Scaricare il file.**  
La terza parte della ricetta crea un [oggetto del client S3](https://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html) e utilizza il relativo metodo `[get\$1object](https://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Client.html#get_object-instance_method)` per scaricare `default.htm` nella directory `C:\inetpub\wwwroot` dell'istanza. 

**Nota**  
Un ricetta è un'applicazione Ruby, quindi il codice di Ruby non deve trovarsi necessariamente in un `ruby_block`. Tuttavia, il codice nel corpo della ricetta viene eseguito per primo, seguito in ordine dalle risorse. Per questo esempio, se si inserisce il codice di download nel corpo della ricetta, l'operazione fallirà perché la `chef_gem` risorsa non avrebbe ancora installato l'SDK for Ruby. Il codice nella `ruby_block` risorsa viene eseguito quando la risorsa viene eseguita, dopo che la `chef_gem` risorsa ha installato l'SDK for Ruby.

## Aggiornare il libro di ricette dell'istanza
<a name="w2ab1c14c47c17c23c25c19"></a>

OpsWorks Stacks installa automaticamente libri di cucina personalizzati su nuove istanze. Tuttavia, se stai utilizzando un'istanza esistente, devi aggiornare il tuo libro di ricette manualmente.

**Per aggiornare i libri di ricette dell'istanza**

1. Crea un archivio `.zip` di `iis-cookbook` e caricalo sul bucket S3.

   Questa operazione sovrascrive il libro di ricette esistente, ma l'URL rimane invariato, perciò non è necessario aggiornare la configurazione dello stack.

1. Riavvia l'istanza se non è online.

1. Dopo che l'istanza è online, scegli **Stack** nel riquadro di navigazione, quindi scegli **Run Command (Esegui comando)**.

1. In **Command (Comando)**, scegliere [Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)](workingstacks-commands.md). Questo comando installa il libro di ricette aggiornato sull'istanza.

1. Scegli **Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)**. L'esecuzione del comando potrebbe richiedere alcuni minuti.

## Aggiungere la ricetta al livello IIS personalizzato
<a name="w2ab1c14c47c17c23c25c21"></a>

Come per `install.rb`, il modo migliore per gestire la distribuzione è quello di assegnare `deploy.rb` all'evento ciclo di vita appropriato. Generalmente le ricette di distribuzione vengono assegnate all'evento Distribuzione e vengono definite collettivamente ricette di Distribuzione. L'assegnazione di una ricetta all'evento Distribuzione non attiva l'evento. Invece:
+ Per le nuove istanze, OpsWorks Stacks esegue automaticamente le ricette Deploy al termine delle ricette di installazione, in modo che le nuove istanze abbiano automaticamente la versione corrente dell'applicazione.
+ Per le istanze online, utilizza un [comando di distribuzione](workingapps-deploying.md) per installare manualmente applicazioni nuove o aggiornate.

  Questo comando attiva un evento Distribuzione sulle istanze dello stack, che esegue le ricette Distribuzione.

**Per assegnare deploy.rb all'evento Distribuzione del livello**

1. ****Scegliete **Livelli** nel pannello di navigazione, quindi scegliete Ricette in Livello. IISExample****

1. In **Custom Chef Recipes (Ricette di Chef personalizzate)**, aggiungere **iis-cookbook::deploy** alla casella di ricette **Deploy (Distribuisci)** e scegliere **\$1** per aggiungere la ricetta al livello.

1. Scegli **Save (Salva)** per salvare la nuova configurazione. Le ricette Distribuzione personalizzate includeranno ora `iis-cookbook::deploy`.

## Aggiungere un'app
<a name="w2ab1c14c47c17c23c25c23"></a>

L'ultima operazione consiste nell'aggiungere un'app allo stack per rappresentare l'applicazione nell'ambiente OpsWorks Stacks. Un'app include i metadati, ad esempio il nome di visualizzazione dell'applicazione e i dati necessari per scaricare l'app dal suo archivio.

**Per aggiungere l'app allo stack**

1. Scegli **Apps (App)** nel riquadro di navigazione, quindi scegli **Add an app (Aggiungi un'app)**.

1. Configura l'app con le seguenti impostazioni.
   + **Nome:** I **IIS-Example-App**
   + **Tipo di repository****: Altro**
   + **Variabili di ambiente**: aggiungere le seguenti tre variabili di ambiente:
     + **S3REGION**— La regione del bucket (in questo caso,`us-west-1`).
     + **BUCKET**— Il nome del bucket, ad esempio. `windows-example-app`
     + **FILENAME**— Il nome del file:**default.htm**.

1. Accetta i valori predefiniti delle impostazioni restanti, quindi scegli **Add App (Aggiungi app)** per aggiungere l'app allo stack.

**Nota**  
Questo esempio utilizza variabili ambiente per fornire i dati del download. Un approccio alternativo consiste nell'utilizzare un tipo di repository S3 Archive e fornire l'URL del file. OpsWorks Stacks aggiunge le informazioni, insieme a dati opzionali, come le credenziali AWS, all'attributo dell'`app_source`app. Per estrarre la regione, il nome del bucket e il nome di file. la ricetta distribuzione deve ottenere l'URL dagli attributi dell'app.

## Distribuire l'app e aprire l'applicazione
<a name="w2ab1c14c47c17c23c25c25"></a>

OpsWorks Stacks distribuisce automaticamente le app su nuove istanze, ma non su istanze online. Poiché l'istanza è già in esecuzione, è necessario distribuire l'app manualmente.

**Per distribuire l'app**

1. Scegli **Apps (App)** nel riquadro di navigazione, quindi scegli **deploy (distribuzione)** nella colonna dell'app **Actions (Azioni)**.

1. Il campo **Command (Comando)** deve essere impostato su **Deploy (Distribuisci)**. Scegli **Deploy (Distribuisci)** nella parte inferiore destra della pagina **Deploy App (Distribuisci app)**. L'esecuzione del comando potrebbe richiedere alcuni minuti.

   Al termine della distribuzione, viene nuovamente visualizzata la pagina **App**. L'indicatore **Status (Stato)** mostra **successful (completato)** in verde, quindi accanto al nome dell'app appare una spunta verde di verifica per indicare che la distribuzione è stata completata con successo.

**Nota**  
Le app di Windows sono sempre di tipo **Other (Altro)**, quindi distribuire l'app apporta le operazioni seguenti:  
Aggiunge i dati dell'app [alla configurazione dello stack e agli attributi di distribuzione](workingcookbook-json.md), come descritto in precedenza.
Attiva l'evento Distribuzione sulle istanze dello stack, che esegue le ricette Distribuzione personalizzate.

**Nota**  
Per ulteriori informazioni su come risolvere i problemi relativi alle mancate distribuzioni o applicazioni, consulta [Il debug delle ricette](troubleshoot-debug.md).

Ora l'app è installata. Puoi aprirla scegliendo **Instances (Istanze)** nel riquadro **Navigation (Navigazione)** e scegliendo l'indirizzo IP pubblico dell'istanza. Questa operazione invia una richiesta HTTP all'istanza e dovresti visualizzare nel tuo browser un elemento come quello che segue.

![\[Text displaying "Hello World!" in large, bold font against a white background.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/windows-iis-app.png)


# Fase 3: scalabilità orizzontale IISExample
<a name="gettingstarted-windows-scale"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Se le richieste utente in entrata cominciano ad avvicinarsi al limite di ciò che puoi gestire con una singola istanza t2.micro, dovrai incrementare la capacità del tuo server. Puoi passare a un'istanza di dimensioni maggiori, ma questa dispone di limiti. Un approccio più flessibile riguarda l'aggiunta di istanze al tuo stack e il loro inserimento dietro un sistema di bilanciamento del carico. L'architettura di base sarà simile all'esempio seguente.

![\[OpsWorks stack architecture with load balancer, Windows instances, and external repositories.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/php_walkthrough_arch_4_windows.png)


Tra gli altri vantaggi, questo approccio è molto più efficace di una singola istanza large.
+ Se una delle istanze ha esito negativo, il sistema di bilanciamento del carico distribuirà le richieste in entrata per le altre istanze, e la tua applicazione continuerà a funzionare.
+ Se poni le istanze in diverse zone di disponibilità (pratica consigliata), la tua applicazione continuerà a funzionare anche se una zona di disponibilità rileva problemi.

OpsWorks Stacks semplifica la scalabilità orizzontale degli stack. Questa sezione descrive le basi su come scalare uno stack aggiungendo una seconda istanza di PHP App Server 24 ore su 24, 7 giorni su 7 IISExample e inserendo entrambe le istanze dietro un load balancer Elastic Load Balancing. È possibile estendere facilmente la procedura per aggiungere un numero arbitrario di istanze 24 ore su 24, 7 giorni su 7, oppure utilizzare istanze basate sul tempo per consentire a Stacks di ridimensionare automaticamente lo stack. OpsWorks Per ulteriori informazioni, consulta [Gestione del carico con istanze basate sul tempo e sul carico](workinginstances-autoscaling.md). 

# Aggiungere un sistema di bilanciamento del carico
<a name="gettingstarted-windows-scale-elb"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Elastic Load Balancing è un servizio AWS che distribuisce automaticamente il traffico delle applicazioni in entrata su più istanze Amazon. EC2 Un sistema di bilanciamento del carico è in grado di elaborare due funzioni. La prima è certamente quella di equalizzare il carico di lavoro dei server dell'applicazione. Molti siti preferiscono isolare i rispettivi server dell'applicazione e i database dall'accesso diretto degli utenti. Oltre a distribuire il traffico, Elastic Load Balancing esegue le seguenti operazioni:
+ Rileva istanze Amazon EC2 non integre.

  Re-instrada il traffico verso le istanze integre rimanenti, finché quelle non integre non vengono ripristinate.
+ Ridimensiona automaticamente la capacità di gestione delle richieste in risposta al traffico in entrata.

**Nota**  
OpsWorks Stacks non supporta Application Load Balancer. Puoi usare Classic Load Balancer solo con OpsWorks Stacks.

Sebbene Elastic Load Balancing venga spesso definito un livello, funziona in modo leggermente diverso rispetto agli altri livelli integrati. Invece di creare un layer e aggiungervi istanze, create un load balancer Elastic Load Balancing utilizzando la console EC2 Amazon e poi collegatelo a uno dei livelli esistenti, di solito un livello di application server. OpsWorks Stacks registra quindi le istanze esistenti del layer con il servizio e aggiunge automaticamente tutte le nuove istanze. La procedura seguente illustra come aggiungere un sistema di bilanciamento del carico.

**Per collegare un sistema di bilanciamento del carico a un livello IIS personalizzato**

1. Usa la EC2 console Amazon per creare un nuovo sistema di bilanciamento del carico per IISExample. Per ulteriori informazioni, consulta [Nozioni di base su Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html). Quando si esegue la procedura guidata **Create Load Balancer (Crea sistema di bilanciamento del carico)**, configurare il sistema di bilanciamento del carico come segue:  
**1: Define Load Balancer (Definisci sistema di bilanciamento del carico)**  
Assegna al load balancer un nome facilmente riconoscibile, ad esempio IIS-LB, per facilitarne l'individuazione nella console Stacks. OpsWorks Accetta i valori predefiniti per le impostazioni restanti, quindi scegli **Next: Assign Security Groups (Successivo: Assegnare i gruppi di sicurezza)**.  
**2: Assign Security Groups (Assegna i gruppi di sicurezza)**  
Se il tuo account supporta una VPC predefinita, la procedura guidata visualizza questa pagina per determinare il gruppo di sicurezza del sistema di bilanciamento del carico. Non visualizza questa pagina per Classic. EC2   
Per questa procedura guidata, specifica il **default VPC security group (gruppo di sicurezza specifico della VPC)**, quindi scegli **Next: Configure Security Settings (Successivo: configura impostazioni di sicurezza)**.  
**3: Configure Security Settings (Configura impostazioni di sicurezza)**  
Per questa procedura guidata non è necessario che il tuo sistema di bilanciamento del carico utilizzi un listener protetto (ovvero HTTPS o SSL sulle connessioni front-end), quindi scegli **Next: Configure Health Check (Successivo: configura controllo dello stato)** per continuare.  
**4: Configure Health Check (Configura controllo dello stato)**  
Impostare il percorso ping su **/**. Accettate le impostazioni predefinite per le altre impostazioni, quindi scegliete **Avanti: Aggiungi EC2 istanze**.  
**5: Aggiungi istanze EC2 **  
OpsWorks Stacks si occupa automaticamente della registrazione delle istanze con il load balancer. Scegli **Next Add Tags (Successiva aggiunta di tag)** per continuare.   
**6: Add Tags (Aggiungi tag)**  
Non utilizzerai tag per questo esempio. Scegli **Review and Create (Analizza e crea)**.   
**7: Review (Analizza)**  
Analizza le tue scelte e scegli **Create (Crea)**, quindi **Close (Chiudi)**, azione che lancia il sistema di bilanciamento del carico.

1. Se il tuo account supporta una VPC predefinita, dopo aver lanciato il sistema di bilanciamento del carico devi assicurarti che il suo gruppo di sicurezza abbia appropriate regole di ingresso. La regola predefinita non accetta alcun traffico in ingresso.

   1. Scegli **Security Groups** nel pannello di EC2 navigazione di Amazon.

   1. Scegli **default VPC security group (gruppo di sicurezza predefinito della VPC)**

   1. Nella scheda **Inbound (In entrata)**, selezionare **Edito (Modifica)**.

   1. Per questo scenario, impostare **Source (Origine)** su **Anywhere (Ovunque)** per indicare al sistema di bilanciamento del carico di accettare il traffico in entrata da qualsiasi indirizzo IP. 

   1. Fai clic su **Salva**.

1. Torna alla console OpsWorks Stacks. Nella pagina **Layers (Livelli)**, scegli **Network (Rete)**.

1. In **Elastic Load Balancing (Bilanciamento del carico elastico)**, seleziona il sistema di bilanciamento del carico IIS-LB creato nella Fase 1 e fai clic su **Save (Salva)**.

   Dopo aver collegato il load balancer al layer, OpsWorks Stacks registra automaticamente le istanze correnti del layer e ne aggiunge di nuove non appena sono online.

1. Nella pagina **Layers (Livelli)**, fare clic sul nome del sistema di bilanciamento del carico per aprire la pagina dei dettagli. Un segno di spunta verde accanto all'istanza sulla pagina del sistema di bilanciamento del carico indicherà che l'istanza ha superato un controllo dello stato.

È ora possibile eseguire l'operazione IIS-Example-App inviando una richiesta al sistema di bilanciamento del carico.

**Per eseguire IIS-Example-App il bilanciamento del carico**

1. Scegli **Layers (Livelli)**. Il sistema di bilanciamento del carico IIS-ELB deve essere elencato come livello e la colonna dello stato deve disporre di un'istanza in verde, la quale indica un'istanza integra.

1. Scegli il nome DNS del load balancer da eseguire. IIS-Example-App Deve essere elencata sotto al nome del sistema di bilanciamento del carico e avere un aspetto simile a `IIS-LB-1802910859.us-west-2.elb.amazonaws.com`. Il sistema di bilanciamento del carico inoltra la richiesta all'istanza e restituisce la risposta, che dovrebbe avere esattamente lo stesso aspetto della risposta che si ottiene quando si fa clic sull'indirizzo IP pubblico dell'istanza.

Hai a disposizione solo un'istanza a questo punto, perciò il sistema di bilanciamento del carico non aggiunge molto. Tuttavia, ora puoi aggiungere altre istanze per il livello.

**Per aggiungere un'istanza al livello**

1. Scegli **Instances (Istanze)** e **\$1 instance (\$1 istanza)** per aggiungere un'altra istanza al livello.

1. Avviare l'istanza.

Poiché si tratta di istanze nuove, OpsWorks Stacks installa automaticamente gli attuali libri di cucina personalizzati e distribuisce la versione corrente dell'app durante la configurazione. Quando l'istanza è online, OpsWorks Stacks la aggiunge automaticamente al sistema di bilanciamento del carico, in modo che l'istanza inizi immediatamente a gestire le richieste. Per verificare che l'applicazione stia ancora funzionando, puoi scegliere nuovamente il nome DNS del sistema di bilanciamento del carico.

# Fasi successive
<a name="gettingstarted-windows-what-next"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

In questa procedura guidata sono state descritte le nozioni di base relative alla configurazione di un semplice stack del server dell'applicazione di Windows. Di seguito sono elencati alcuni suggerimenti su cosa fare in seguito.
+ Se desideri saperne di più, [Nozioni di base: libri di ricette](gettingstarted-cookbooks.md) fornisce un tutorial introduttivo all'implementazione dei libri di cucina e include una serie di OpsWorks esempi specifici per Stacks. 
+ Puoi aggiungere un layer [Amazon Relational Database Service (Amazon RDS)](workinglayers-db-rds.md) allo stack da utilizzare come server di database backend. Per ulteriori informazioni su come connettere la tua applicazione a un database, consulta [Utilizzo di una ricetta personalizzata](workingapps-connectdb.md#workingapps-connectdb-custom).

# Guida introduttiva ai libri di cucina in Stacks OpsWorks
<a name="gettingstarted-cookbooks"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Uno stack OpsWorks Stacks a livello di produzione richiede in genere alcune personalizzazioni, il che spesso significa implementare un ricettario Chef personalizzato. Un *libro di ricette* è un file di tipo pacchetto contenente le informazioni di configurazione, comprese istruzioni chiamate *ricette*. Una *ricetta* è un set di una o più istruzioni, scritte con la sintassi del linguaggio Ruby, che specificano le risorse da utilizzare e l'ordine in cui tali risorse vengono applicate. Una *risorsa*, come viene utilizzata in Chef, è un'istruzione di una policy di configurazione. Questa procedura dettagliata fornisce un'introduzione di base all'implementazione dei libri di cucina Chef per Stacks. OpsWorks Per ulteriori informazioni su Chef, libri di ricette, ricette e risorse, consulta i collegamenti nella sezione [Fasi successive](gettingstarted-cookbooks-next-steps.md).

Questa procedura guidata descrive principalmente come creare libri di ricette personalizzati. Puoi anche utilizzare i libri di ricette disponibili nella community nei siti Web, come ad esempio i [Chef Supermarket](https://supermarket.chef.io). Per aiutarti a iniziare a usare i libri di ricette disponibili nella community, abbiamo incluso le istruzioni per l'utilizzo di un libro di ricette della community disponibile nel supermercato Chef più avanti nella procedura guidata.

Prima di iniziare questa procedura guidata, completa alcune operazioni di configurazione. Se hai già completato una delle altre procedure guidate in questo capitolo, ad esempio [Nozioni di base: esempio](gettingstarted-intro.md), hai già soddisfatto i prerequisiti di questa procedura guidata e pertanto puoi [avviarla subito](gettingstarted-cookbooks-create-cookbook.md). In caso contrario, assicurati di essere conforme a tutti i [prerequisiti](gettingstarted-intro-prerequisites.md) prima di eseguire questa procedura guidata.

**Topics**
+ [Fase 1. Creazione del libro di ricette](gettingstarted-cookbooks-create-cookbook.md)
+ [Fase 2. Creazione dello stack e dei relativi componenti](gettingstarted-cookbooks-create-stack.md)
+ [Fase 3. Esecuzione e test della ricetta](gettingstarted-cookbooks-test-recipe.md)
+ [Fase 4. Aggiornamento del libro di ricette per l'installazione di un pacchetto](gettingstarted-cookbooks-install-package.md)
+ [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md)
+ [Fase 6. Aggiornamento del libro di ricette per l'aggiunta di un utente](gettingstarted-cookbooks-add-user.md)
+ [Fase 7. Aggiornamento del libro di ricette per la creazione di una directory](gettingstarted-cookbooks-create-directory.md)
+ [Fase 8. Aggiornamento del libro di ricette per la creazione e la copia di file](gettingstarted-cookbooks-create-file.md)
+ [Fase 9. Aggiornamento del libro di ricette per l'esecuzione di un comando](gettingstarted-cookbooks-run-command.md)
+ [Fase 10. Aggiornamento del libro di ricette per l'esecuzione di uno script](gettingstarted-cookbooks-run-script.md)
+ [Fase 11. Aggiornamento del libro di ricette per la gestione di un servizio](gettingstarted-cookbooks-manage-service.md)
+ [Fase 12. Aggiornamento del libro di ricette per l'utilizzo di JSON personalizzato](gettingstarted-cookbooks-custom-json.md)
+ [Fase 13. Aggiornamento del libro di ricette per l'utilizzo di contenitori di dati](gettingstarted-cookbooks-data-bags.md)
+ [Fase 14. Aggiornamento del libro di ricette per l'utilizzo dell'iterazione](gettingstarted-cookbooks-iteration.md)
+ [Fase 15. Aggiornamento del libro di ricette per l'utilizzo della logica condizionale](gettingstarted-cookbooks-conditional-logic.md)
+ [Fase 16. Aggiornamento del libro di ricette per l'utilizzo dei libri di ricette della community](gettingstarted-cookbooks-community-cookbooks.md)
+ [Fase 17: pulizia (opzionale)](gettingstarted-cookbooks-clean-up.md)
+ [Fasi successive](gettingstarted-cookbooks-next-steps.md)

# Fase 1. Creazione del libro di ricette
<a name="gettingstarted-cookbooks-create-cookbook"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Inizia a creare un libro di ricette. Questo libro di ricette non serve per iniziare, ma come base per il resto di questa procedura dettagliata.

**Nota**  
Questa fase illustra come creare un libro di ricette manualmente. Puoi velocizzare la creazione di un libro di ricette con il kit di sviluppo Chef ([Chef DK](https://docs.chef.io/#chef-dk-title)) eseguendo il comando [https://docs.chef.io/ctl_chef.html#chef-generate-cookbook](https://docs.chef.io/ctl_chef.html#chef-generate-cookbook) sulla workstation locale. Tuttavia, questo comando crea più cartelle e file che non sono necessario per questa procedura guidata.

**Per creare il libro di ricette**

1. Nella workstation locale, creare una directory denominata `opsworks_cookbook_demo`. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `opsworks_cookbook_demo` durante l'esecuzione di questa procedura guidata.

1. Nella directory `opsworks_cookbook_demo`, creare un file denominato `metadata.rb` utilizzando un editor di testo. Aggiungere il seguente codice per specificare il nome del libro di ricette. Per ulteriori informazioni su `metadata.rb`, consultare [metadata.rb](https://docs.chef.io/config_rb_metadata.html) sul sito Web Chef.

   ```
   name "opsworks_cookbook_demo"
   ```

1. Nella directory `opsworks_cookbook_demo` creare una sottodirectory denominata `recipes`. Questa sottodirectory contiene tutte le ricette create per il libro di ricette utilizzando di questa procedura guidata.

1. Nella directory `recipes`, creare un file denominato `default.rb`. Questo file contiene una ricetta con lo stesso nome del file, ma senza la relativa estensione `default`. Aggiungere la seguente riga di codice al file `default.rb`. Questo codice è una ricetta di una sola riga che visualizza un semplice messaggio nel log quando la ricetta viene eseguita:

   ```
   Chef::Log.info("********** Hello, World! **********")
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare un file denominato `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto. Esempio:

   ```
   tar -czvf opsworks_cookbook_demo.tar.gz opsworks_cookbook_demo/
   ```

   È possibile utilizzare un nome di file diverso, ma è necessario assicurarsi di sostituirlo a `opsworks_cookbook_demo.tar.gz` durante l'esecuzione di questa procedura guidata.
**Nota**  
Quando si crea il file `tar` in Windows, la directory superiore deve essere la directory padre del libro di ricette. Questa procedura guidata è stata testata in Linux con il comando **tar** disponibile nel pacchetto `tar` e su Windows con il comando **tar** disponibile in [Git Bash](https://git-for-windows.github.io/). L'utilizzo di altri comandi o programmi per la creazione di un file compresso TAR (.tar.gz) potrebbe non funzionare correttamente.

1. Creare un bucket S3 o sceglierne uno esistente. Per ulteriori informazioni, consulta la sezione relativa alla [creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

1. Caricare il file `opsworks_cookbook_demo.tar.gz` nel bucket S3. Per ulteriori informazioni, consulta [Aggiungere un oggetto a un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html).

A questo punto disporrai di un libro di ricette che potrai utilizzare in questa procedura guidata.

Nella [fase successiva](gettingstarted-cookbooks-create-stack.md), crei uno OpsWorks stack Stacks che utilizzerai in seguito per caricare il tuo libro di cucina e per eseguire le ricette del ricettario.

# Fase 2. Creazione dello stack e dei relativi componenti
<a name="gettingstarted-cookbooks-create-stack"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Crea uno OpsWorks stack Stacks e i relativi componenti, che includono un livello e un'istanza. Nelle fasi successive carichi il libro di ricette nell'istanza e quindi esegui le ricette in esso contenute in tale istanza.

**Per creare lo stack**

1. [Accedi alla console OpsWorks Stacks all'indirizzo /opsworks. https://console.aws.amazon.com](https://console.aws.amazon.com/opsworks)

1. Eseguire una delle seguenti operazioni, se possibile:
   + Se viene visualizzata la pagina **Welcome to OpsWorks Stacks**, scegli **Aggiungi il tuo primo stack o Aggiungi il tuo primo stack OpsWorks Stacks** **(entrambe le** scelte hanno la stessa funzione). Viene visualizzata la pagina **Add stack (Aggiungi stack)**.
   + **Se viene visualizzata la pagina **OpsWorks Dashboard**, scegli Aggiungi stack.** Viene visualizzata la pagina **Add Stack (Aggiungi stack)**.

1. Scegliere **Chef 12 stack (Stack Chef 12)**.

1. Nella casella **Stack name (Nome stack)** digitare il nome dello stack, ad esempio **MyCookbooksDemoStack**. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `MyCookbooksDemoStack` durante l'esecuzione di questa procedura guidata.

1. Per **Regione**, scegli **Stati Uniti occidentali (Oregon)**.

1. In **VPC**, eseguire una delle seguenti operazioni:
   + Se è disponibile un VPC, sceglierlo. Per ulteriori informazioni, consulta [Esecuzione di uno stack in un VPC](workingstacks-vpc.md).
   + In caso contrario, scegliere **No VPC (Nessun VPC)**.

1. In **Use custom Chef cookbooks (Utilizza i libri di ricette di Chef personalizzati)**, scegliere **Yes (Sì)**.

1. In **Repository type (Tipo di repository)**, scegliere **S3 Archive (Archivio S3)**.
**Nota**  
Nella procedura guidata [Nozioni di base: Linux](gettingstarted-linux.md) è stato scelto **Http Archive (Archivio HTTP)**. Qui assicurarsi di scegliere invece **S3 Archive (Archivio S3)**.

1. Per **Repository URL (URL repository)**, digitare il percorso del file `opsworks_cookbook_demo.tar.gz` in S3. Per ottenere il percorso, nella console S3 selezionare il file `opsworks_cookbook_demo.tar.gz`. Nel riquadro **Properties (Proprietà)**, copiare il valore del campo **Link (Collegamento)**. Dovrebbe essere simile a quanto segue: `https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz`.

1. Se il tuo bucket S3 è privato, che è l'impostazione predefinita, per **ID chiave di accesso e chiave** di **accesso segreta, digita l'ID della chiave** di accesso e la chiave di accesso segreta dell'utente IAM che stai utilizzando per questa procedura dettagliata. Per ulteriori informazioni, consulta la sezione relativa alla [modifica delle autorizzazioni degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EditingPermissionsonanObject.html) e quella relativa alla [condivisione di un oggetto con altri utenti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html).

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Default Availability Zone (Zona di disponibilità predefinita)** (**us-west-2a**)
   + **Sistema operativo predefinito** (**Linux** e **Amazon Linux 2016.09)**
   + **Default SSH key (Chiave SSH predefinita)** (**Do not use a default SSH key (Non utilizzare una chiave SSH predefinita)**)
   + **Stack color (Colore stack)** (blu scuro)

1. Scegli **Avanzato**.

1. In **IAM role (Ruolo IAM)**, eseguire una delle seguenti operazioni:
   + Se **aws-opsworks-service-role**disponibile, sceglilo.
   + Se non **aws-opsworks-service-role**è disponibile, scegli **Nuovo ruolo IAM**.

1. Per il **profilo predefinito dell'istanza IAM**, esegui una delle seguenti operazioni:
   + Se sono disponibili **aws-opsworks-ec2 ruoli**, sceglili.
   + Se **aws-opsworks-ecil doppio ruolo** non è disponibile, scegli **Nuovo profilo di istanza IAM**.

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Default root device type (Tipo di dispositivo radice predefinito)** (**EBS backed (Supportato da EBS)**)
   + **Hostname theme (Tema nome host)** (**Layer Dependent (Dipendente dal livello)**)
   + **OpsWorks Versione dell'agente (versione** più recente)
   + **Custom Chef JSON (JSON Chef personalizzato)** (vuoto)
   + **Sicurezza**, **utilizza gruppi OpsWorks di sicurezza** (**Sì**)

1. Scegli **Aggiungi pila.** OpsWorks Stacks crea lo stack e visualizza la pagina. **MyCookbooksDemoStack**

**Per creare un livello**

1. Nel riquadro di navigazione del servizio, scegliere **Layers (Livelli)**. Viene visualizzata la pagina **Layers (Livelli)**. 

1. Scegliere **Add a layer (Aggiungi un livello)**.

1. Nella **OpsWorks**scheda, per **Nome, digitate**. **MyCookbooksDemoLayer** È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `MyCookbooksDemoLayer` durante l'esecuzione di questa procedura guidata.

1. Per **Short name (Nome breve)**, digitare **cookbooks-demo**. È possibile utilizzare un nome diverso, ma è necessario assicurarsi di sostituirlo a `cookbooks-demo` durante l'esecuzione di questa procedura guidata.

1. Scegli **Aggiungi livello**. OpsWorks Stacks aggiunge il livello e visualizza la pagina **Livelli**.

**Per creare e avviare l'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Instances (Istanze)**. Viene visualizzata la pagina **Instances (Istanze)**.

1. Scegli **Aggiungi un'istanza**.

1. Nella scheda **New (Nuovo)**, scegliere **Advanced (Avanzate)**. 

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Hostname (Nome host)** (**cookbooks-demo1**)
   + **Size (Dimensione)** (**c3.large**)
   + **Sottorete (us-west-2a****) *IP address***
   + **Scaling type (Tipo di dimensionamento)** (**24/7**)
   + **SSH key (Chiave SSH)** (**Do not use a default SSH key (Non utilizzare una chiave SSH predefinita)**)
   + **Sistema operativo** (**Amazon Linux 2016.09**)
   + **OpsWorks Versione dell'agente** (**eredita dallo stack**)
   + **Tenancy** (**Default - Rely on VPC settings (Predefinita - Basata su impostazioni VPC)**)
   + **Root device type (Tipo di dispositivo radice)** (**EBS backed (Supportato da EBS)**)
   + **Volume type (Tipo di volume)** (**General Purpose (SSD) (Per scopi generici (SSD)**)
   + **Volume size (Dimensioni volume)** (**8**)

1. Scegliere **Add instance (Aggiungi istanza)**.

1. ****Per **MyCookbooksDemoLayer**, per **cookbooks-demo1**, per Actions, scegli start.**** Proseguire solo dopo che in **Status (Stato)** viene visualizzato **online**. Questo processo potrebbe richiedere alcuni minuti.

A questo punto si dispone di uno stack, un livello e un'istanza contenente il libro di ricette automaticamente copiato dal bucket S3. Nella [fase successiva](gettingstarted-cookbooks-test-recipe.md) eseguirai la ricetta predefinita e ne eseguirai il test dall'interno del libro di ricette nell'istanza.

# Fase 3. Esecuzione e test della ricetta
<a name="gettingstarted-cookbooks-test-recipe"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Esegui e prova la `default` ricetta dal ricettario che OpsWorks Stacks ha copiato nell'istanza. Come già detto in precedenza, si tratta di una ricetta di una sola riga che visualizza un semplice messaggio nel log quando la ricetta viene eseguita.

**Per eseguire la ricetta**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **MyCookbooksDemoStack**.

1. Scegliere **Run Command**. Viene visualizzata la pagina **Run Command**.

1. In **Command (Comando)**, scegliere **Execute Recipes (Esegui ricette)**.

1. Per **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::default**.

   **opsworks\$1cookbook\$1demo** è il nome del libro di ricette definito nel file `metadata.rb`. **default** è il nome della ricetta da eseguire, ovvero il nome del file `default.rb` nella sottodirectory `recipes` del libro di ricette, senza la relativa estensione.

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Comment (Commento)** (vuoto)
   + **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)** (vuoto)
   + **Istanze** **(**Seleziona tutto selezionato, selezionato, cookbooks-demo1 **MyCookbooksDemoLayer****selezionato)**

1. Scegliere **Execute Recipes (Esegui ricette)**. Viene visualizzata la **pagina di esecuzione del comando execute\$1recipes**. Proseguire solo dopo che in **Status (Stato)** viene visualizzato **successful (operazione riuscita)**. Questo processo potrebbe richiedere alcuni minuti.

**Per verificare i risultati della ricetta**

1. Con la **pagina di esecuzione del comando execute\$1recipes** visualizzata, in **cookbooks-demo1**, in **Log**, scegliere **show (mostra)**. Viene visualizzata la **pagina del log del comando execute\$1recipes**.

1. Scorrere il log verso il basso e trovare una voce simile alla seguente:

   ```
   [2015-11-13T19:14:39+00:00] INFO: ********** Hello, World! **********
   ```

Hai eseguito la tua prima ricetta correttamente. Nella [fase successiva](gettingstarted-cookbooks-install-package.md) aggiornerai il libro di ricette aggiungendo una ricetta che installa un pacchetto sull'istanza.

# Fase 4. Aggiornamento del libro di ricette per l'installazione di un pacchetto
<a name="gettingstarted-cookbooks-install-package"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette aggiungendo una ricetta che installa sull'istanza un pacchetto contenente l'editor di testo GNU Emacs.

Sebbene sia possibile accedere all'istanza con la stessa facilità e installare il pacchetto una sola volta, scrivere una ricetta consente di eseguire la ricetta da OpsWorks Stacks una volta per installare più pacchetti su più istanze in uno stack contemporaneamente. 

**Per aggiornare il libro di ricette per l'installazione di un pacchetto**

1. Tornare alla workstation locale e nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `install_package.rb` con il seguente codice: 

   ```
   package "Install Emacs" do
     package_name "emacs"
   end
   ```

   Questa ricetta installa il pacchetto `emacs` nell'istanza. Per ulteriori informazioni, passare a [package](https://docs.chef.io/resource_package.html).
**Nota**  
Alla ricetta è possibile assegnare qualsiasi nome di file desiderato. Assicurati solo di specificare il nome corretto della ricetta ogni volta che vuoi che OpsWorks Stacks esegua la ricetta.

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

Questa nuova ricetta viene eseguita quando si aggiorna il libro di ricette nell'istanza e quindi si esegue la nuova ricetta dall'interno del libro di ricette aggiornato. La fase successiva descrive questa procedura. 

Dopo aver completato il [passaggio successivo](gettingstarted-cookbooks-copy-cookbook.md), sarà possibile eseguire l'accesso all'istanza e quindi digitare **emacs** nel prompt dei comandi per avviare GNU Emacs. Per ulteriori informazioni, consulta [Connessione all'istanza Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html). Per uscire da GNU Emacs, premi **Ctrl\$1X**, quindi **Ctrl\$1C**.

**Importante**  
Per accedere all'istanza, devi prima fornire a OpsWorks Stacks le informazioni sulla tua chiave SSH pubblica (che puoi creare con strumenti come ssh-keygen o PuTTYgen), quindi devi impostare le autorizzazioni sullo `MyCookbooksDemoStack` stack per consentire all'utente di accedere all'istanza. Per istruzioni, consulta [Registrazione della chiave SSH pubblica di un utente](security-settingsshkey.md) e [Accesso con SSH](workinginstances-ssh.md).

# Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta
<a name="gettingstarted-cookbooks-copy-cookbook"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette nell'istanza e quindi eseguire la ricetta dall'interno del libro di ricette aggiornato nell'istanza. Nel resto di questa procedura guidata dovrai ripetere questa fase ogni volta che aggiorni il libro di ricette mediante l'aggiunta di una nuova ricetta.

**Per aggiornare il libro di ricette nell'istanza**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **MyCookbooksDemoStack**.

1. Scegliere **Run Command**. Viene visualizzata la pagina **Run Command**.

1. In **Command (Comando)**, scegliere **Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)**.

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Comment (Commento)** (vuoto)
   + **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)** (vuoto)
   + **Avanzate****, **Istanze** (**Seleziona tutto selezionato, selezionato, **MyCookbooksDemoLayer**cookbooks-demo1** selezionato)**

1. Scegli **Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)**. Viene visualizzata la **pagina di esecuzione del comando update\$1custom\$1cookbooks**. Proseguire solo dopo che in **Status (Stato)** viene visualizzato **successful (operazione riuscita)**. Questo processo potrebbe richiedere alcuni minuti.

**Per eseguire la ricetta**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **MyCookbooksDemoStack**.

1. Scegliere **Run Command**. Viene visualizzata la pagina **Run Command**.

1. In **Command (Comando)**, scegliere **Execute Recipes (Esegui ricette)**.

1. In **Recipes to execute (Ricette da eseguire)**, digitare il nome della ricetta da eseguire. La prima volta che si effettua questa operazione, la ricetta è denominata **opsworks\$1cookbook\$1demo::install\$1package**.
**Nota**  
Quando questa procedura verrà ripetuta più avanti, digitare il nome del libro di ricette (**opsworks\$1cookbook\$1demo**), seguito da due caratteri di due punti (**::**) e dal nome della ricetta senza l'estensione di file `.rb`).

1. Non modificare le impostazioni predefinite per le seguenti opzioni:
   + **Comment (Commento)** (vuoto)
   + **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)** (vuoto)
   + **Istanze (Seleziona tutto selezionato, selezionato, cookbooks-demo1** **selezionato****) **MyCookbooksDemoLayer****

1. Scegliere **Execute Recipes (Esegui ricette)**. Viene visualizzata la **pagina di esecuzione del comando execute\$1recipes**. Proseguire solo dopo che in **Status (Stato)** viene visualizzato **successful (operazione riuscita)**. Questo processo potrebbe richiedere alcuni minuti.

**Nota**  
Non è necessario eseguire manualmente le ricette. È possibile assegnare ricette agli eventi del ciclo di vita di un layer, come gli eventi Setup e Configure, e OpsWorks Stacks eseguirà tali ricette automaticamente quando si verifica l'evento. Per ulteriori informazioni, consulta [OpsWorks Eventi del ciclo di vita di Stacks](workingcookbook-events.md).

Nella [fase successiva](gettingstarted-cookbooks-add-user.md) aggiornerai il libro di ricette per aggiungere un utente all'istanza.

# Fase 6. Aggiornamento del libro di ricette per l'aggiunta di un utente
<a name="gettingstarted-cookbooks-add-user"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette mediante l'aggiunta di una ricetta che aggiunge un utente locale all'istanza e imposta la home directory e la shell dell'utente. L'operazione è analoga all'esecuzione del comando Linux **adduser** o **useradd** o del comando Windows **net user**. Puoi aggiungere un utente locale a un'istanza, ad esempio, quando desideri controllare l'accesso ai file e alle directory dell'istanza.

Puoi anche gestire gli utenti senza l'utilizzo dei libri di ricette. Per ulteriori informazioni, consulta [Gestione degli utenti](opsworks-security-users-manage.md).

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo`, creare un file denominato `add_user.rb` con il seguente codice (per ulteriori informazioni, passare a [user](https://docs.chef.io/resource_user.html)): 

   ```
   user "Add a user" do
     home "/home/jdoe"
     shell "/bin/bash"
     username "jdoe"  
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::add\$1user**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire il comando seguente per confermare l'aggiunta del nuovo utente:

   ```
   grep jdoe /etc/passwd
   ```

   Vengono visualizzate informazioni sull'utente, inclusi dettagli quali il nome dell'utente, il numero di ID, il numero dell'ID del gruppo, la home directory e la shell, simili a quelle riportate di seguito:

   ```
   jdoe:x:501:502::/home/jdoe:/bin/bash
   ```

Nella [fase successiva](gettingstarted-cookbooks-create-directory.md) aggiornerai il libro di ricette per creare una directory nell'istanza.

# Fase 7. Aggiornamento del libro di ricette per la creazione di una directory
<a name="gettingstarted-cookbooks-create-directory"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette mediante l'aggiunta di una ricetta che aggiunge una directory all'istanza. L'operazione è analoga all'esecuzione del comando Linux **mkdir** o del comando Windows **md** o**mkdir**.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `create_directory.rb` con il seguente codice: Per ulteriori informazioni, passare a [directory](https://docs.chef.io/resource_directory.html). 

   ```
   directory "Create a directory" do
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo"  
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::create\$1directory**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire il comando seguente per confermare l'aggiunta della nuova directory:

   ```
   ls -la /tmp/create-directory-demo
   ```

   Vengono visualizzate le informazioni sulla directory appena aggiunta, comprese informazioni quali le autorizzazioni, il nome del proprietario e il nome del gruppo: 

   ```
   drwxr-xr-x 2 ec2-user root 4096 Nov 18 00:35 .
   drwxrwxrwt 6 root     root 4096 Nov 24 18:17 ..
   ```

Nella [fase successiva](gettingstarted-cookbooks-create-file.md) aggiornerai il libro di ricette per creare un file nell'istanza.

# Fase 8. Aggiornamento del libro di ricette per la creazione e la copia di file
<a name="gettingstarted-cookbooks-create-file"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette mediante l'aggiunta di una ricetta che aggiunge due file all'istanza. Il primo risorsa nella ricetta crea un file completamente con il codice della ricetta. L'operazione è analoga all'esecuzione del comando Linux **cat**, **echo** o **touch** o dei comandi Windows **echo** o**fsutil**. Questa tecnica è utile per alcuni file semplici o di piccole dimensioni. La seconda risorsa nella ricetta copia un file nel libro di ricette in un'altra directory nell'istanza. Questa operazione è analoga all'esecuzione del comando Linux **cp** o del comando Windows **copy**. Questa tecnica viene utilizzata in presenza di un numero elevato di file complessi o di grandi dimensioni.

Prima di iniziare questa fase, completa la [Fase 7. Aggiornamento del libro di ricette per la creazione di una directory](gettingstarted-cookbooks-create-directory.md) per essere sicuro che la directory padre dei file esiste già.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella directory `opsworks_cookbook_demo` creare una sottodirectory denominata `files`. 

1. Nella sottodirectory `files`, creare un file denominato `hello.txt` con il seguente testo: **Hello, World\$1** 

1. Nella sottodirectory `recipes` della directory `opsworks_cookbook_demo`, creare un file denominato `create_files.rb` con il seguente codice. Per ulteriori informazioni, passare a [file](https://docs.chef.io/resource_file.html) e [cookbook\$1file](https://docs.chef.io/resource_cookbook_file.html).

   ```
   file "Create a file" do
     content "<html>This is a placeholder for the home page.</html>"
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/index.html"
   end
   
   cookbook_file "Copy a file" do  
     group "root"
     mode "0755"
     owner "ec2-user"
     path "/tmp/create-directory-demo/hello.txt"
     source "hello.txt"  
   end
   ```

   La risorsa `file` crea un file nel percorso specificato. La risorsa `cookbook_file` copia il file dalla directory `files` creata nel libro di ricette (Chef prevede di trovare una sottodirectory con nome standard denominata `files` da cui sia possibile copiare i file) in un'altra directory dell'istanza.

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::create\$1files**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire i comandi seguenti, una alla volta, per confermare l'aggiunta dei nuovi file:

   ```
   sudo cat /tmp/create-directory-demo/index.html
   
   sudo cat /tmp/create-directory-demo/hello.txt
   ```

   Viene visualizzato il contenuto dei file:

   ```
   <html>This is a placeholder for the home page.</html>
   
   Hello, World!
   ```

Nella [fase successiva](gettingstarted-cookbooks-run-command.md) aggiornerai il libro di ricette per eseguire un comando nell'istanza.

# Fase 9. Aggiornamento del libro di ricette per l'esecuzione di un comando
<a name="gettingstarted-cookbooks-run-command"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette aggiungendo una ricetta che esegue un comando che crea una chiave SSH per l'istanza. 

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `run_command.rb` con il seguente codice: Per ulteriori informazioni, passare a [execute](https://docs.chef.io/resource_execute.html).

   ```
   execute "Create an SSH key" do
     command "ssh-keygen -f /tmp/my-key -N fLyC3jbY"
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::run\$1command**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire i comandi seguenti, una alla volta, per confermare la creazione della chiave SSH:

   ```
   sudo cat /tmp/my-key
   
   sudo cat /tmp/my-key.pub
   ```

   Viene visualizzato il contenuto della chiave SSH pubblica e della chiave SSH privata:

   ```
   -----BEGIN RSA PRIVATE KEY-----
   Proc-Type: 4,ENCRYPTED
   DEK-Info: AES-128-CBC,DEF7A09C...541583FA
   A5p9dCuo...wp0YYH1c
   -----END RSA PRIVATE KEY-----
   
   ssh-rsa AAAAB3N...KaNogZkT root@cookbooks-demo1
   ```

Nella [fase successiva](gettingstarted-cookbooks-run-script.md) aggiornerai il libro di ricette per eseguire uno script nell'istanza.

# Fase 10. Aggiornamento del libro di ricette per l'esecuzione di uno script
<a name="gettingstarted-cookbooks-run-script"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette mediante l'aggiunta di una ricetta che esegue uno script nell'istanza. Questa ricetta crea una directory e quindi crea un file nella directory. La scrittura di una ricetta per eseguire uno script contenente più comandi è più facile che l'esecuzione di tali comandi uno alla volta.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `run_script.rb` con il seguente codice: Per ulteriori informazioni, passare a [script](https://docs.chef.io/resource_script.html). 

   ```
   script "Run a script" do
     interpreter "bash"
     code <<-EOH
       mkdir -m 777 /tmp/run-script-demo
       touch /tmp/run-script-demo/helloworld.txt
       echo "Hello, World!" > /tmp/run-script-demo/helloworld.txt
     EOH
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::run\$1script**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire il comando seguente per confermare l'aggiunta del nuovo file:

   ```
   sudo cat /tmp/run-script-demo/helloworld.txt
   ```

   Viene visualizzato il contenuto dei file:

   ```
   Hello, World!
   ```

Nella [fase successiva](gettingstarted-cookbooks-manage-service.md) aggiornerai il libro di ricette per gestire un servizio nell'istanza.

# Fase 11. Aggiornamento del libro di ricette per la gestione di un servizio
<a name="gettingstarted-cookbooks-manage-service"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette mediante l'aggiunta di una ricetta che gestisce un servizio nell'istanza. L'operazione è analoga all'esecuzione del comando Linux **service** o del comando Windows **net stop**, **net start** e comandi simili. Questa ricetta arresta il servizio **crond** nell'istanza.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `manage_service.rb` con il seguente codice: Per ulteriori informazioni, passare a [service](https://docs.chef.io/resource_service.html). 

   ```
   service "Manage a service" do
     action :stop
     service_name "crond"  
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::manage\$1service**.

**Per testare la ricetta**

1. Accedere all'istanza, se non è già stato fatto.

1. Nel prompt dei comandi eseguire il comando seguente per confermare l'arresto del servizio **crond**:

   ```
   service crond status
   ```

   Viene visualizzato quanto segue:

   ```
   crond is stopped
   ```

1. Per riavviare il servizio **crond**, eseguire il comando seguente:

   ```
   sudo service crond start
   ```

   Viene visualizzato quanto segue:

   ```
   Starting crond:  [  OK  ]
   ```

1.  Per confermare l'avvio del servizio **crond**, rieseguire il seguente comando:

   ```
   service crond status
   ```

   Verranno visualizzate informazioni simili alle seguenti:

   ```
   crond (pid  3917) is running...
   ```

Nella [fase successiva](gettingstarted-cookbooks-custom-json.md) aggiornerai il libro di ricette per fare riferimento alle informazioni archiviate come JSON personalizzato nell'istanza.

# Fase 12. Aggiornamento del libro di ricette per l'utilizzo di JSON personalizzato
<a name="gettingstarted-cookbooks-custom-json"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette aggiungendo una ricetta che fa riferimento a JSON personalizzato archiviato nell'istanza.

È possibile specificare le informazioni in formato JSON personalizzato ogni volta che è necessario creare, aggiornare o clonare uno stack o quando si esegue un comando relativo a distribuzioni o stack. Ciò risulta utile, ad esempio, per creare una piccola quantità di dati non variabili disponibili per le ricette nell'istanza invece di ottenere tali dati da un database. Per ulteriori informazioni, consulta [Utilizzo di un JSON personalizzato](workingstacks-json.md). 

Per questa procedura guidata utilizzerai un formato JSON personalizzato per fornire alcune informazioni fittizie su una fattura cliente. Il formato JSON personalizzato è descritto più avanti in questa fase.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `custom_json.rb` contenente il seguente codice della ricetta: 

   ```
   Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********")
   Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********")
   Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********")
   Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")
   ```

   Questa ricetta visualizza i messaggi nel log relativi ai valori nel formato JSON personalizzato.

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::custom\$1json**. In **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)**, digitare il seguente JSON personalizzato:

   ```
   {
     "customer-id": "0123",
     "invoice-number": "9876",
     "line-items": {
       "line-1": "tractor",
       "line-2": "passenger car",
       "line-3": "trailer"
     }
   }
   ```

**Per testare la ricetta**

1. Con la **pagina di esecuzione del comando execute\$1recipes** visualizzata dalle precedenti procedure, in **cookbooks-demo1**, in **Log**, scegliere **show (mostra)**. Viene visualizzata la **pagina del log del comando execute\$1recipes**.

1. Scorrere il log verso il basso e trovare le voci simili alle seguenti:

   ```
   [2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' **********
   [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********
   ```

   Queste voci vengono visualizzate in base al JSON personalizzato immesso nella casella **Advanced (Avanzate)**, **Custom Chef JSON (JSON Chef personalizzato)**.

Nella [fase successiva](gettingstarted-cookbooks-data-bags.md), aggiornerai il ricettario per ottenere informazioni dai data bag, che sono raccolte di impostazioni dello stack che OpsWorks Stacks memorizza su ogni istanza.

# Fase 13. Aggiornamento del libro di ricette per l'utilizzo di contenitori di dati
<a name="gettingstarted-cookbooks-data-bags"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Aggiorna il tuo ricettario aggiungendo una ricetta che faccia riferimento alle impostazioni dello stack che OpsWorks Stacks memorizza sull'istanza in un set di data bag. Questa ricetta mostra i messaggi nel log sulle impostazioni dello stack specifiche archiviate nell'istanza. Per ulteriori informazioni, consulta [OpsWorks Riferimento a Stacks Data Bag](data-bags.md).

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `data_bags.rb` contenente il seguente codice: 

   ```
   instance = search("aws_opsworks_instance").first
   layer = search("aws_opsworks_layer").first
   stack = search("aws_opsworks_stack").first
   
   Chef::Log.info("********** This instance's instance ID is '#{instance['instance_id']}' **********")
   Chef::Log.info("********** This instance's public IP address is '#{instance['public_ip']}' **********")
   Chef::Log.info("********** This instance belongs to the layer '#{layer['name']}' **********")
   Chef::Log.info("********** This instance belongs to the stack '#{stack['name']}' **********")
   Chef::Log.info("********** This stack gets its cookbooks from '#{stack['custom_cookbooks_source']['url']}' **********")
   ```

   Questa ricetta mostra i messaggi nel log sulle impostazioni dello stack specifiche archiviate nell'istanza.

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::data\$1bags**. 

**Per testare la ricetta**

1. Con la **pagina di esecuzione del comando execute\$1recipes** visualizzata dalla precedente procedura, in **cookbooks-demo1**, in **Log**, scegliere **show (mostra)**. Viene visualizzata la **pagina del log del comando execute\$1recipes**.

1. Scorrere il log verso il basso e trovare le voci simili alle seguenti:

   ```
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's instance ID is 'f80fa119-81ab-4c3c-883d-6028e52c89EX' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's public IP address is '192.0.2.0' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the layer 'MyCookbooksDemoLayer' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the stack 'MyCookbooksDemoStack' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This stack gets its cookbooks from 'https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz' **********
   ```

   Questa ricetta mostra i messaggi sulle impostazioni dello stack specifiche archiviate nell'istanza.

Nella [fase successiva](gettingstarted-cookbooks-iteration.md) aggiornerai il libro di ricette per eseguire il codice della ricetta più volte.

# Fase 14. Aggiornamento del libro di ricette per l'utilizzo dell'iterazione
<a name="gettingstarted-cookbooks-iteration"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi aggiornare il libro di ricette aggiungendo una ricetta che utilizza l'*iterazione*, una tecnica che ripete il codice della ricetta più volte. Questa ricetta visualizza i messaggi nel log per un contenitore di dati contenente più contenuti. 

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo` creare un file denominato `iteration_demo.rb` contenente il seguente codice:

   ```
   stack = search("aws_opsworks_stack").first
   Chef::Log.info("********** Content of 'custom_cookbooks_source' **********")
   
   stack["custom_cookbooks_source"].each do |content|
     Chef::Log.info("********** '#{content}' **********")
   end
   ```
**Nota**  
La scrittura del codice della ricetta precedente è un'operazione più breve, più flessibile e meno soggetta a errori rispetto alla scrittura del seguente codice della ricetta che non utilizza l'iterazione:  

   ```
   stack = search("aws_opsworks_stack").first
   Chef::Log.info("********** Content of 'custom_cookbooks_source' **********")
   
   Chef::Log::info("********** '[\"type\", \"#{stack['custom_cookbooks_source']['type']}\"]' **********")
   Chef::Log::info("********** '[\"url\", \"#{stack['custom_cookbooks_source']['url']}\"]' **********")
   Chef::Log::info("********** '[\"username\", \"#{stack['custom_cookbooks_source']['username']}\"]' **********")
   Chef::Log::info("********** '[\"password\", \"#{stack['custom_cookbooks_source']['password']}\"]' **********")
   Chef::Log::info("********** '[\"ssh_key\", \"#{stack['custom_cookbooks_source']['ssh_key']}\"]' **********")
   Chef::Log::info("********** '[\"revision\", \"#{stack['custom_cookbooks_source']['revision']}\"]' **********")
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::iteration\$1demo**. 

**Per testare la ricetta**

1. Con la **pagina di esecuzione del comando execute\$1recipes** visualizzata dalle precedenti procedure, in **cookbooks-demo1**, in **Log**, scegliere **show (mostra)**. Viene visualizzata la **pagina del log del comando execute\$1recipes**.

1. Scorrere il log verso il basso e trovare le voci simili alle seguenti:

   ```
   [2015-11-16T19:56:56+00:00] INFO: ********** Content of 'custom_cookbooks_source' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["type", "s3"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["url", "https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["username", "secret-key-value"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["password", "secret-access-key-value"]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["ssh_key", nil]' **********
   [2015-11-16T19:56:56+00:00] INFO: ********** '["revision", nil]' **********
   ```

   Questa ricetta visualizza i messaggi nel log per un contenitore di dati contenente più contenuti. L'elemento del contenitore di dati è incluso nel contenitore di dati `aws_opsworks_stack`. L'elemento del contenitore di dati include un contenuto denominato `custom_cookbooks_source`. All'interno di questo contenuto sono disponibili sei contenuti denominati `type`, `url`, `username`, `password`, `ssh_key`, e `revision`. Vengono visualizzati anche i relativi valori.

Nella [fase successiva](gettingstarted-cookbooks-conditional-logic.md) aggiornerai il libro di ricette per l'esecuzione del codice della ricetta solo se vengono soddisfatte determinate condizioni.

# Fase 15. Aggiornamento del libro di ricette per l'utilizzo della logica condizionale
<a name="gettingstarted-cookbooks-conditional-logic"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ora puoi aggiornare il libro di ricette aggiungendo una ricetta che utilizza la *logica condizionale*, una tecnica che esegue il codice solo se vengono soddisfatte determinate condizioni. Per ulteriori informazioni, consulta le sezioni relative alle [istruzioni if](https://docs.chef.io/dsl_recipe.html#if-statements) e alle [istruzioni case](https://docs.chef.io/dsl_recipe.html#case-statements).

Questa ricetta esegue due operazioni in base al contenuto dei contenitori di dati: nel log visualizza un messaggio che identifica il sistema operativo in cui l'istanza è in esecuzione e, solo se il sistema operativo è Linux, installa un pacchetto utilizzando il programma di gestione del pacchetto corretto per la distribuzione Linux. Questo pacchetto è denominato struttura; si tratta di una semplice applicazione per la visualizzazione di elenchi di directory.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella workstation locale, nella sottodirectory `recipes` della directory `opsworks_cookbook_demo directory` creare un file denominato `conditional_logic.rb` contenente il seguente codice:

   ```
   instance = search("aws_opsworks_instance").first
   os = instance["os"]
   
   if os == "Red Hat Enterprise Linux 7"
     Chef::Log.info("********** Operating system is Red Hat Enterprise Linux. **********")
   elsif os == "Ubuntu 14.04 LTS" || os == "Ubuntu 16.04 LTS" || os == "Ubuntu 18.04 LTS"
     Chef::Log.info("********** Operating system is Ubuntu. **********") 
   elsif os == "Microsoft Windows Server 2012 R2 Base"
     Chef::Log.info("********** Operating system is Windows. **********")
   elsif os == "Amazon Linux 2015.03" || os == "Amazon Linux 2015.09" || os == "Amazon Linux 2016.03" || os == "Amazon Linux 2016.09" || os == "Amazon Linux 2017.03" || os == "Amazon Linux 2017.09" || os == "Amazon Linux 2018.03" || os == "Amazon Linux 2"
     Chef::Log.info("********** Operating system is Amazon Linux. **********")
   elsif os == "CentOS Linux 7"
     Chef::Log.info("********** Operating system is CentOS 7. **********")
   else
     Chef::Log.info("********** Cannot determine operating system. **********")
   end
   
   case os
   when "Ubuntu 14.04 LTS", "Ubuntu 16.04 LTS", "Ubuntu 18.04 LTS"
     apt_package "Install a package with apt-get" do
       package_name "tree"
     end
   when "Amazon Linux 2015.03", "Amazon Linux 2015.09", "Amazon Linux 2016.03", "Amazon Linux 2016.09", "Amazon Linux 2017.03", "Amazon Linux 2017.09", "Amazon Linux 2018.03", "Amazon Linux 2", "Red Hat Enterprise Linux 7", "CentOS Linux 7"
     yum_package "Install a package with yum" do
       package_name "tree"
     end
   else
     Chef::Log.info("********** Cannot determine operating system type, or operating system is not Linux. Package not installed. **********")
   end
   ```

1. Al terminale o al prompt dei comandi, utilizzare il comando **tar** per creare una nuova versione del file `opsworks_cookbook_demo.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e il relativo contenuto aggiornato.

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::conditional\$1logic**. 

**Per testare la ricetta**

1. Con la **pagina di esecuzione del comando execute\$1recipes** visualizzata dalle precedenti procedure, in **cookbooks-demo1**, in **Log**, scegliere **show (mostra)**. Viene visualizzata la **pagina del log del comando execute\$1recipes**.

1. Scorrere il log verso il basso e trovare una voce simile alla seguente:

   ```
   [2015-11-16T19:59:05+00:00] INFO: ********** Operating system is Amazon Linux. **********
   ```

   Poiché il sistema operativo dell'istanza è Amazon Linux 2016.09, nel registro verrà visualizzata solo la voce precedente (delle cinque possibili voci del codice della ricetta). 

1. Se il sistema operativo è Linux, la ricetta installa il pacchetto della struttura. Per visualizzare una rappresentazione visiva del contenuto di una directory, digitare **tree** al prompt dei comandi dalla directory desiderata o dal percorso della directory desiderata (ad esempio, `tree /var/chef/runs`).

Nella [fase successiva](gettingstarted-cookbooks-community-cookbooks.md) aggiornerai il libro di ricette per l'utilizzo di funzionalità da un libro di ricette esterno fornito dalla community Chef.

# Fase 16. Aggiornamento del libro di ricette per l'utilizzo dei libri di ricette della community
<a name="gettingstarted-cookbooks-community-cookbooks"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Puoi infine aggiornare il libro di ricette per l'utilizzo di funzionalità disponibili in un libro di ricette esterno fornito dalla community Chef. Il libro di ricette esterno utilizzato per questa procedura guidata è disponibile nel [supermercato Chef](https://supermarket.chef.io/), una posizione tradizionale per accedere ai libri di ricette esterni di Chef. Questo libro di ricette esterno fornisce una risorsa personalizzata che ti permette di scaricare e installare applicazioni, in modo analogo a quanto descritto nella [Fase 4. Aggiornamento del libro di ricette per l'installazione di un pacchetto](gettingstarted-cookbooks-install-package.md). Tuttavia, questa risorsa può installare applicazioni Web e altri tipi di applicazione in aggiunta ai pacchetti.

Quando un libro di ricette dipende da un altro libro di ricette, devi specificare una dipendenza rispetto all'altro libro di ricette. Per dichiarare e gestire le dipendenze dei libri di ricette, consigliamo di usare uno strumento denominato Berkshelf. Per ulteriori informazioni su come installare Berkshelf nella workstation locale, consulta la pagina relativa alle [informazioni su Berkshelf](https://docs.chef.io/berkshelf.html) sul sito Web Chef.

Dopo aver installato Berkshelf, esegui queste procedure per dichiarare le dipendenze del libro di ricette e quindi creare una ricetta che richiama la risorsa nel libro di ricette esterno:

**Per dichiarare la dipendenza del libro di ricette**

1. Nella workstation locale, nella directory `opsworks_cookbook_demo` aggiungere la seguente riga alla fine del file `metadata.rb`:

   ```
   depends "application", "5.0.0"
   ```

   In questo modo viene dichiarata una dipendenza da un libro di ricette denominato `application`, versione 5.0.0. 

1. Nella radice della directory `opsworks_cookbook_demo`, eseguire il seguente comando. Il punto alla fine del comando è intenzionale.

   ```
   berks init .
   ```

   Berkshelf crea una serie di cartelle e file che è possibile utilizzare in seguito per altri scenari avanzati. L'unico file necessario per questa procedura guidata è il file denominato `Berksfile`.

1. Aggiungere la seguente riga alla fine del file `Berksfile`: 

   ```
   cookbook "application", "5.0.0"
   ```

   In questo modo si indica a Berkshelf che si desidera utilizzare il [libro di ricette dell'applicazione versione 5.0.0](https://supermarket.chef.io/cookbooks/application/versions/5.0.0), da cui Berkshelf può scaricare Chef Supermarket.

1. Al terminale o prompt dei comandi eseguire il comando seguente dalla radice della directory `opsworks_cookbook_demo`:

   ```
   berks install
   ```

   Berkshelf crea un elenco delle dipendenze sia per il libro di ricette personale che per il libro di ricette dell'applicazione. Berkshelf utilizza questo elenco di dipendenze nella procedura successiva.

**Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta**

1. Nella sottodirectory `recipes` della directory `opsworks_cookbook_demo`, creare un file denominato `dependencies_demo.rb` contenente il seguente codice:

   ```
   application "Install NetHack" do
     package "nethack.x86_64"
   end
   ```

   Questa ricetta dipende dalla risorsa dell'applicazione contenuta nel ricettario dell'applicazione per installare il popolare gioco di avventura testuale sull'istanza. NetHack È tuttavia possibile utilizzare qualsiasi nome di pacchetto desiderato, a condizione che il pacchetto sia immediatamente disponibile nel programma di gestione del pacchetto sull'istanza.

1. Nella radice della directory `opsworks_cookbook_demo`, eseguire il seguente comando:

   ```
   berks package
   ```

   Berkshelf utilizza l'elenco delle dipendenze dalla procedura precedente per creare un file denominato `cookbooks-timestamp.tar.gz`, che contiene la directory `opsworks_cookbook_demo` e i relativi contenuti aggiornati, inclusi i libri di ricette dipendenti del libro di ricette. Rinominare questo file `opsworks_cookbook_demo.tar.gz`. 

1. Caricare il file `opsworks_cookbook_demo.tar.gz` aggiornato e rinominato nel bucket S3.

1. Seguire la procedura descritta nella [Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta](gettingstarted-cookbooks-copy-cookbook.md) per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in **Recipes to execute (Ricette da eseguire)**, digitare **opsworks\$1cookbook\$1demo::dependencies\$1demo**.

1. Dopo aver eseguito la ricetta, dovrebbe essere possibile effettuare l'accesso all'istanza e quindi digitare **nethack** al prompt dei comandi per cominciare a giocare. [(Per ulteriori informazioni sul gioco, consulta [NetHack](https://en.wikipedia.org/wiki/NetHack)la Guida.) NetHack](http://www.nethack.org/v343/Guidebook.html) 

Nel [passaggio successivo](gettingstarted-cookbooks-clean-up.md), puoi ripulire le AWS risorse utilizzate per questa procedura dettagliata. Questa fase è opzionale. Potresti voler continuare a utilizzare queste AWS risorse mentre continui a saperne di più su OpsWorks Stacks. Tuttavia, il mantenimento di queste AWS risorse potrebbe comportare alcuni addebiti continui sul tuo AWS account. Se desideri conservare queste AWS risorse per un uso successivo, ora hai completato questa procedura dettagliata e puoi passare alla. [Fasi successive](gettingstarted-cookbooks-next-steps.md)

# Fase 17: pulizia (opzionale)
<a name="gettingstarted-cookbooks-clean-up"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Per evitare di incorrere in costi aggiuntivi AWS sul tuo account, puoi eliminare le AWS risorse utilizzate per questa procedura dettagliata. Queste AWS risorse includono il bucket S3, lo OpsWorks stack Stacks e i componenti dello stack. (Per ulteriori informazioni, consulta la pagina [ OpsWorks dei prezzi di AWS](https://aws.amazon.com/opsworks/pricing/)). Tuttavia, potresti voler continuare a utilizzare queste AWS risorse man mano che continui a saperne di più su OpsWorks Stacks. Se desideri mantenere disponibili queste AWS risorse, ora hai completato questa procedura dettagliata e puoi passare a. [Fasi successive](gettingstarted-cookbooks-next-steps.md)

I contenuti archiviati nelle risorse create per questa procedura guidata possono contenere informazioni identificative personali. Se non si desidera che queste informazioni vengano archiviate da AWS, seguire le fasi in questo argomento.

**Per eliminare il bucket S3**
+ Consulta la sezione relativa all'[eliminazione del bucket Amazon S3](https://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-cleanup-s3.html).

**Per eliminare l'istanza per lo stack**

1. **Nella console OpsWorks Stacks, nel pannello di navigazione del servizio, scegli Istanze.** Viene visualizzata la pagina **Instances (Istanze)**.

1. ****Per **MyCookbooksDemoLayer**, per **cookbooks-demo1**, per Actions, scegli stop.**** Quando viene visualizzato il messaggio di conferma, scegliere **Stop (Arresta)**.

1. Le seguenti modifiche durano diversi minuti. Non procedere finché tutti le procedure seguenti non sono terminate.
   + L'opzione **Status (Stato)** passa da **online** a **stopping (arresto in corso)** e infine a **stopped (arrestato)**.
   + La voce **online** cambia da **1** in **0**.
   + La voce **shutting down (chiusura in corso)** cambia da **0** in **1** e infine in **0**.
   + La voce **stopped (arrestato)** cambia da **0** in **1**.

1. In **Actions (Operazioni)**, scegliere **delete (eliminazione)**. **Quando vedi il messaggio di conferma, scegli Elimina.** OpsWorks Stacks elimina l'istanza e visualizza **Nessuna** istanza.

**Per eliminare lo stack**

1. Nel riquadro di navigazione del servizio, scegliere **Stack (Stack)**. Viene visualizzata la pagina **MyCookbooksDemoStack**.

1. Scegliere **Delete Stack (Elimina stack)**. **Quando viene visualizzato il messaggio di conferma, scegli Elimina.** OpsWorks **Stacks elimina lo stack e visualizza la pagina Dashboard.**

Facoltativamente, puoi eliminare l'utente IAM e la coppia di EC2 chiavi Amazon che hai usato per questa procedura dettagliata, se non desideri riutilizzarli per accedere ad altri AWS servizi e istanze. EC2 Per istruzioni, consulta [Eliminazione di un utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) e di [coppie di EC2 chiavi Amazon e istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair).

A questo punto hai completato la procedura guidata. Per ulteriori informazioni, consulta [Fasi successive](gettingstarted-cookbooks-next-steps.md).

# Fasi successive
<a name="gettingstarted-cookbooks-next-steps"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 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](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ora che hai completato questa procedura dettagliata, puoi saperne di più sul supporto di OpsWorks Stacks per i libri di cucina Chef consultando le seguenti risorse:
+ [Libri di ricette e ricette](workingcookbook.md)— Descrive le versioni di Chef e Ruby attualmente supportate da Stacks. OpsWorks Illustra inoltre come installare e aggiornare i libri di ricette personalizzati sulle istanze e come eseguire ricette sulle istanze.
+ [Learn Chef](https://learn.chef.io/): fornisce collegamenti ai tutorial di Chef, a una libreria di competenze di Chef, alla documentazione completa di Chef e ai corsi di training di Chef.
+ [Tutto su Chef](https://docs.chef.io/): fornisce la documentazione completa di Chef. Tra gli specifici argomenti di interesse è disponibile quanto segue:
  + [About Cookbooks (Informazioni sui libri di ricette)](https://docs.chef.io/cookbooks.html): descrive i componenti dei principali libri di ricette, ad esempio attributi, ricette, file, metadati e modelli.
  + [About Recipes (Informazioni sulle ricette)](https://docs.chef.io/recipes.html) : descrive i concetti fondamentali relativi alle ricette, ad esempio come utilizzare i contenitori di dati, includere altre ricette e usare il codice Ruby nelle ricette. 
  + [Resources (Risorse)](https://docs.chef.io/resources.html#resources): descrive come utilizzare le risorse predefinite di Chef, ad esempio `apt_package`, `cookbook_file`, `directory`, `execute`, `file` e `package`.
  + [About the Recipe DSL (Informazioni sul linguaggio specifico del dominio (DSL) della ricetta) ](https://docs.chef.io/dsl_recipe.html): descrive come scrivere il codice per le ricette di Chef con istruzioni quali, ad esempio, `if`, `case`, `data_bag`, `data_bag_item` e `search`. 
+ [About Templates (Informazioni su modelli)](https://docs.chef.io/templates.html): descrive come utilizzare i modelli ERB (Embedded Ruby) per generare dinamicamente i file di testo statico, ad esempio i file di configurazione.
+ [Learning Tracks](https://learn.chef.io/tracks): descrive come utilizzare Chef per gestire un'istanza, gestire un'app web di base, sviluppare e testare il codice dell'infrastruttura, utilizzare Chef Analytics e altro ancora.
+ [http://shop.oreilly.com/product/0636920032397.do](http://shop.oreilly.com/product/0636920032397.do): un'introduzione a Chef. Pubblicato da O'Reilly Media. 
+ [Learning Chef code examples (Introduzione al codice di esempio di Chef)](https://github.com/learningchef/learningchef-code): fornisce codici di esempio a supporto del manuale *Learning Chef* pubblicato da O'Reilly Media.