Creazione del primo stack Node.js - 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à.

Creazione del primo stack Node.js

Importante

Il AWS OpsWorks Stacks il 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 Squadra su AWS Re:post o tramite AWS Supporto Premium.

Questo esempio illustra come creare uno stack Linux che supporta un server di applicazioni Node.js e come distribuire un'applicazione semplice. Lo stack è composto dai componenti seguenti:

Prerequisiti

Per questa procedura guidata sono validi i requisiti riportati di seguito:

  • Hai un AWS account e una conoscenza di base di come usarlo AWS OpsWorks Pile.

    Se sei nuovo AWS OpsWorks Stacks or toAWS, impara le basi completando il tutorial introduttivo in. Nozioni di base sugli stack Linux Chef 11

  • Disponi di conoscenze di base relative alle procedure necessarie per implementare un'applicazione Node.js.

    Se sei un utente principiante di Node.js, per approfondire le nozioni di base, completa un tutorial introduttivo, ad esempio quello relativo ai nodi.

  • Hai già creato almeno uno stack nella AWS regione che intendi utilizzare per questo esempio.

    Quando crei il primo stack in una regione, AWS OpsWorks Stacks crea un gruppo di sicurezza Amazon Elastic Compute Cloud EC2 (Amazon) per ogni tipo di livello. Questi gruppi di sicurezza sono necessari per creare l'istanza del RDS database Amazon (DB). Se sei nuovo AWS OpsWorks Stacks, ti consigliamo di utilizzare per questo esempio la stessa regione che hai usato quando hai seguito il tutorial inNozioni di base sugli stack Linux Chef 11. Se vuoi utilizzare una nuova regione, crea un nuovo stack nella regione. Non è necessario che lo stack includa livelli o istanze. Non appena crei lo stack, AWS OpsWorks Stacks aggiunge automaticamente un set di gruppi di sicurezza alla regione.

  • Creerai il tuo stack in modo predefinito. VPC

    Puoi usare EC2 -Classic per questa procedura dettagliata, ma alcuni dettagli differiranno leggermente. Ad esempio, con EC2 -Classic, si specifica la zona di disponibilità (AZ) di un'istanza anziché la relativa sottorete.

  • IAML'utente dispone delle autorizzazioni di accesso completo per AWS OpsWorks Pile.

    Per motivi di sicurezza, ti consigliamo di non utilizzare le credenziali root del tuo account per questa procedura guidata. Crea invece un utente con AWS OpsWorks Accumula le autorizzazioni di accesso completo e utilizza tali credenziali con AWS OpsWorks Pile. Per ulteriori informazioni, consulta Creazione di un utente amministratore .

Implementazione dell'applicazione

Questa procedura dettagliata utilizza una semplice applicazione Express che si connette all'istanza Amazon RDS DB ed elenca i database dell'istanza.

Per implementare l'applicazione, crea una directory denominata nodedb in una posizione comoda sulla workstation e aggiungi i seguenti tre file.

Descrittore del pacchetto

Per creare il descrittore del pacchetto dell'applicazione, aggiungi un file denominato package.json on i seguenti contenuti nella directory nodedb. package.json è obbligatorio per le applicazioni Express e deve trovarsi nella directory radice dell'applicazione.

{ "name": "Nodejs-DB", "description": "Node.js example application", "version": "0.0.1", "dependencies": { "express": "*", "ejs": "*", "mysql": "*" } }

Questo descrittore package.json è un esempio minimo. Definisce gli attributi obbligatori name e version ed elenca i pacchetti dipendenti:

  • express fa riferimento al pacchetto Express.

  • ejsfa riferimento al EJSpacchetto, che l'applicazione utilizza per inserire testo in un file di HTML layout.

  • mysqlfa riferimento al pacchetto node-mysql, che l'applicazione utilizza per connettersi all'istanza. RDS

Per ulteriori informazioni sui file dei descrittori dei pacchetti, consulta package.json.

File di layout

Per creare il file di layout dell'applicazione, aggiungi una directory views alla directory nodedb, quindi aggiungi un file a views denominato index.html con i seguenti contenuti:

<!DOCTYPE html> <html> <head> <title>AWS Opsworks Node.js Example</title> </head> <body> <h1>AWS OpsWorks Node.js Example</h1> <p>Amazon RDS Endpoint: <i><%= hostname %></i></p> <p>User: <i><%= username %></i></p> <p>Password: <i><%= password %></i></p> <p>Port: <i><%= port %></i></p> <p>Database: <i><%= database %></i></p> <p>Connection: <%= connectionerror %></p> <p>Databases: <%= databases %></p> </body> </html>

