Esecuzione di una ricetta su un'istanza 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à.

Esecuzione di una ricetta su un'istanza 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.

Questo argomento è fondamentalmente una versione abbreviata di Esecuzione di una ricetta su un'istanza Linux, che illustra come eseguire una ricetta su uno stack Windows. Ti consigliamo di consultare prima Esecuzione di una ricetta su un'istanza Linux, 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 AWS OpsWorks Stacks Linux, consulta. Esecuzione di una ricetta su un'istanza Linux

Abilitazione dell'accesso RDP

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, AWS OpsWorks Stacks crea un set di gruppi di sicurezza. Ne includono uno chiamato qualcosa del genereAWS-OpsWorks-RDP-Server, che AWS 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 console Amazon EC2, impostala sulla regione dello stack e scegli Security Groups dal pannello di navigazione.

  2. Scegli AWS- OpsWorks -RDP-Server, scegli la scheda Inbound e scegli Modifica.

  3. Aggiungere una regola con le impostazioni seguenti:

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

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.

Creazione ed esecuzione della ricetta

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

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

    • Nome — RecipeTest

    • Nome abbreviato: recipetest

  3. Aggiungi un'istanza 24 ore su 24, 7 giorni su 7 con impostazioni predefinite al RecipeTest layer e avviala.

    AWS OpsWorks Stacks si AWS-OpsWorks-RDP-Server assegna automaticamente a questa istanza, il che consente 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.

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, modificata per Windows.

Nota

Quando si implementano i libri di cucina per le istanze di AWS 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. AWS OpsWorks Per ulteriori informazioni, consulta Repository dei libri di ricette.

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

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

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

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

    Sostituire username con il proprio nome utente.

  5. Inserire il libro di ricette in un repository.

    Per installare il tuo libro di cucina su un'istanza di AWS OpsWorks Stacks, devi archiviarlo in un repository e fornire a AWS 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.

  6. Caricare l'archivio in un bucket S3, rendere pubblico l'archivio 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? o Come eliminare un bucket S3?.

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

Nota

Se la tua ricetta non funziona correttamente, consulta Risoluzione dei problemi e correzione delle ricette 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 AWS OpsWorks Stacks installa i libri di cucina personalizzati.

Esecuzione automatica della ricetta

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. AWS OpsWorks Stacks semplifica l'esecuzione di ricette sull'istanza supportando una serie di eventi del ciclo di vita per ogni livello: Setup, Configure, Deploy, Undeploy e Shutdown. Puoi fare in modo che AWS 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 riquadro di navigazione, quindi scegli l'icona a forma di matita accanto al link Ricette del RecipeTest livello.

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

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

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

  4. 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 (Setup e Configure) o un comando di distribuzione (Deploy) per attivare l'evento. Se hai più ricette assegnate a un evento, questi comandi le eseguono tutte.