Utilizzo dell'indice di ricerca del nodo sugli stack Windows - AWS OpsWorks

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 dell'indice di ricerca del nodo sugli stack Windows

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 AWS Support Team su AWS re:post o tramite Premium AWS Support.

Nota

Questo esempio presuppone che tu abbia già completato l'esempio Esecuzione di una ricetta su un'istanza Windows. In caso contrario, ti consigliamo di iniziare da questo esempio, che descrive in particolare come abilitare l'accesso RDP alle istanze.

Questo esempio si basa su uno stack Windows con un singolo livello personalizzato e un'istanza. Uilizza la ricerca di Chef con l'indice di ricerca node per ottenere l'indirizzo IP pubblico del server e inserisce l'indirizzo in un file nella directory C:\tmp. Di seguito viene brevemente descritto come creare lo stack per questo esempio. Per ulteriori informazioni, consulta Creare un nuovo stack.

Creare uno stack
  1. Aprire la console AWS OpsWorks Stacks e scegliere Add Stack (Aggiungi stack).

  2. Specificare le impostazioni seguenti, accettare i valori predefiniti di altre impostazioni e scegliere Add Stack (Aggiungi stack).

    • Nome — NodeSearch

    • 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

  3. Scegliere Add a layer (Aggiungi un livello) e aggiungere un livello personalizzato allo stack con le impostazioni seguenti.

    • Nome: IPTest

    • Nome abbreviato: iptest

  4. Aggiungere un'istanza 24/7 t2.micro con impostazioni predefinite al livello IPTest e avviarla. Verrà denominata iptest1.

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

  5. Scegliere Permissions (Autorizzazioni), poi Edit (Modifica) e selezionare 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.

Per configurare il libro di ricette
  1. Creare una directory denominata nodesearch e accedervi.

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

    name "nodesearch" version "0.1.0"
  3. Creare una directory recipes in nodesearch.

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

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end windowsserver = search(:node, "hostname:iptest*").first Chef::Log.info("**********The public IP address is: '#{windowsserver[:ipaddress]}'**********") file 'C:\tmp\addresses.txt' do content "#{windowsserver[:ipaddress]}" rights :full_control, 'Everyone' action :create end

    La ricetta effettua le seguenti operazioni:

    1. Utilizza una risorsa di directory per creare una directory C:\tmp per il file.

      Per ulteriori informazioni su questa risorsa, consulta Esempio 3: creazione di directory.

    2. Utilizza la ricerca di Chef con l'indice di ricerca node per ottenere un elenco di nodi (istanze) con un nome host che inizia per iptest.

      Se utilizzi il tema predefinito, che crea nomi host mediante l'aggiunta di numeri interi al nome breve del livello, questa query restituirà ogni istanza nel livello IPTest. 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.

    3. Aggiunge un messaggio con l'indirizzo IP del log di Chef per questa esecuzione.

      L'oggetto windowsserver è una tabella hash il cui attributo ipaddress è impostato sull'indirizzo IP pubblico dell'istanza, pertanto puoi rappresentare tale indirizzo nel codice della ricetta successiva nella forma windowsserver[:ipaddress]. La ricetta inserisce la stringa corrispondente nel messaggio e la aggiunge al log di Chef.

    4. Utilizza la risorsa file per creare un file con l'indirizzo IP denominato C:\tmp\addresses.txt.

      L'attributo content della risorsa specifica contenuto da aggiungere al file, ovvero, in questo caso, l'indirizzo IP pubblico.

  5. Creare un archivio .zip di nodesearch, Caricare l'archivio in un bucket S3, rendere pubblico l'archivio e registrare il relativo URL.

    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? o Come eliminare un bucket S3?.

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

  2. Eseguire il comando dello stack Update Custom Cookbooks (Aggiorna libri di ricette personalizzati), 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.

  3. Al termine dell'operazione Update Custom Cookbooks (Aggiorna libri di ricette personalizzati), eseguire la ricetta tramite il comando dello stack Execute Recipes (Esegui ricette) con l'opzione Recipes to execute (Ricette da eseguire) impostata su nodesearch::default. Questo comando avvia un'esecuzione di Chef, con un elenco di esecuzione costituito dalla tua ricetta. Lasciare la pagina execute_recipes aperta.

Dopo aver eseguito correttamente la ricetta, puoi verificarla.

Per verificare nodesearch
  1. Esaminare il log di Chef per l'evento execute_recipes più recente. Nella pagina di esecuzione del comando execute_recipes, 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-13T18:55:47+00:00] INFO: Storing updated cookbooks/nodesearch/recipes/default.rb in the cache. [2015-05-13T18:55:47+00:00] INFO: Storing updated cookbooks/nodesearch/metadata.rb in the cache. [2015-05-13T18:55:47+00:00] INFO: **********The public IP address is: '192.0.0.1'********** [2015-05-13T18:55:47+00:00] INFO: Processing directory[C:\tmp] action create (nodesearch::default line 1) [2015-05-13T18:55:47+00:00] INFO: Processing file[C:\tmp\addresses.txt] action create (nodesearch::default line 10) ...
  2. Utilizzare RDP per accedere all'istanza ed esaminare i contenuti di C:\tmp\addresses.txt.