Per questo esempio, il file di layout è un semplice HTML documento che mostra alcuni dati di AmazonRDS. Ogni elemento <%= ... => rappresenta il valore di una variabile definita nel file di codice dell'applicazione. Quest'ultimo file verrà creato in seguito.

File di codice

Per creare il file di codice dell'applicazione, aggiungi un file server.js alla directory nodedb con i seguenti contenuti.

Importante

Con AWS OpsWorks Stacks, il file di codice principale di un'applicazione Node.js deve avere un nome server.js e trovarsi nella cartella principale dell'applicazione.

var express = require('express'); var mysql = require('mysql'); var dbconfig = require('opsworks'); //[1] Include database connection data var app = express(); var outputString = ""; app.engine('html', require('ejs').renderFile); //[2] Get database connection data app.locals.hostname = dbconfig.db['host']; app.locals.username = dbconfig.db['username']; app.locals.password = dbconfig.db['password']; app.locals.port = dbconfig.db['port']; app.locals.database = dbconfig.db['database']; app.locals.connectionerror = 'successful'; app.locals.databases = ''; //[3] Connect to the Amazon RDS instance var connection = mysql.createConnection({ host: dbconfig.db['host'], user: dbconfig.db['username'], password: dbconfig.db['password'], port: dbconfig.db['port'], database: dbconfig.db['database'] }); connection.connect(function(err) { if (err) { app.locals.connectionerror = err.stack; return; } }); // [4] Query the database connection.query('SHOW DATABASES', function (err, results) { if (err) { app.locals.databases = err.stack; } if (results) { for (var i in results) { outputString = outputString + results[i].Database + ', '; } app.locals.databases = outputString.slice(0, outputString.length-2); } }); connection.end(); app.get('/', function(req, res) { res.render('./index.html'); }); app.use(express.static('public')); //[5] Listen for incoming requests app.listen(process.env.PORT);

Nell'esempio vengono visualizzate le informazioni sulla connessione al database, viene eseguita una query sul server di database e vengono visualizzati i database del server. Puoi generalizzare in modo da interagire con il database in base alle esigenze. Le seguenti note si riferiscono ai commenti numerati nel codice precedente.

[1] Include database connection data (Inclusione dei dati di connessione al database)

Questa istruzione require include i dati di connessione al database. Come descritto più avanti, quando si collega un'istanza di database a un'app, AWS OpsWorks Stacks inserisce i dati di connessione in un file denominatoopsworks.js, che ha un aspetto simile al seguente:

exports.db = { "host":"nodeexample.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com", "database":"nodeexampledb", "port":3306, "username":"opsworksuser", "password":"your_pwd", "reconnect":true, "data_source_provider":"rds", "type":"mysql"}

opsworks.js si trova nella directory shared/config dell'applicazione, ovvero /srv/www/app_shortname/shared/config. Tuttavia, AWS OpsWorks Stacks inserisce un collegamento simbolico opsworks.js nella directory principale dell'applicazione, quindi puoi includere l'oggetto usando just. require 'opsworks'

[2] Get database connection data (Recupero dei dati di connessione al database)

Questo set di istruzioni mostra i dati di connessione di opsworks.js mediante l'assegnazione dei valori dell'oggetto db a un set di proprietà app.locals, ciascuna delle quali è mappata a uno degli elementi <%= ... %> nel file index.html. Nel documento visualizzato, gli elementi <%= ... %> sono sostituiti dai corrispondenti valori delle proprietà.

[3] Connect all'RDSistanza Amazon

L'esempio utilizza node-mysql per accedere al database. Per connettersi al database, l'esempio crea un oggetto connection mediante l'invio dei dati di connessione a createConnection e quindi mediante l'esecuzione di una chiamata a connection.connect per stabilire la connessione.

[4] Query the database (Esecuzione di query sul database)

Dopo aver stabilito una connessione, l'esempio esegue una chiamata a connection.query per eseguire query sul database. Questo esempio effettua semplicemente l'esecuzione di query per i nomi dei database del server. query restituisce una matrice di oggetti results, uno per ogni database, con il nome del database assegnato alla proprietà Database. L'esempio concatena i nomi e li assegnaapp.locals.databases,, quindi visualizza l'elenco nella pagina renderizzata. HTML

