Sovrascrivere gli attributi Stacks utilizzando gli attributi personalizzati AWS OpsWorks del cookbook - 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à.

Sovrascrivere gli attributi Stacks utilizzando gli attributi personalizzati AWS OpsWorks del cookbook

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

Per gli stack Windows, AWS OpsWorks Stacks utilizza esecuzioni Chef separate per ricette integrate e ricette personalizzate. Ciò significa che non puoi usare le tecniche descritte in questa sezione per sostituire gli attributi predefiniti degli stack di Windows.

Il codice JSON personalizzato è un modo conveniente per sovrascrivere la configurazione dello stack di AWS OpsWorks Stacks e gli attributi incorporati del libro di cucina, ma presenta alcune limitazioni. In particolare, devi immettere manualmente il formato JSON personalizzato a ogni utilizzo. Per tale motivo, non disponi di un metodo affidabile per gestire le definizioni. Un approccio migliore è spesso rappresentato dai file di attributi personalizzati del libro di ricette per sostituire gli attributi predefiniti. In questo modo le definizioni saranno gestite a livello di codice sorgente.

La procedura per utilizzare i file di attributi personalizzati per AWS OpsWorks sovrascrivere le definizioni di Stacks è semplice.

Per sovrascrivere le definizioni degli attributi Stacks AWS OpsWorks
  1. Configurare un archivio di libri di ricette, come descritto nell'argomento Libri di ricette e ricette.

  2. Creare un libro di ricette con lo stesso nome del libro di ricette predefinito, contenente gli attributi che si desidera sostituire. Ad esempio, per sostituire gli attributi di Apache, il libro di ricette deve essere denominato apache2.

  3. Aggiungere una cartella attributes al libro di ricette e aggiungere un file denominato customize.rb a tale cartella.

  4. Aggiungere una definizione di attributo al file per ciascun attributo predefinito del libro di ricette che si desidera sostituire e impostarlo sul valore desiderato. L'attributo deve essere di normal tipo o superiore e avere esattamente lo stesso nome di nodo dell'attributo AWS OpsWorks Stacks corrispondente. Per un elenco dettagliato degli attributi AWS OpsWorks Stacks, inclusi i nomi dei nodi, consulta Attributi di configurazione e distribuzione dello stack: Linux e. Attributi dei libri di ricette predefiniti Per ulteriori informazioni su attributi e file di attributi, consulta l'argomento relativo alle informazioni sui file di attributi.

    Importante

    Gli attributi devono essere normal di tipo per sovrascrivere gli attributi AWS OpsWorks Stacks; i default tipi non hanno la precedenza. Ad esempio, se il file customize.rb contiene una definizione di attributo default[:apache][:keepalivetimeout] = 5, l'attributo corrispondente nel file di attributi predefiniti apache.rb viene valutato per primo in quanto ha la precedenza. Per ulteriori informazioni, consulta Sostituzione degli attributi.

  5. Ripeti i passaggi da 2 a 4 per ogni ricettario integrato con gli attributi che desideri sovrascrivere.

  6. Abilita i libri di cucina personalizzati per il tuo stack e fornisci le informazioni necessarie a AWS OpsWorks Stacks per scaricare i tuoi libri di cucina nelle istanze dello stack. Per ulteriori informazioni, consulta Installazione di libri di ricette personalizzati.

Nota

Per una procedura guidata completa relativa a questa procedura, consulta Sostituzione degli attributi integrati.

L'oggetto node utilizzato dai successivi eventi del ciclo di vita, dai comandi deploy e dai comandi stack ora conterrà le definizioni degli attributi anziché i valori Stacks. AWS OpsWorks

Ad esempio, per sostituire le impostazioni Apache keepalivetimeout e logrotate schedule predefinite discusse in Come specificare un formato JSON personalizzato, aggiungere un libro di ricette apache2 all'archivio e quindi aggiungere un file customize.rb alla cartella attributes del libro di ricette contenente il seguente contenuto.

normal[:apache][:keepalivetimeout] = 5 normal[:apache][:logrotate][:schedule] = 'weekly'
Importante

Non è necessario sovrascrivere gli attributi AWS OpsWorks Stacks modificando una copia del file degli attributi incorporati associato. Se, ad esempio, copi apache.rb nella cartella apache2/attributes e modifichi alcune impostazioni, non fai altro che sostituire ciascun attributo nel file predefinito. Le ricette utilizzeranno le definizioni di attributo incluse nella copia e ignoreranno il file predefinito. Se in seguito AWS OpsWorks Stacks modifica il file di attributi predefiniti, le ricette non avranno accesso alle modifiche a meno che tu non aggiorni manualmente la copia.

Per evitare questa situazione, tutti i libri di ricette predefiniti contengono un file di attributi customize.rb vuoto, che è richiesto in tutti i moduli tramite una direttiva include_attribute. La sostituzione degli attributi nella copia di customize.rb interessa solo tali attributi specifici. Le ricette recupereranno gli altri valori di attributo dai file di attributi predefiniti e otterranno automaticamente i valori correnti di qualsiasi attributo non sostituito.

Grazie a questo approccio puoi ridurre il numero di attributi presenti nell'archivio di libri di ricette e pertanto ridurre l'impegno necessario per la manutenzione, nonché semplificare la gestione degli aggiornamenti futuri.