

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

# 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).