Per questo esempio, ci sono cinque database, il nodeexampledb database specificato al momento della creazione dell'RDSistanza e altri quattro creati automaticamente da AmazonRDS.

[5] Listen for incoming requests (Ascolto delle richieste in arrivo)

L'istruzione finale rimane in ascolto delle richieste in entrata su una porta specifica. Non devi specificare un valore di porta esplicito. Quando aggiungi l'app al tuo stack, specifichi se l'applicazione supporta HTTP o HTTPS richiede. AWS OpsWorks Stacks imposta quindi la variabile di PORT ambiente su 80 (HTTP) o 443 (HTTPS) e potete utilizzare tale variabile nell'applicazione.

È possibile ascoltare su altre porte, ma il gruppo di sicurezza integrato del livello di Node.js App Server, AWS- OpsWorks -NodeJS-app-Server, consente il traffico utente in entrata solo verso le porte 80, 443 e 22 (). SSH Per consentire il traffico utente in entrata verso altre porte, create un gruppo di sicurezza con regole in entrata appropriate e assegnatelo al livello Node.js App Server. Non modificare le regole in entrata modificando il gruppo di sicurezza predefinito. Ogni volta che crei uno stack, AWS OpsWorks Stacks sovrascrive i gruppi di sicurezza integrati con le impostazioni standard, quindi tutte le modifiche apportate andranno perse.

Nota

Puoi associare variabili di ambiente personalizzate all'applicazione quando crei o aggiorni l'app. È inoltre possibile passare dati all'applicazione utilizzando una ricetta personalizzata JSON e una ricetta personalizzata. Per ulteriori informazioni, consulta Passaggio di dati alle applicazioni.

Creazione del server di database e di un sistema di bilanciamento del carico

Questo esempio utilizza il server di RDS database Amazon e le istanze di bilanciamento del carico Elastic Load Balancing. Devi creare ogni istanza separatamente e quindi integrarla nello stack. Questa sezione descrive come creare nuove istanze di database e nuove istanze del sistema di bilanciamento del carico. Puoi anche utilizzare le istanze esistenti, ma ti consigliamo di fare riferimento alla procedura per verificare che tali istanze siano state configurate correttamente.

Di seguito viene descritto come creare un'istanza RDS DB con configurazione minima sufficiente per questo esempio. Per ulteriori informazioni, consulta la Amazon RDS User Guide.

Per creare l'istanza RDS DB
  1. Apri la console.

    Apri la RDSconsole Amazon e imposta la regione su Stati Uniti occidentali (Oregon). Nel riquadro di navigazione, scegli RDSDashboard, quindi scegli Launch DB Instance.

  2. Specificare il nome del motore del database.

    Scegli My SQL Community Edition come motore di database.

  3. Non abilitare l'implementazione Multi-AZ.

    Scegliere No, this instance... (No, questa istanza...) e quindi scegliere Next (Avanti). In questo esempio non è necessaria l'implementazione Multi-AZ.

  4. Configurare le impostazioni di base.

    Nella pagina DB Instance Details (Dettagli istanza database), specificare le seguenti impostazioni:

    • DB Instance Class (Classe di istanza database): db.t2.micro

    • Multi-AZ deployment (Implementazione Multi-AZ): No

    • Allocated Storage (Storage allocato): 5 GB

    • DB Instance Identifier (Identificatore istanze DB): nodeexample

    • Master Username (Nome utente master): opsworksuser.

    • Master Password (Password master): password personalizzata

    Annotare l'identificatore dell'istanza, il nome utente e la password per un utilizzo successivo, accettare le impostazioni predefinite per le altre opzioni, quindi scegliere Next (Avanti).

  5. Configurare le impostazioni avanzate.

    Nella pagina Configure Advanced Settings (Configura impostazioni avanzate), specificare le seguenti impostazioni:

    • Database Name (Nome del database): nodeexampledb

    • Gruppi di sicurezza DB: AWS- OpsWorks -DB-master-Server

    Nota

    Il gruppo di sicurezza AWS- OpsWorks -DB-master-Server consente solo alle istanze dello stack di accedere al database. Se desideri accedere direttamente al database, collega un gruppo di sicurezza aggiuntivo all'istanza RDS DB con le regole in entrata appropriate. Per ulteriori informazioni, consulta Amazon RDS Security Groups. Puoi anche controllare l'accesso inserendo l'istanza in unVPC. Per ulteriori informazioni, consulta Esecuzione di uno stack in un VPC.

    Annotare il nome del database per un utilizzo successivo, accettare i valori predefiniti delle altre impostazioni, quindi scegliere Launch DB Instance (Avvia istanza database).

