Utilizzo di indici di ricerca AWS OpsWorks specifici per Stacks su Windows Stacks - 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 di indici di ricerca AWS OpsWorks specifici per Stacks su Windows Stacks

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.

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

Questo esempio mostra come utilizzare gli indici Stacks per recuperare il valore di un attributo specifico di AWS OpsWorks Stacks. AWS OpsWorks Si basa su uno stack Windows semplice con un livello personalizzato che include un'istanza. Utilizza la ricerca Chef per ottenere l'ID AWS 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.

Creare uno stack
  1. Aprire la console AWS OpsWorks Stacks e scegliere + 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

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

    • Nome: IDCheck

    • Nome abbreviato: idcheck

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

    AWS OpsWorks Stacks si assegna automaticamente AWS-OpsWorks-RDP-Server a questa istanza. Abilitazione dell'accesso RDPspiega come aggiungere una regola in entrata a questo gruppo di sicurezza che consenta agli utenti autorizzati di accedere all'istanza.

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

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

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

    name "idcheck" version "0.1.0"
  3. 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 di ciascuna istanza nello stack con un nome host che inizia per idcheck. 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 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_opsworks_instance).

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

  4. Crea un .zip archivio del ipaddress libro di cucina, carica l'archivio in un bucket Amazon S3 e registra l'URL dell'archivio. Per ulteriori informazioni sui repository dei libri di ricette, consulta Repository dei libri di ricette.

    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. Dopo aver aggiornato i libri di ricette personalizzati, eseguire la ricetta eseguendo il comando dello stack Execute Recipes (Esegui ricette) 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_recipes aperta.

Dopo che la ricetta è stata eseguita correttamente, è possibile verificarla esaminando 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-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 ...