Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création de votre première pile Node.js
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé pour les nouveaux clients et les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post
Cet exemple explique comment créer une pile Linux qui prend en charge un serveur d'applications Node.js et comment déployer une application simple. La pile se compose des éléments suivants :
-
Une couche de serveur d'applications Node.js avec deux instances
-
Un équilibreur de charge Elastic Load Balancing pour distribuer le trafic vers les instances du serveur d'applications
-
Une couche de service Amazon Relational Database Service (RDSAmazon) qui fournit une base de données principale
Rubriques
Prérequis
Cette procédure pas à pas présume ce qui suit :
-
Vous avez un AWS compte et des connaissances de base sur l'utilisation de AWS OpsWorks Stacks.
Si vous débutez dans AWS OpsWorks Stacks ou dans le domaineAWS, apprenez les bases en suivant le didacticiel d'introduction dansMise en route des piles Linux Chef 11.
-
Vous avez une compréhension de base de la façon d'implémenter une application Node.js.
Si vous utilisez Node.js pour la première fois, découvrez les principes de base en suivant un didacticiel d'introduction, tel que Node: Up and Running
. -
Vous avez déjà créé au moins une pile dans la AWS région que vous comptez utiliser pour cet exemple.
Lorsque vous créez la première pile dans une région, AWS OpsWorks Stacks crée un groupe de sécurité Amazon Elastic Compute Cloud (AmazonEC2) pour chaque type de couche. Vous avez besoin de ces groupes de sécurité pour créer l'instance RDS de base de données Amazon (DB). Si vous utilisez AWS OpsWorks Stacks pour la première fois, nous vous recommandons d'utiliser pour cet exemple la même région que celle que vous avez utilisée lorsque vous avez suivi le didacticiel dansMise en route des piles Linux Chef 11. Si vous souhaitez utiliser une nouvelle région, créez une pile dans la région ; la pile n'a pas besoin d'avoir de couches ou d'instances. Dès que vous créez la pile, AWS OpsWorks Stacks ajoute automatiquement un ensemble de groupes de sécurité à la région.
-
Vous allez créer votre pile par défaut VPC.
Vous pouvez utiliser EC2 -Classic pour cette procédure pas à pas, mais certains détails seront légèrement différents. Par exemple, avec EC2 -Classic, vous spécifiez la zone de disponibilité (AZ) d'une instance au lieu de son sous-réseau.
-
Votre IAM utilisateur dispose d'autorisations d'accès complètes à AWS OpsWorks Stacks.
Pour des raisons de sécurité, nous vous recommandons vivement de ne pas utiliser les informations d'identification racine de votre compte pour cette procédure pas à pas. Créez plutôt un utilisateur avec des autorisations d'accès complètes à AWS OpsWorks Stacks et utilisez ces informations d'identification avec AWS OpsWorks Stacks. Pour de plus amples informations, veuillez consulter Création d'un utilisateur administrateur .
Implémentation de l'application
Cette procédure pas à pas utilise une simple application Express
Pour implémenter l'application, créez un répertoire nommé nodedb
sur un emplacement approprié de votre station de travail, puis ajoutez-y les trois fichiers suivants.
Descripteur du package
Pour créer le descripteur du package de l'application, ajoutez un fichier nommé package.json
avec le contenu suivant dans le répertoire nodedb
. package.json
est obligatoire pour les applications Express et doit être situé dans le répertoire racine de l'application.
{ "name": "Nodejs-DB", "description": "Node.js example application", "version": "0.0.1", "dependencies": { "express": "*", "ejs": "*", "mysql": "*" } }
L'exemple package.json
est assez rudimentaire. Il définit les attributs name
et version
requis, et répertorie les packages dépendants :
-
express
référence le package Express. -
ejs
fait référence au EJSpackage que l'application utilise pour insérer du texte dans un fichier de HTML mise en page. -
mysql
fait référence au package node-mysql, que l'application utilise pour se connecter à l'RDSinstance.
Pour plus d'informations sur les fichiers descripteurs du package, consultez package.json
Fichier de présentation
Pour créer le fichier de présentation de l'application, ajoutez un répertoire views
au répertoire nodedb
, puis ajoutez au répertoire views
un fichier nommé index.html
avec le contenu suivant :
<!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>
Dans cet exemple, le fichier de mise en page est un HTML document simple qui affiche certaines données d'AmazonRDS. Chaque élément <%= ... =>
représente la valeur d'une variable définie dans le fichier de code de l'application, que nous allons maintenant créer.
Fichier de code
Pour créer le fichier de code de l'application, ajoutez un fichier server.js
au répertoire nodedb
avec le contenu suivant.
Important
Avec AWS OpsWorks Stacks, le fichier de code principal d'une application Node.js doit être nommé server.js
et se trouver dans le dossier racine de l'application.
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);
L'exemple affiche les informations de connexion de base de données ; en outre, il interroge également le serveur de base de données et affiche les bases de données du serveur. Vous pouvez facilement le généraliser pour interagir avec la base de données en fonction des besoins. Les notes suivantes se rapportent aux commentaires numérotés du code précédent.
- [1] inclure les données de connexion de base de données
-
L'instruction
require
inclut les données de connexion de base de données. Comme décrit plus loin, lorsque vous attachez une instance de base de données à une application, AWS OpsWorks Stacks place les données de connexion dans un fichier nomméopsworks.js
, qui ressemble à ce qui suit :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
se trouve dans le répertoireshared/config
de l'application/srv/www/
. Cependant, AWS OpsWorks Stacks place un lien symboliqueapp_shortname
/shared/configopsworks.js
dans le répertoire racine de l'application, afin que vous puissiez inclure l'objet en utilisant simplement.require 'opsworks'
- [2] Obtenir les données de connexion de base de données
-
Cet ensemble d'instructions affiche les données de connexion à partir d'
opsworks.js
en affectant les valeurs de l'objetdb
à un ensemble de propriétésapp.locals
, chacune d'elles étant mappée à l'un des éléments <%= ... %> du fichierindex.html
. Le document rendu remplace les éléments <%= ... %> par les valeurs de propriété correspondantes. - [3] Connect à l'RDSinstance Amazon
-
L'exemple utilise
node-mysql
pour accéder à la base de données. Pour se connecter à la base de données, l'exemple crée un objetconnection
en transmettant les données de connexion àcreateConnection
, puis appelleconnection.connect
pour établir la connexion. - [4] Interroger la base de données
-
Après avoir établi une connexion, l'exemple appelle
connection.query
pour interroger la base de données. Cet exemple interroge simplement les noms de base de données du serveur.query
retourne un tableau d'objetsresults
, un pour chaque base de données, avec le nom de base de données assigné à la propriétéDatabase
. L'exemple concatène les noms et les affecte,app.locals.databases,
ce qui permet d'afficher la liste dans la page rendue. HTMLDans cet exemple, il existe cinq bases de données, la
nodeexampledb
base de données que vous avez spécifiée lors de la création de l'RDSinstance et quatre autres créées automatiquement par AmazonRDS. - [5] Écouter les demandes entrantes
-
L'instruction finale écoute les demandes entrantes sur un port spécifié. Vous n'avez pas à spécifier une valeur de port explicite. Lorsque vous ajoutez l'application à votre pile, vous spécifiez si l'application prend en charge HTTP ou HTTPS demande. AWS OpsWorks Stacks définit ensuite la variable d'
PORT
environnement sur 80 (HTTP) ou 443 (HTTPS), et vous pouvez utiliser cette variable dans votre application.Il est possible d'écouter sur d'autres ports, mais le groupe de sécurité intégré à la couche Node.js App Server, AWSOpsWorks-NodeJS-App-Server, autorise le trafic utilisateur entrant uniquement vers les ports 80, 443 et 22 (). SSH Pour autoriser le trafic utilisateur entrant vers d'autres ports, créez un groupe de sécurité avec des règles de trafic entrant appropriées et attribuez-le à la couche Node.js App Server. Ne changez pas les règles de trafic entrant en modifiant le groupe de sécurité intégré. Chaque fois que vous créez une pile, AWS OpsWorks Stacks remplace les groupes de sécurité intégrés par les paramètres standard, de sorte que toutes les modifications que vous apportez seront perdues.
Note
Vous pouvez associer des variables d'environnement personnalisées à votre application lorsque vous créez ou mettez à jour l'application associée. Vous pouvez également transmettre des données à votre application en utilisant une recette personnalisée JSON et une recette personnalisée. Pour de plus amples informations, veuillez consulter Transmission de données aux applications.
Création du serveur de base de données et de l'équilibreur de charge
Cet exemple utilise le serveur de RDS base de données Amazon et les instances d'équilibreur de charge Elastic Load Balancing. Vous devez créer chaque instance séparément, puis l'intégrer à votre pile. Cette section explique comment créer les nouvelles instances de base de données et d'équilibreur de charge. Vous pouvez ensuite utiliser à la place les instances existantes, mais nous vous recommandons de lire la procédure afin de vous assurer que ces instances sont correctement configurées.
Ce qui suit décrit comment créer une RDS instance de base de données à configuration minimale suffisante pour cet exemple. Pour plus d'informations, consultez le guide de RDS l'utilisateur Amazon.
Pour créer l'RDSinstance de base de données
-
Ouvrez la console.
Ouvrez la RDSconsole Amazon
et définissez la région sur USA West (Oregon). Dans le volet de navigation, choisissez RDSDashboard, puis Launch DB Instance. -
Spécifiez le moteur de base de données.
Choisissez My SQL Community Edition comme moteur de base de données.
-
Refusez le déploiement multi-AZ.
Choisissez No, this instance... (Non, cette instance…), puis Suivant. Vous n'avez pas besoin d'un déploiement multi-AZ pour cet exemple.
-
Configurez les paramètres de base.
Sur la page DB Instance Details (Détails de l'instance de base de données), indiquez les valeurs suivantes :
-
Classe d'instance DB : db.t2.micro
-
Déploiement multi-AZ : Non
-
Stockage alloué :
5
Go -
Identifiant de l'instance DB :
nodeexample
-
Identifiant principal :
opsworksuser
-
Mot de passe principal : mot de passe de votre choix
Enregistrez l'identifiant de l'instance, le nom d'utilisateur et le mot de passe en vue d'une utilisation ultérieure, acceptez les paramètres par défaut pour les autres options, puis choisissez Suivant.
-
-
Configurez les paramètres avancés.
Sur la page Configuration de paramètres avancés, spécifiez les valeurs suivantes :
-
Nom de base de données :
nodeexampledb
-
Groupe (s) de sécurité de base de données : AWS- OpsWorks -DB-Master-Server
Note
Le groupe de sécurité AWS- OpsWorks -DB-Master-Server autorise uniquement les instances de votre pile à accéder à la base de données. Si vous souhaitez accéder directement à la base de données, associez un groupe de sécurité supplémentaire à l'RDSinstance de base de données avec les règles entrantes appropriées. Pour plus d'informations, consultez Amazon RDS Security Groups. Vous pouvez également contrôler l'accès en plaçant l'instance dans unVPC. Pour de plus amples informations, veuillez consulter Exécuter une pile dans un VPC.
Enregistrez le nom de base de données en vue d'une utilisation ultérieure, acceptez les valeurs par défaut des autres paramètres et choisissez Lancement d'une instance DB.
-
La procédure suivante décrit comment créer un équilibreur de charge Elastic Load Balancing pour cet exemple. Pour plus d'informations, consultez le Guide de l'utilisateur Elastic Load Balancing.
Pour créer l'équilibreur de charge
-
Ouvrez la EC2 console Amazon.
Ouvrez la EC2console Amazon
et assurez-vous que la région est définie sur USA Ouest (Oregon). Dans le panneau de navigation, choisissez Équilibreurs de charge, puis Créer un équilibreur de charge. -
Définissez l'équilibreur de charge.
Sur la page Définir un équilibreur de charge, spécifiez les paramètres suivants.
-
Nom –
Node-LB
-
Create LB Inside — My Default VPC
Acceptez les valeurs par défaut pour les autres options, puis choisissez Suivant.
-
-
Attribuez les groupes de sécurité.
Sur la page Attribuer les groupes de sécurité, spécifiez les groupes suivants :
-
groupe VPC de sécurité par défaut
-
AWS- OpsWorks -NodeJS App-Server
Choisissez Suivant. Sur la page Configurer les paramètres de sécurité, choisissez Suivant. Vous n'avez pas besoin d'un écouteur sécurisé pour cet exemple.
-
-
Configurez la vérification du statut.
Sur la page Configurer la vérification de l'état, définissez Chemin de ping sur
/
et acceptez les valeurs par défaut pour les autres paramètres. Choisissez Suivant. Sur la page Ajouter EC2 des instances, choisissez Next. Sur la page Ajouter des balises, choisissez Réviser et créer. AWS OpsWorks Stacks se charge d'ajouter des EC2 instances à l'équilibreur de charge, et vous n'aurez pas besoin de balises pour cet exemple. -
Créez l'équilibreur de charge.
Sur la page Vérification, choisissez Créer pour créer l'équilibreur de charge.
Création de la pile
Vous avez maintenant tous les composants nécessaires pour créer la pile.
Pour créer la pile
-
Connectez-vous à la console AWS OpsWorks Stacks.
Connectez-vous à la console AWS OpsWorks Stacks
, puis choisissez Add Stack (Ajouter une pile). -
Créez la pile.
Pour créer une pile, choisissez Chef 11 stack (Pile Chef 11), puis spécifiez les paramètres suivants.
-
–
NodeStack
-
Région — Ouest des États-Unis (Oregon)
Vous pouvez créer une pile dans n'importe quelle AWS région, mais nous recommandons US West (Oregon) pour les didacticiels.
Choisissez Add Stack (Ajouter une pile). Pour plus d'informations sur les paramètres de configuration de pile, consultez Créer une pile.
-
-
Ajoutez une couche de serveur d'applications Node.js avec un équilibreur de charge attaché.
Sur la NodeStackpage, choisissez Ajouter une couche, puis définissez les paramètres suivants :
-
Type de couche — Node.js App Server
-
Elastic Load Balancer — Node-LB
Acceptez les valeurs par défaut pour les autres paramètres, puis choisissez Add Layer (Ajouter une couche).
-
-
Ajoutez les instances à la couche et démarrez-les.
Dans le panneau de navigation, sélectionnez Instances, puis ajoutez deux instances à la couche Rails App Server, comme suit.
-
Sous Node.js App Server, choisissez Ajouter une instance.
Définissez Size (Taille) sur t2.micro, acceptez les valeurs par défaut pour les autres paramètres, puis choisissez Add Instance (Ajouter une instance).
-
Choisissez +Instance, puis ajoutez une deuxième instance t2.micro à la couche dans un autre sous-réseau.
Cela place l'instance dans une autre zone de disponibilité.
-
Choisissez Add instance (Ajouter une instance).
-
Pour démarrer les deux instances, sélectionnez Start All Instances (Démarrer toutes les instances).
Vous avez attribué un équilibreur de charge Elastic Load Balancing à cette couche. Lorsqu'une instance entre ou quitte l'état en ligne, AWS OpsWorks Stacks enregistre ou désenregistre automatiquement l'instance auprès de l'équilibreur de charge.
Note
Pour une pile de production, nous vous recommandons de répartir vos instances de serveur d'applications sur plusieurs instancesAZs. Si les utilisateurs ne peuvent pas se connecter à une zone de disponibilité, l'équilibreur de charge achemine le trafic entrant vers les instances des zones restantes, et votre site continue à fonctionner.
-
-
Enregistrez l'RDSinstance de base de données auprès de la pile.
Dans le volet de navigation, choisissez Resources et enregistrez l'RDSinstance de base de données auprès de la pile, comme suit.
-
Choisissez l'RDSonglet, puis choisissez Afficher les RDS instances de base de données non enregistrées.
-
Choisissez l'instance nodeexampledb, puis spécifiez les paramètres suivants :
-
Utilisateur : nom d'utilisateur principal que vous avez spécifié lors de la création de l'instance, dans cet exemple.
opsworksuser
. -
Mot de passe : mot de passe principal que vous avez spécifié lors de la création de l'instance.
-
-
Choisissez Register with Stack pour ajouter l'RDSinstance de base de données à la pile en tant que couche RDS de service Amazon.
Avertissement
AWS OpsWorks Stacks ne valide pas les valeurs d'utilisateur ou de mot de passe, il les transmet simplement à l'application. Si vous ne les entrez pas correctement, votre application ne peut pas se connecter à la base de données.
Pour ajouter l'RDSinstance de base de données à la pile en tant que couche RDS de service Amazon, choisissez Register with Stack.
-
Déploiement de l'application
Vous devez stocker l'application dans un référentiel distant. Lorsque vous le déployez, AWS OpsWorks Stacks déploie le code et les fichiers associés du référentiel vers les instances du serveur d'applications. Pour plus de commodité, cet exemple utilise une archive publique Amazon Simple Storage Service (Amazon S3) comme référentiel, mais vous pouvez également utiliser plusieurs autres types de référentiels, notamment Git et Subversion. Pour de plus amples informations, veuillez consulter Source de l'application.
Pour déployer l'application
-
Empaquetez l'application dans un fichier d'archives.
Créez une archive
.zip
du répertoirenodedb
et des sous-répertoire nommée nodedb.zip. Vous pouvez également utiliser d'autres types de fichiers d'archives, y compris gzip, bzip2 et tarball. Notez que AWS OpsWorks Stacks ne prend pas en charge les archives non compressées. Pour de plus amples informations, veuillez consulter Source de l'application. -
Téléchargez le fichier d'archive sur Amazon S3.
nodedb.zip
Téléchargez-le dans un compartiment Amazon S3, rendez le fichier public et copiez-le URL pour une utilisation ultérieure. Pour plus d'informations sur la création de compartiments et le chargement des fichiers, consultez Mise en route avec Amazon Simple Storage Service.Note
AWS OpsWorks Stacks peut également déployer des fichiers privés à partir d'un compartiment Amazon S3, mais pour des raisons de simplicité, cet exemple utilise un fichier public. Pour de plus amples informations, veuillez consulter Source de l'application.
-
Créez une application AWS OpsWorks Stacks.
Revenez à la console AWS OpsWorks Stacks, dans le volet de navigation, choisissez Apps, puis choisissez Ajouter une application. Spécifiez les paramètres suivants :
-
Nom :
NodeDB
.Cette chaîne est le nom complet de l'application. Dans la plupart des cas, vous avez besoin du nom abrégé de l'application, que AWS OpsWorks Stacks génère à partir du nom d'affichage en transformant tous les caractères en minuscules et en supprimant la ponctuation. Dans cet exemple, le nom court est
nodedb
. Pour vérifier le nom court d'une application, après la création de l'application, choisissez l'application sur la page Apps (Applications) afin d'afficher sa page de détails. -
Tapez —
Node.js
. -
Type de source de données —
RDS
. -
Instance de base de données — Choisissez l'RDSinstance de base de données Amazon que vous avez enregistrée précédemment.
-
Nom de la base de données — Spécifiez le nom de base de données que vous avez créé précédemment,
nodeexampledb
pour cet exemple. -
Type de référentiel —
Http Archive
.Vous devez utiliser ce type de référentiel pour les fichiers Amazon S3 publics. Le type
S3 Archive
est utilisé uniquement pour les archives privées. -
Référentiel URL : le fichier d'archive est Amazon S3URL.
Utilisez les valeurs par défaut pour les paramètres restants, puis cliquez sur Add App (Ajouter une application) pour créer l'application.
-
-
Déployez l’application.
Accédez à la page Apps (Applications) et, dans la colonne Actions de l'application NodeDB, choisissez deploy (déployer). Choisissez ensuite Deploy pour déployer l'application sur les instances du serveur. AWS OpsWorks Stacks exécute les recettes de déploiement sur chaque instance, qui télécharge l'application depuis le référentiel et redémarre le serveur. Lorsque chaque instance est marquée d'une coche verte et que Status (Statut) a pour valeur successful (succès), le déploiement est terminé et l'application est prête à démarrer le traitement des demandes.
Note
Si le déploiement échoue, choisissez show (afficher) dans la colonne Log (Journal) pour afficher le journal Chef du déploiement. Les informations d'erreur se trouvent vers le bas.
-
Ouvrez l'application .
Pour ouvrir l'application, choisissez Layers, choisissez l'équilibreur de charge, puis choisissez le DNS nom de l'équilibreur de charge, qui envoie une HTTP demande à l'équilibreur de charge. Vous devriez voir quelque chose comme suit.
Note
AWS OpsWorks Stacks déploie automatiquement les applications sur les nouvelles instances lors de la configuration. Le déploiement manuel est obligatoire uniquement pour les instances en ligne. Pour de plus amples informations, veuillez consulter Déploiement d'applications. Pour une discussion générale du déploiement, y compris certaines stratégies de déploiement plus sophistiquées, consultez Gestion et déploiement des applications et livres de recettes.
Et maintenant ?
Important
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé pour les nouveaux clients et les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur AWS Re:Post
Cette procédure pas à pas vous a guidé à travers les bases de la mise en place d'une pile de serveur d'applications Node.js simple. Voici quelques suggestions sur ce qu'il convient de faire ensuite.
- Examiner le Node.js intégré dans les livres de recettes
-
Si vous souhaitez savoir comment les instances sont configurées en détail, consultez le livre de recettes intégré à la couche, opsworks_nodejs
, qui contient les recettes et les fichiers associés que AWS OpsWorks Stacks utilise pour installer et configurer le logiciel, et le livre de recettes de déploiement intégré, qui contient les recettes utilisées par Stacks pour déployer les applications. AWS OpsWorks - Personnaliser la configuration du serveur
-
La pile de l'exemple est assez basique. Pour une utilisation en production, vous voudrez probablement personnaliser la pile. Pour de plus amples informations, veuillez consulter Personnalisation des piles AWS OpsWorks.
- Ajouter une prise en charge SSL
-
Vous pouvez activer le SSL support pour votre application et fournir à AWS OpsWorks Stacks les certificats appropriés lors de la création de l'application. AWS OpsWorks Stacks installe ensuite les certificats dans le répertoire approprié. Pour de plus amples informations, veuillez consulter Utilisation de SSL.
- Ajouter la mise en cache des données en mémoire
-
Les sites de niveau production améliorent souvent les performances en mettant en cache les données dans un magasin clé-valeur en mémoire, tel que Redis ou Memcache. Vous pouvez utiliser l'un ou l'autre avec une pile AWS OpsWorks Stacks. Pour plus d’informations, consultez ElastiCache Redis et Memcached.
- Utiliser une stratégie de déploiement plus sophistiquée
-
L'exemple utilise une stratégie de déploiement d'application simple, qui déploie la mise à jour sur chaque instance de façon simultanée. Cette approche est simple et rapide, mais il n'y a aucune marge d'erreur. Si le déploiement échoue ou que la mise à jour rencontre des problèmes, chaque instance de votre pile en production peut être affectée, perturbant ou désactivant potentiellement votre site jusqu'à ce que vous puissiez résoudre le problème. Pour plus d'informations sur les stratégies de déploiement, consultez Gestion et déploiement des applications et livres de recettes.
- Étendre la couche du serveur d'applications Node.js
-
Vous pouvez étendre la couche de diverses manières. Par exemple, vous pouvez implémenter des recettes pour exécuter des scripts sur les instances ou implémenter les raccordements de déploiement Chef afin de personnaliser le déploiement d'applications. Pour de plus amples informations, veuillez consulter Extension d'une couche.
- Définir les variables d'environnement
-
Vous pouvez transmettre les données à votre application en définissant les variables d'environnement de l'application associée. Lorsque vous déployez l'application, AWS OpsWorks Stacks exporte ces variables afin que vous puissiez y accéder depuis votre application. Pour de plus amples informations, veuillez consulter Utilisation des variables d'environnement .