La procedura seguente descrive come creare un load balancer Elastic Load Balancing per questo esempio. Per ulteriori informazioni, consulta la Guida per l'utente di Elastic Load Balancing.

Per creare il sistema di bilanciamento del carico
  1. Apri la EC2 console Amazon.

    Apri la EC2console Amazon e assicurati che la regione sia impostata su Stati Uniti occidentali (Oregon). Nel riquadro di navigazione sinistro, selezionare Load Balancers (Sistemi di bilanciamento del carico), quindi Create Load Balancer (Crea sistema di bilanciamento del carico).

  2. Definire il sistema di bilanciamento del carico.

    Nella pagina Define Load Balancer (Definisci sistema di bilanciamento del carico), specificare le seguenti impostazioni.

    • Nome: Node-LB

    • Crea LB Inside — My Default VPC

    Accettare le impostazioni predefinite per le altre opzioni e fare clic su Next (Avanti).

  3. Assegnare i gruppi di sicurezza.

    Nella pagina Assign Security Groups (Assegna i gruppi di sicurezza), specificare i seguenti gruppi:

    • gruppo di VPC sicurezza predefinito

    • AWS- OpsWorks -Nodejs-app-server

    Scegli Next (Successivo). Nella pagina Configure Security Settings (Configura impostazioni di sicurezza) scegliere Next (Avanti). Non è necessario disporre di un listener sicuro in questo esempio.

  4. Configurare il controllo dello stato.

    Nella pagina Configure Health Check (Configura controllo dello stato), impostare Ping Path (Percorso ping) su / e accettare i valori predefiniti per le altre impostazioni. Scegli Next (Successivo). Nella pagina Aggiungi istanze, scegli Avanti. EC2 Nella pagina Add Tags (Aggiungi tag), selezionare Review and Create (Rivedi e crea). AWS OpsWorks Stacks si occupa dell'aggiunta di EC2 istanze al load balancer e per questo esempio non avrai bisogno di tag.

  5. Creare il sistema di bilanciamento del carico.

    Nella pagina Review (Rivedi), scegliere Create (Crea) per creare il sistema di bilanciamento del carico.

Creazione dello stack

A questo punto disponi di tutti i componenti necessari per creare lo stack.

Per creare lo stack
  1. Accedi al AWS OpsWorks Console Stacks.

    Accedi a AWS OpsWorks Console Stacks e scegli Aggiungi stack.

  2. Creare lo stack.

    Per creare un nuovo stack, scegliere Chef 11 stack (Stack Chef 11), quindi specificare le seguenti impostazioni.

    • NodeStack

    • Regione: Stati Uniti occidentali (Oregon)

      Puoi creare uno stack in qualsiasi AWS regione, ma per i tutorial consigliamo US West (Oregon).

    Selezionare Add Stack (Aggiungi stack). Per ulteriori informazioni sulle impostazioni di configurazione dello stack, consulta Creare un nuovo stack.

  3. Aggiungi un livello di app server Node.js con un sistema di bilanciamento del carico collegato.

    Nella NodeStackpagina, scegliete Aggiungi un layer, quindi specificate le seguenti impostazioni:

    • Tipo di livello: Node.js App Server

    • Elastic Load Balancer — Node-LB

    Accettare i valori predefiniti per le altre impostazioni, quindi scegliere Add Layer (Aggiungi livello).

  4. Aggiungere istanze al livello e avviarle.

    Nel riquadro di navigazione, scegliere Instances (Istanze), quindi aggiungere due istanze al livello del server di applicazioni Rails, come descritto di seguito.

    1. In Node.js App Server, scegli Aggiungi istanza.

      Impostare Size (Dimensione) su t2.micro, accettare i valori predefiniti per le altre impostazioni, quindi scegliere Add Instance (Aggiungi istanza).

    2. Scegliere +Instance (+Istanza), quindi aggiungere una seconda istanza t2.micro al livello in una sottorete diversa.

      Ciò inserisce l'istanza in una zona di disponibilità separata.

    3. Scegliere Add instance (Aggiungi istanza).

    4. Per avviare entrambe le istanze, scegliere Start All Instances (Avvia tutte le istanze).

    È stato assegnato un sistema di bilanciamento del carico Elastic Load Balancing a questo layer. Quando un'istanza entra o esce dallo stato online, AWS OpsWorks Stacks registra o annulla automaticamente la registrazione dell'istanza con il sistema di bilanciamento del carico.

    Nota

    Per uno stack di produzione, consigliamo di distribuire le istanze dell'Application Server su più istanze. AZs Se gli utenti non possono connettersi a una zona di disponibilità, il sistema di bilanciamento del carico instrada il traffico in entrata alle istanze nelle zone rimanenti e il sito continuerà a funzionare.

  5. Registra l'istanza RDS DB con lo stack.

    Nel riquadro di navigazione, scegli Risorse e registra l'istanza RDS DB nello stack, come segue.

    1. Scegli la RDSscheda, quindi scegli Mostra istanze RDS DB non registrate.

    2. Scegliere l'istanza nodeexampledb, quindi specificare le impostazioni seguenti:

      • Utente: il nome utente principale che hai specificato quando hai creato l'istanza, per questo esempio. opsworksuser.

      • Password: la password principale specificata al momento della creazione dell'istanza.

    3. Scegli Register with Stack per aggiungere l'istanza RDS DB allo stack come livello di RDSservizio Amazon.

    avvertimento

    AWS OpsWorks Stacks non convalida i valori User o Password, li passa semplicemente all'applicazione. Se questi valori non vengono immessi correttamente, l'applicazione non è in grado di connettersi al database.

    Per aggiungere l'istanza RDS DB allo stack come livello di RDS servizio Amazon, scegli Register with Stack.

