

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

# Esecuzione di una ricetta su un'istanza Windows
<a name="cookbooks-101-opsworks-opsworks-windows"></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 è fondamentalmente una versione abbreviata di [Esecuzione di una ricetta su un'istanza Linux](cookbooks-101-opsworks-opsworks-instance.md), che illustra come eseguire una ricetta su uno stack Windows. Ti consigliamo di consultare prima [Esecuzione di una ricetta su un'istanza Linux](cookbooks-101-opsworks-opsworks-instance.md), perché fornisce una discussione più dettagliata, pertinente in gran parte ai due tipi di sistema operativo.

Per una descrizione di come eseguire ricette su istanze OpsWorks Stacks Linux, consulta. [Esecuzione di una ricetta su un'istanza Linux](cookbooks-101-opsworks-opsworks-instance.md)

**Topics**
+ [Abilitazione dell'accesso RDP](#cookbooks-101-opsworks-opsworks-windows-rdp)
+ [Creazione ed esecuzione della ricetta](#cookbooks-101-opsworks-opsworks-windows-run-recipe)
+ [Esecuzione automatica della ricetta](#cookbooks-101-opsworks-opsworks-windows-event)

## Abilitazione dell'accesso RDP
<a name="cookbooks-101-opsworks-opsworks-windows-rdp"></a>

Prima di iniziare, se non l'hai già fatto, devi configurare un gruppo di sicurezza con una regola in entrata che consente l'accesso RDP per le tue istanze. Tale gruppo sarà necessario al momento della creazione dello stack.

Quando crei il primo stack in una regione, OpsWorks Stacks crea un set 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 [ EC2console 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. Aggiungere una regola con le impostazioni seguenti:
   + **Tipo****:** RDP
   + **Sorgente**: 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).

**Nota**  
Come descritto di seguito, devi anche modificare le autorizzazioni utente per consentire l'accesso RDP degli utenti standard.

Per ulteriori informazioni, consulta [Accesso con RDP](workinginstances-rdp.md). 

## Creazione ed esecuzione della ricetta
<a name="cookbooks-101-opsworks-opsworks-windows-run-recipe"></a>

Di seguito viene brevemente descritto come creare uno stack per questo esempio. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Creare uno stack**

1. Aprire la [console OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) e scegliere **Add Stack (Aggiungi stack)**. Specificare le impostazioni seguenti, accettare i valori predefiniti di altre impostazioni e scegliere **Add Stack (Aggiungi stack)**.
   + **Nome:** WindowsRecipeTest
   + **Regione**: Stati Uniti occidentali (Oregon)

     Questo esempio funzionerà in qualsiasi regione, ma consigliamo di utilizzare Stati Uniti occidentali (Oregon) per i tutorial.
   + **Sistema operativo predefinito**: Microsoft Windows Server 2012 R2

1. Scegliere **Add a layer (Aggiungi un livello)** e [aggiungere un livello personalizzato](workinglayers-custom.md) allo stack con le impostazioni seguenti.
   + **Nome** — RecipeTest
   + **Nome abbreviato**: recipetest

1. [Aggiungi un'istanza 24 ore su 24, 7 giorni su 7](workinginstances-add.md) [con impostazioni predefinite al RecipeTest layer e avviala.](workinginstances-starting.md)

   OpsWorks Stacks si `AWS-OpsWorks-RDP-Server` assegna automaticamente a questa istanza, il che consente agli utenti autorizzati di accedere all'istanza.

1. Scegliere **Permissions (Autorizzazioni)**, poi **Edit (Modifica)** e **SSH/RDP**, quindi scegliere **sudo/admin**. Gli utenti standard necessitano di questa autorizzazione oltre al gruppo di sicurezza `AWS-OpsWorks-RDP-Server` per accedere all'istanza. 
**Nota**  
Puoi anche effettuare l'accesso come amministratore, ma è necessario eseguire una procedura diversa. Per ulteriori informazioni, consulta [Accesso con RDP](workinginstances-rdp.md).

Durante l'avvio dell'istanza, che in genere richiede diversi minuti, puoi creare il ricettario. La ricetta di questo esempio crea una directory dati ed è generalmente la ricetta di [Esempio 3: creazione di directory](cookbooks-101-basics-directories.md), modificata per Windows.

**Nota**  
Quando si implementano i libri di cucina per le istanze di OpsWorks Stacks Windows, si utilizza una struttura di directory leggermente diversa da quella utilizzata quando si implementano i libri di cucina per le istanze Stacks Linux. OpsWorks Per ulteriori informazioni, consulta [Repository dei libri di ricette](workingcookbook-installingcustom-repo.md). 

**Per configurare il libro di ricette**

1. Creare una directory denominata `windowstest` e accedervi.

1. Creare un file `metadata.rb` con il seguente contenuto e salvarlo in `windowstest`.

   ```
   name "windowstest"
   version "0.1.0"
   ```

1. Creare una directory `recipes` in `windowstest`.

1. Creare un file `default.rb` con la seguente ricetta e salvarlo nella directory `recipes`.

   ```
   Chef::Log.info("******Creating a data directory.******")
   
   directory 'C:\data' do
     rights :full_control, 'instance_name\username'
     inherits false
     action :create
   end
   ```

   Sostituisci *username* con il tuo nome utente.

1. Inserire il libro di ricette in un repository.

   Per installare il tuo libro di cucina su un'istanza di OpsWorks Stacks, devi archiviarlo in un repository e fornire a OpsWorks Stacks le informazioni necessarie per scaricare il libro di cucina sull'istanza. Puoi archiviare libri di ricette di Windows come file di archivio in un bucket S3 o in un repository Git. In questo esempio viene utilizzato un bucket S3, perciò è necessario creare un archivio .zip della directory `windowstest`. Per ulteriori informazioni sui repository dei libri di ricette, consulta [Repository dei libri di ricette](workingcookbook-installingcustom-repo.md).

1. [Caricare l'archivio in un bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [rendere pubblico l'archivio](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html) e registrare il relativo URL. È possibile usare anche un archivio privato. Tuttavia, per questo esempio, un archivio pubblico è sufficiente e molto più facile da utilizzare.

   I contenuti distribuiti ai bucket Amazon S3 potrebbero contenere informazioni dei clienti. Per ulteriori informazioni sulla rimozione di dati sensibili, vedi [Come svuotare un bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) o [Come eliminare un bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html).

Adesso puoi installare il libro di ricette ed eseguire la ricetta.

**Per eseguire la ricetta**

1. [Modificare lo stack per abilitare i libri di ricette personalizzati](workingcookbook-installingcustom-enable.md) e specificare le impostazioni seguenti.
   + ****Tipo di repository: S3 Archive****
   + URL **del repository: l'URL** dell'archivio del libro di cucina che hai registrato in precedenza

   Accettare i valori predefiniti per altre impostazioni e scegliere **Save (Salva)** per aggiornare la configurazione dello stack.

1. [Eseguire il comando dello stack Update Custom Cookbooks (Aggiorna libri di ricette personalizzati)](workingstacks-commands.md), che installa la versione corrente dei libri di ricette personalizzati nelle istanze dello stack, incluse le istanze online. Se è presente una versione precedente dei libri di cucina, verrà sovrascritta da questo comando.

1. Dopo aver aggiornato i libri di ricette personalizzati, eseguire la ricetta eseguendo il [comando dello stack **Execute Recipes (Esegui ricette)**](workingstacks-commands.md) con l'opzione **Recipes to execute (Ricette da eseguire)** impostata su **windowstest::default**. Questo comando avvia un'esecuzione di Chef, con un elenco di esecuzione costituito dalla tua ricetta.

Dopo aver eseguito correttamente la ricetta, puoi verificarla.

**Per verificare windowstest**

1. Esaminare il [log di Chef](troubleshoot-debug-log.md). Scegliere **show (mostra)** nella colonna **Log (Registro)** dell'istanza opstest1 per visualizzare il registro. Scorrere e visualizzare il messaggio di log verso il basso.

   ```
   ...
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/attributes/customize.rb in the cache.
   [2014-07-31T17:01:45+00:00] INFO: Storing updated cookbooks/opsworks_cleanup/metadata.rb in the cache.
   [2014-07-31T17:01:46+00:00] INFO: ******Creating a data directory.******
   [2014-07-31T17:01:46+00:00] INFO: Processing template[/etc/hosts] action create (opsworks_stack_state_sync::hosts line 3)
   ...
   ```

1. Scegliere **Instances (Istanze)**, quindi **rdp** nella colonna **Actions (Azioni)** dell'istanza e richiedere una password RDP con un periodo di scadenza appropriato. Copiare il nome DNS, il nome utente e la password. È quindi possibile utilizzare tali informazioni con un client RDP, ad esempio il client Windows Remote Desktop Connection, per accedere all'istanza e verificare che `c:\data` esista. Per ulteriori informazioni, consulta [Accesso con RDP](workinginstances-rdp.md).

**Nota**  
Se la tua ricetta non funziona correttamente, consulta [Risoluzione dei problemi e correzione delle ricette](cookbooks-101-opsworks-opsworks-instance.md#cookbooks-101-opsworks-opsworks-instance-bugs) per suggerimenti relativi alla risoluzione dei problemi (la maggior parte di essi si applica anche alle istanze Windows). Se vuoi testare la correzione modificando la ricetta sull'istanza, cerca il tuo ricettario nella `C:\chef\cookbooks` directory, dove OpsWorks Stacks installa i libri di cucina personalizzati.

## Esecuzione automatica della ricetta
<a name="cookbooks-101-opsworks-opsworks-windows-event"></a>

Il comando **Execute Recipes (Esegui ricette)** è un metodo utile per testare ricette personalizzate. Per tale motivo viene utilizzato nella maggior parte degli esempi. Tuttavia, in pratica di solito esegui le ricette in momenti standard del ciclo di vita di un'istanza, ad esempio dopo il termine dell'avvio dell'istanza o quando distribuisci un'app. OpsWorks Stacks semplifica l'esecuzione di ricette sull'istanza supportando una serie di [eventi del ciclo di vita](workingcookbook-events.md) per ogni livello: Setup, Configure, Deploy, Undeploy e Shutdown. Puoi fare in modo che OpsWorks Stacks esegua automaticamente una ricetta sulle istanze di un layer assegnando la ricetta all'evento del ciclo di vita appropriato.

In genere, è opportuno creare le directory non appena terminata la procedura di avvio di un'istanza, che corrisponde all'evento Setup. Di seguito viene mostrato come eseguire la ricetta di esempio al momento dell'installazione, utilizzando lo stesso stack creato in precedenza nell'esempio. Puoi utilizzare la stessa procedura per gli altri eventi.

**Per eseguire automaticamente una ricetta al momento della configurazione**

1. **Scegli **Livelli** nel pannello di navigazione, quindi scegli l'icona a forma di matita accanto al link Ricette del RecipeTest livello.**

1. Aggiungere **windowstest::default** alle ricette **Setup (Installazione)** del livello, scegliere **\$1** per aggiungerlo al livello e scegliere **Save (Salva)** per salvare la configurazione.

1. Scegliere **Instances (Istanze)**, aggiungere un'altra istanza a un livello e avviarla.

   L'istanza deve essere denominata `recipetest2`. Al termine dell'avvio, OpsWorks Stacks verrà eseguito. `windowstest::default`

1. Una volta che l'istanza `recipetest2` è online, verificare che `c:\data` sia presente.

**Nota**  
Se hai assegnato ricette agli eventi Setup, Configure o Deploy, puoi eseguirle anche manualmente utilizzando un [comando dello stack](workingstacks-commands.md) (Setup e Configure) o un [comando di distribuzione](workingapps-deploying.md) (Deploy) per attivare l'evento. Se hai più ricette assegnate a un evento, questi comandi le eseguono tutte.