

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

# Utilizzo di indici di ricerca OpsWorks specifici per Stacks su Windows Stacks
<a name="cookbooks-101-opsworks-opsworks-stack-config-search-opsworks"></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).

**Nota**  
Questo esempio presuppone che tu abbia già completato l'esempio [Esecuzione di una ricetta su un'istanza Windows](cookbooks-101-opsworks-opsworks-windows.md). In caso contrario, ti consigliamo di iniziare da questo esempio, che descrive in particolare come abilitare l'accesso RDP alle istanze.

OpsWorks Stacks fornisce i seguenti indici di ricerca oltre a: `node` 
+ `aws_opsworks_stack`— La configurazione dello stack.
+ `aws_opsworks_layer`— Le configurazioni dei livelli dello stack.
+ `aws_opsworks_instance`— Le configurazioni delle istanze dello stack.
+ `aws_opsworks_app`— Le configurazioni delle app dello stack.
+ `aws_opsworks_user`— Le configurazioni utente dello stack.
+ `aws_opsworks_rds_db_instance`— Informazioni di connessione per le istanze RDS registrate.

Questi indici includono alcuni attributi Chef standard, ma sono destinati principalmente al recupero di attributi specifici di Stacks. OpsWorks Ad esempio `aws_opsworks_instance` include un attributo `status` che fornisce lo stato dell'istanza, come `online`. 

**Nota**  
La procedura consigliata consiste nell'utilizzare `node` quando possibile per mantenere le ricette conformi all'utilizzo standard di Chef. Per vedere un esempio, consulta [Utilizzo dell'indice di ricerca del nodo sugli stack Windows](cookbooks-101-opsworks-opsworks-stack-config-search-node.md).

Questo esempio mostra come utilizzare gli indici Stacks per recuperare il valore di un attributo specifico di OpsWorks Stacks. OpsWorks Si basa su uno stack Windows semplice con un livello personalizzato che include un'istanza. Utilizza la ricerca Chef per ottenere l'ID OpsWorks Stacks dell'istanza e inserisce i risultati nel registro Chef.

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 **\$1 Stack**. Specificare le impostazioni seguenti, accettare i valori predefiniti di altre impostazioni e scegliere **Add Stack (Aggiungi stack)**.
   + **Nome:** IDSearch
   + **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** — IDCheck
   + **Nome abbreviato**: idcheck

1. [Aggiungi un'istanza t2.micro 24 ore su 24, 7 giorni su 7](workinginstances-add.md) [con impostazioni predefinite al IDCheck livello e avviala.](workinginstances-starting.md) Verrà denominata iptest1.

   OpsWorks Stacks si `AWS-OpsWorks-RDP-Server` assegna automaticamente a questa istanza. [Abilitazione dell'accesso RDP](cookbooks-101-opsworks-opsworks-windows.md#cookbooks-101-opsworks-opsworks-windows-rdp)spiega come aggiungere una regola in entrata a questo gruppo di sicurezza che consenta 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).

**Per configurare il libro di ricette**

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

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

   ```
   name "idcheck"
   version "0.1.0"
   ```

1. Creare una directory `recipes` in `idcheck` e aggiungere un file `default.rb` alla directory che contiene la seguente ricetta.

   ```
   windowsserver = search(:aws_opsworks_instance, "hostname:idcheck*").first
   Chef::Log.info("**********The public IP address is: '#{windowsserver[:instance_id]}'**********")
   ```

   La ricetta usa la ricerca di Chef con un indice di ricerca `aws_opsworks_instance` per ottenere gli [attributi di istanza](data-bag-json-instance.md) di ciascuna istanza nello stack con un nome host che inizia per `idcheck`. Se si utilizza il tema predefinito, che crea nomi host aggiungendo numeri interi al nome breve del layer, questa query restituirà ogni istanza del layer. IDCheck In questo esempio il livello ha una sola istanza, pertanto la ricetta assegna semplicemente la prima a `windowsserver`. Per più istanze, puoi ottenere un elenco completo, quindi puoi enumerarle.

   La ricetta sfrutta il fatto che esiste una sola istanza nello stack con questo nome host, pertanto il primo risultato è quello corretto. Se il tuo stack dispone di più istanze, la ricerca su altri attributi può restituire più di un risultato. Per un elenco di attributi di istanza, consulta [Contenitore di dati dell'istanza (aws\$1opsworks\$1instance)](data-bag-json-instance.md).

   Gli attributi dell'istanza sono fondamentalmente una tabella hash e all'`instance_id`attributo viene assegnato OpsWorks lo Stacks ID dell'istanza, quindi potete fare riferimento all'ID come. `windowsserver[:instance_id]` La ricetta inserisce la stringa corrispondente nel messaggio e la aggiunge al log di Chef.

1. Crea un `.zip` archivio del `ipaddress` libro di cucina, [carica l'archivio in un bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html) e registra l'URL dell'archivio. Per ulteriori informazioni sui repository dei libri di ricette, consulta [Repository dei libri di ricette](workingcookbook-installingcustom-repo.md).

   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 installare il libro di ricette ed 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 **idcheck::default**. Questo comando avvia un'esecuzione di Chef, con un elenco di esecuzione costituito dalla tua ricetta. Lasciare la pagina execute\$1recipes aperta.

Dopo che la ricetta è stata eseguita correttamente, è possibile verificarla esaminando il [log di Chef](troubleshoot-debug-log.md) per l'evento execute\$1recipes più recente. Nella **pagina di esecuzione del comando execute\$1recipes**, scegliere **show (mostra)** nella colonna **Log** dell'istanza iptest1 per visualizzare il log. Scorrere verso il basso per trovare il messaggio di log, che sarà simile al seguente.

```
...
[2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache.
[2015-05-13T20:03:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache.
[2015-05-13T20:03:47+00:00] INFO: **********The instance ID is: 'i-8703b570'**********
[2015-05-13T20:03:47+00:00] INFO: Chef Run complete in 0.312518 seconds 
...
```