Distribuzione dell'applicazione

Devi archiviare l'applicazione in un archivio remoto. Quando lo distribuisci, AWS OpsWorks Stacks distribuisce il codice e i file correlati dal repository alle istanze del server delle applicazioni. Per comodità, questo esempio utilizza un archivio Amazon Simple Storage Service (Amazon S3) pubblico come repository, ma puoi anche utilizzare diversi altri tipi di repository, tra cui Git e Subversion. Per ulteriori informazioni, consulta Origine dell'applicazione.

Per distribuire un'applicazione
  1. Creare il pacchetto dell'applicazione in un file di archivio.

    Creare un archivio .zip della directory nodedb e delle relative sottodirectory denominando il pacchetto nodedb.zip. È inoltre possibile utilizzare altri tipi di file di archivio, tra cui gzip, bzip2 o tarball. Tieni presente che AWS OpsWorks Stacks non supporta archivi tar non compressi. Per ulteriori informazioni, consulta Origine dell'applicazione.

  2. Carica il file di archivio su Amazon S3.

    Carica nodedb.zip il file in un bucket Amazon S3, rendi pubblico il file e copialo URL per un uso successivo. Per ulteriori informazioni su come creare bucket e caricare file, consulta Nozioni di base su Amazon Simple Storage Service.

    Nota

    AWS OpsWorks Gli stack possono anche distribuire file privati da un bucket Amazon S3, ma per semplicità, questo esempio utilizza un file pubblico. Per ulteriori informazioni, consulta Origine dell'applicazione.

  3. Crea un AWS OpsWorks App Stacks.

    Ritorna al AWS OpsWorks Console Stacks, nel riquadro di navigazione, scegli App, quindi scegli Aggiungi un'app. Specificare le seguenti impostazioni:

    • NomeNodeDB.

      Questa stringa è il nome visualizzato dell'applicazione. Per la maggior parte degli scopi, è necessario il nome breve dell'app, che AWS OpsWorks Stacks viene generato a partire dal nome visualizzato trasformando tutti i caratteri in minuscolo e rimuovendo la punteggiatura. In questo esempio il nome è nodedb. Per verificare il nome breve di un'app, dopo aver creato l'app, scegliere l'app nella pagina Apps (App) per visualizzare la relativa pagina dei dettagli.

    • TipoNode.js.

    • Data source type (Tipo di origine dati)RDS.

    • Istanza di database: scegli l'istanza Amazon RDS DB che hai registrato in precedenza.

    • Database name (Nome database) – Specificare il nome del database creato in precedenza, nodeexampledb per questo esempio.

    • Repository type (Tipo di repository) - Http Archive.

      È necessario utilizzare questo tipo di repository per i file pubblici di Amazon S3. Il tipo S3 Archive viene utilizzato solo per gli archivi privati.

    • Repository URL: il file di archivio è Amazon URL S3.

    Utilizzare i valori predefiniti per le impostazioni restanti, quindi fare clic su Add App (Aggiungi app) per creare l'app.

  4. Distribuire l'app.

    Andare alla pagina Apps (App) e nella colonna Actions (Operazioni) dell'app NodeDB scegliere deploy (distribuzione). Scegliere quindi Deploy (Distribuisci) per distribuire l'app alle istanze del server. AWS OpsWorks Stacks esegue le ricette Deploy su ogni istanza, che scarica l'applicazione dal repository e riavvia il server. Quando ogni istanza è contrassegnata da un segno di spunta verde e nel campo Status (Stato) è visualizzato successful (operazione riuscita), la distribuzione è completata e l'applicazione è pronta per inizializzare la gestione delle richieste.

    Nota

    Se la distribuzione ha esito negativo, scegliere show (mostra) nella colonna Log per visualizzare il log di Chef relativo alla distribuzione. Le informazioni relative agli errori si trovano verso il fondo.

  5. Aprire l'applicazione .

    Per aprire l'applicazione, scegli Layers, scegli il load balancer, quindi scegli il DNS nome del load balancer, che invia una HTTP richiesta al load balancer. L'output visualizzato sarà simile a quanto segue.

    AWS OpsWorks Node.js example showing RDS endpoint, user credentials, and database details.
