Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata - 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à.

Approfondimento: esplorazione del libro di ricette utilizzato in questa procedura guidata

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 descrive il ricettario utilizzato da AWS OpsWorks Stacks per la procedura dettagliata.

Un libro di ricette è un concetto Chef. I libri di ricette sono file di archivio contenenti informazioni di configurazione, ad esempio ricette, valori di attributi, file, modelli, librerie, definizioni e risorse personalizzate. Anche la ricetta è un concetto Chef. Le ricette sono istruzioni, scritte con la sintassi del linguaggio Ruby, che specificano le risorse da utilizzare e l'ordine in cui tali risorse vengono applicate. Per ulteriori informazioni, consulta l'argomento relativo all'introduzione dei libri di ricette e all'introduzione delle ricette nel sito Web Learn Chef.

Per visualizzare il contenuto del ricettario utilizzato in questa procedura dettagliata, estrai il contenuto del file opsworks-linux-demo-cookbooks-nodejs.tar.gz in una directory vuota sulla workstation locale. Puoi anche effettuare l'accesso all'istanza in cui hai distribuito il libro di ricette e quindi esplorare i contenuti della directory /var/chef/cookbooks.

Il file default.rb nella directory cookbooks/nodejs_demo/recipes è la posizione in cui il libro di ricette esegue il relativo codice:

app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end

Le operazioni eseguite dal file sono descritte di seguito:

  • search(:aws_opsworks_app).first utilizza la ricerca di Chef per cercare le informazioni relative all'app che verrà distribuita sull'istanza. Queste informazioni includono impostazioni quali il nome breve dell'app e i dettagli del relativo archivio di origine. Poiché in questa procedura guidata è stata distribuita solo un'app, la ricerca di Chef recupera queste informazioni dal primo elemento dell'indice di ricerca aws_opsworks_app sull'istanza. Ogni volta che viene avviata un'istanza, AWS OpsWorks Stacks memorizza questa e altre informazioni correlate come un insieme di data bag sull'istanza stessa e il contenuto del data bag viene visualizzato tramite Chef search. Anche se è possibile eseguire l'hard coding di queste impostazioni in questa ricetta, l'utilizzo dei contenitori di dati e della ricerca di Chef rappresenta l'approccio più affidabile. Per ulteriori informazioni sui contenitori di dati, consulta AWS OpsWorks Riferimento Stacks Data Bag. Consulta anche l'argomento relativo all'introduzione dei contenitori di dati nel sito Web Learn Chef. Per ulteriori informazioni sulla ricerca di Chef, consulta l'argomento relativo all'introduzione della ricerca nel sito Web Learn Chef.

  • La risorsa package installa Git sull'istanza.

  • La risorsa application descrive e distribuisce le applicazioni Web:

    • javascriptè la versione del JavaScript runtime da installare.

    • environment imposta una variabile di ambiente.

    • git recupera il codice sorgente dall'archivio e dal ramo specificati.

    • app_path è il percorso in cui clonare l'archivio. Se il percorso non esiste nell'istanza, AWS OpsWorks Stacks lo crea.

    • link crea un collegamento simbolico.

    • npm_install installa Node Package Manager, il programma di gestione dei pacchetti predefinito per Node.js.

    • npm_start esegue Node.js.

Sebbene AWS OpsWorks Stacks abbia creato il ricettario utilizzato per questa procedura dettagliata, puoi creare i tuoi libri di cucina. Per scoprire come, consulta Nozioni di base: libri di ricette. Consulta anche gli argomenti relativi all'introduzione dei libri di ricette, all'introduzione delle ricette e alle nozioni di base su Chef per Ubuntu nel sito Web Learn Chef, nonché la sezione relativa al primo libro di ricette di Chef nell'argomento relativo alle fasi iniziali con Chef nel sito Web Getting started with Chef.