Fase 3: creazione e distribuzione di un libro di ricette personalizzato - 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à.

Fase 3: creazione e distribuzione di un libro di ricette personalizzato

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.

Lo stack non è ancora pronto:

  • L'applicazione necessita di alcune informazioni per accedere al server di database MySQL e al bucket Amazon S3, come il nome host del database e il nome del bucket Amazon S3.

  • Devi configurare un database nel server di database MySQL e creare una tabella in cui includere i metadati delle foto.

È possibile gestire queste attività manualmente, ma un approccio migliore consiste nell'implementare la ricetta di Chef e fare in modo che AWS OpsWorks Stacks esegua la ricetta automaticamente sulle istanze appropriate. Le ricette Chef sono applicazioni Ruby specializzate che AWS OpsWorks Stacks utilizza per eseguire attività su istanze come l'installazione di pacchetti o la creazione di file di configurazione. Le ricette sono contenute in un libro di ricette, che può includere più ricette e i file correlati, ad esempio i modelli per i file di configurazione. Il ricettario viene inserito in un repository come e deve avere una GitHub struttura di directory standard. Se non disponi già di un repository personalizzato per il libro di ricette, consulta Repository dei libri di ricette per informazioni su come crearne uno.

Per questo esempio, il ricettario è stato implementato per te ed è archiviato in un archivio pubblico. GitHub Il libro di ricette contiene due ricette, appsetup.rb e dbsetup.rb, e un file di modello, db-connect.php.erb.

La appsetup.rb ricetta crea un file di configurazione che contiene le informazioni necessarie all'applicazione per accedere al database e al bucket Amazon S3. Si tratta fondamentalmente di una versione leggermente modificata della appsetup.rb ricetta descritta in Connessione dell'applicazione al database. La differenza principale consiste nelle variabili che vengono passate al modello, che rappresentano le informazioni di accesso.

I primi quattro attributi definiscono le impostazioni di connessione al database e vengono definiti automaticamente da AWS OpsWorks Stacks quando si crea l'istanza MySQL.

Le differenze tra queste variabili e quelle della ricetta originale sono due:

  • Come per la ricetta originale, la variabile table rappresenta il nome della tabella di database creata da dbsetup.rbed è impostata sul valore di un attributo definito nel file degli attributi del libro di ricette.

    Tuttavia, l'attributo ha un nome diverso, ovvero [:photoapp][:dbtable].

  • La s3bucket variabile è specifica di questo esempio ed è impostata sul valore di un attributo che rappresenta il nome del bucket Amazon S3,. [:photobucket]

    [:photobucket] viene definito tramite codice JSON personalizzato, descritto più avanti. Per ulteriori informazioni sugli attributi, consulta Attributes.

Per ulteriori informazioni sugli attributi, consulta Attributes.

La ricetta dbsetup.rb configura una tabella di database in cui includere i metadati di ogni foto. È fondamentalmente una versione leggermente modificata della ricetta dbsetup.rb descritta in Configurazione del database. Consultare questo argomento per una descrizione dettagliata.

L'unica differenza tra questo esempio e la ricetta originale è lo schema del database, che ha tre colonne che contengono l'ID, l'URL e la didascalia di ogni foto archiviata nel bucket Amazon S3.

Le ricette sono già implementate, quindi tutto ciò che devi fare è distribuire il ricettario di photoapp nella cache dei libri di cucina di ogni istanza. AWS OpsWorks Stacks esegue quindi le ricette memorizzate nella cache quando si verifica l'evento del ciclo di vita appropriato, come descritto più avanti.

Per distribuire il libro di ricette photoapp
  1. Nella pagina AWS OpsWorks Stacks Stack, scegli Stack Settings, quindi scegli Modifica.

  2. Nella sezione Configuration Management (Gestione configurazione):

    • Impostare Use custom Chef Cookbooks (Utilizza i libri di ricette di Chef personalizzati) su Yes (Sì).

    • Impostare Repository type (Tipo di repository) su Git.

    • Impostare Repository URL (URL repository) su git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

  3. Nella pagina Stack scegliere Run Command (Esegui comando), selezionare il comando dello stack Update Custom Cookbooks (Aggiorna libri di ricette personalizzati) quindi scegliere Update Custom Cookbooks (Aggiorna libri di ricette personalizzati) per installare il nuovo libro di ricette nelle cache dei libri di ricette dell'istanza.

    Run Command interface showing Update Custom Cookbooks option and instance selection.