Spostamento delle impostazioni dello stack dagli attributi ai contenitori di dati - 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à.

Spostamento delle impostazioni dello stack dagli attributi ai contenitori di dati

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato 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.

AWS OpsWorks Stacks offre un'ampia varietà di impostazioni dello stack alle tue ricette Chef. Queste impostazioni dello stack includono valori quali:

  • URL di origine del libro di ricette dello stack

  • Configurazioni del volume di livello

  • Nomi host delle istanze

  • Nomi DNS Elastic Load Balancing

  • URL di origine delle app

  • Nomi utente

Il riferimento alle impostazioni dello stack dalle ricette rende il codice ricetta più affidabile e meno soggetto a errori rispetto alla configurazione come hardcoded delle impostazioni dello stack direttamente nelle ricette. In questo argomento viene descritto come accedere a tali impostazioni dello stack nonché come passare dagli attributi in Chef 11.10 e versioni precedenti per Linux ai contenitori di dati in Chef 12 Linux.

In Chef 11.10 e versioni precedenti per Linux, le impostazioni dello stack sono disponibili come attributi Chef ed è possibile accedervi tramite l'oggetto node Chef o attraverso la ricerca di Chef. Questi attributi sono archiviati nelle istanze AWS OpsWorks Stacks in un set di file JSON nella directory. /var/lib/aws/opsworks/chef Per ulteriori informazioni, consulta Attributi di configurazione e distribuzione dello stack: Linux.

In Chef 12 Linux, le impostazioni dello stack sono disponibili come contenitori di dati Chef e sono accessibili solo attraverso la ricerca di Chef. I data bag sono archiviati su istanze AWS OpsWorks Stacks in un set di file JSON nella /var/chef/runs/run-ID/data_bags directory, dove run-ID è un ID univoco che AWS OpsWorks Stacks assegna a ogni esecuzione di Chef su un'istanza. Le impostazioni dello stack non sono più disponibili come attributi Chef, pertanto non è più possibile accedervi tramite l'oggetto node Chef. Per ulteriori informazioni, consulta AWS OpsWorks Riferimento Stacks Data Bag.

Ad esempio, in Chef 11.10 e versioni precedenti per Linux, il seguente codice ricetta usa l'oggetto node Chef per ottenere attributi che rappresentano il nome breve e l'URL di origine di un'app. Viene quindi utilizzato il log di Chef per scrivere questi due valori di attributo:

Chef::Log.info ("********** The app's short name is '#{node['opsworks']['applications'].first['slug_name']}' **********") Chef::Log.info("********** The app's URL is '#{node['deploy']['simplephpapp']['scm']['repository']}' **********")

In Chef 12 Linux, il seguente codice ricetta utilizza l'indice di ricerca aws_opsworks_app per ottenere i contenuti del primo elemento del contenitore di dati nel contenitore di dati aws_opsworks_app. Il codice, quindi, scrive due messaggi nel log di Chef, uno con il contenuto del contenitore di dati del nome breve dell'app e l'altro con il contenuto del contenitore di dati dell'URL di origine dell'app:

app = search("aws_opsworks_app").first Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********") Chef::Log.info("********** The app's URL is '#{app['app_source']['url']}' **********")

Per migrare il codice ricetta che accede alle impostazioni dello stack da Chef 11.10 e versioni precedenti per Linux a Chef 12 Linux, è necessario modificare il codice per:

  • Accedere ai contenitori di dati Chef anziché agli attributi Chef.

  • Utilizzare la ricerca di Chef anziché l'oggetto node Chef.

  • Usa i nomi dei data bag di AWS OpsWorks Stacks comeaws_opsworks_app, invece di usare nomi di attributi Stacks come e. AWS OpsWorks opsworks deploy

Per ulteriori informazioni, consulta AWS OpsWorks Riferimento Stacks Data Bag.