Nota

AWS OpsWorks Stacks distribuisce automaticamente le app su nuove istanze durante la configurazione. La distribuzione manuale è richiesta solo per le istanze online. Per ulteriori informazioni, consulta Distribuzione di app. Per una discussione generale sulla distribuzione, tra cui le strategie di distribuzione più avanzate, consulta Gestione e distribuzione di app e libri di ricette.

Come procedere

Importante

Il AWS OpsWorks Stacks il 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 Squadra su AWS Re:post o tramite AWS Supporto Premium.

In questa procedura guidata sono state descritte le nozioni di base relative alla configurazione di un semplice stack del server di applicazioni Node.js. Di seguito sono elencati alcuni suggerimenti su cosa fare in seguito.

Esaminare i libri di ricette predefiniti di Node.js

Se vuoi sapere in dettaglio come sono configurate le istanze, consulta il ricettario integrato nel layer, opsworks_nodejs, che contiene le ricette e i file correlati che AWS OpsWorks Stacks utilizza per installare e configurare il software e il cookbook integrato per la distribuzione, che contiene le ricette che AWS OpsWorks Stacks utilizza per distribuire le app.

Personalizzare la configurazione del server

Lo stack di esempio è uno stack di base. Per l'uso in ambienti di produzione, potrebbe essere necessario personalizzare lo stack. Per ulteriori informazioni, consulta Personalizzazione AWS OpsWorks Stack.

Aggiunta del supporto SSL

Puoi abilitare il SSL supporto per la tua app e fornire AWS OpsWorks Si accumula con i certificati appropriati al momento della creazione dell'app. AWS OpsWorks Stacks installa quindi i certificati nella directory appropriata. Per ulteriori informazioni, consulta Uso di SSL.

Aggiungere il caching dei dati in memoria

I siti a livello di produzione spesso ottimizzano le prestazioni mediante il caching dei dati in uno store di chiave-valore in memoria, ad esempio Redis o Memcache. Puoi usarli entrambi con un AWS OpsWorks Le pile si accumulano. Per ulteriori informazioni, consulta ElastiCache Redis e Memcached.

Usare una strategia di distribuzione più complessa

Nell'esempio è stata utilizzata una strategia di distribuzione alquanto semplice, che prevede la distribuzione dell'aggiornamento in ogni istanza simultaneamente. Questo approccio è semplice e veloce, ma non vi è alcun margine di errore. Se la distribuzione ha esito negativo o l'aggiornamento genera problemi, ogni istanza nello stack di produzione potrebbe venire interessata e pertanto il sito potrebbe potenzialmente non funzionare o venire disabilitato finché non risolvi il problema. Per ulteriori informazioni sulle strategie di distribuzione, consulta Gestione e distribuzione di app e libri di ricette.

Estendi il livello Node.js App Server

Puoi estendere il livello in diversi modi. Ad esempio, puoi implementare ricette per eseguire script sulle istanze o implementare gli hook di distribuzione di Chef per personalizzare la distribuzione delle app. Per ulteriori informazioni, consulta Estensione di un livello.

Definire le variabili di ambiente

Puoi trasferire dati all'applicazione definendo variabili di ambiente per l'app associata. Quando si distribuisce l'app, AWS OpsWorks Stacks esporta queste variabili in modo che tu possa accedervi dalla tua app. Per ulteriori informazioni, consulta Utilizzo delle variabili di ambiente .