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.
Utilisation de la plateforme Elastic Beanstalk Node.js
Cette rubrique explique comment configurer, créer et exécuter vos applications Node.js sur Elastic Beanstalk.
AWS Elastic Beanstalk prend en charge un certain nombre de branches de plate-forme pour différentes versions du langage de programmation Node.js. Voir Node.js dans le document AWS Elastic Beanstalk Platforms pour une liste complète.
Elastic Beanstalk propose des options de configuration que vous pouvez utiliser pour personnaliser le logiciel qui s'exécute sur EC2 instances dans votre environnement Elastic Beanstalk. Vous pouvez configurer des variables d'environnement requises pour votre application, activer la rotation des journaux sur Amazon S3 et mapper des dossiers dans la source de votre application contenant des fichiers statiques vers des chemins desservis par le serveur proxy.
Des options de configuration sont disponibles dans la console Elastic Beanstalk pour modifier la configuration d'un environnement en cours d'exécution. Pour éviter de perdre la configuration de votre environnement en le résiliant, vous pouvez utiliser des configurations enregistrées pour enregistrer vos paramètres et les appliquer par la suite à un autre environnement.
Pour enregistrer les paramètres dans votre code source, vous pouvez inclure des fichiers de configuration. Les paramètres des fichiers de configuration sont appliquées chaque fois que vous créez un environnement ou que vous déployez votre application. Vous pouvez également utiliser des fichiers de configuration pour installer des packages, exécuter des scripts ou effectuer d'autres opérations de personnalisation d'instance lors des déploiements.
Vous pouvez inclure un Package.json fichier dans votre bundle source pour installer des packages lors du déploiement, pour fournir une commande de démarrage et pour spécifier le Node.js version que vous souhaitez que votre application utilise. Vous pouvez inclure un fichier npm-shrinkwrap.json pour verrouiller les versions de dépendances.
Le Node.js La plate-forme inclut un serveur proxy pour gérer les actifs statiques, transférer le trafic vers votre application et compresser les réponses. Vous pouvez étendre ou remplacer la configuration du serveur proxy par défaut pour les scénarios avancés.
Il existe plusieurs options pour démarrer votre application. Vous pouvez ajouter un Procfileà votre bundle source pour spécifier la commande qui démarre votre application. Lorsque vous ne fournissez pas de Procfile
mais un fichier package.json
, Elastic Beanstalk exécute npm start
. Si vous n'en fournissez pas non plus, Elastic Beanstalk recherche le fichier app.js
ou server.js
, dans cet ordre, et exécute le script.
Les paramètres appliqués dans la console Elastic Beanstalk remplacent les mêmes paramètres des fichiers de configuration, s'ils existent. Cela vous permet d'utiliser les paramètres par défaut dans les fichiers de configuration et de les remplacer par des paramètres spécifiques à l'environnement dans la console. Pour plus d'informations sur la priorité et les autres méthodes de modification des paramètres, consultez Options de configuration.
Pour plus d'informations sur les différentes manières d'étendre une plateforme Elastic Beanstalk basée sur Linux, consultez Extension des plateformes Linux Elastic Beanstalk.
Configuration de votre Node.js environment
Vous pouvez utiliser le plugin Node.js paramètres de plateforme pour affiner le comportement de vos EC2 instances Amazon. Vous pouvez modifier la configuration de l'EC2instance Amazon pour votre environnement Elastic Beanstalk à l'aide de la console Elastic Beanstalk.
Utilisez la console Elastic Beanstalk pour permettre la rotation des journaux sur Amazon S3 et configurer des variables que votre application peut lire à partir de l'environnement.
Pour configurer votre Node.js environnement dans la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre. Région AWS -
Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.
Note
Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.
Dans le panneau de navigation, choisissez Configuration.
-
Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.
Options du conteneur
Vous pouvez spécifier ces options spécifiques à la plateforme :
-
Proxy server (Serveur proxy) – Serveur proxy à utiliser sur vos instances d'environnement. Par défaut, NGINX est utilisé.
Options du journal
La section Options du journal a deux paramètres :
-
Instance profile (Profil d'instance) – Spécifie le profil d'instance qui est autorisé à accéder au compartiment Amazon S3 associé à votre application.
-
Activer la rotation des fichiers journaux vers Amazon S3 : indique si les fichiers journaux des EC2 instances Amazon de votre application sont copiés dans le compartiment Amazon S3 associé à votre application.
Fichiers statiques
Pour améliorer les performances, vous pouvez utiliser la section Fichiers statiques pour configurer le serveur proxy pour qu'il diffuse des fichiers statiques (par exemple, HTML ou des images) à partir d'un ensemble de répertoires au sein de votre application Web. Pour chaque répertoire, vous définissez le chemin virtuel sur le mappage de répertoires. Lorsque le serveur proxy reçoit une demande pour un fichier dans le chemin spécifié, il fournit le fichier directement au lieu d'acheminer la demande vers votre application.
Pour en savoir plus sur la configuration des fichiers statiques à l'aide des fichiers de configuration ou de la console Elastic Beanstalk, consultez Service de fichiers statiques.
Propriétés de l'environnement
Utilisez la section Propriétés de l'environnement pour spécifier les paramètres de configuration de l'environnement sur EC2 les instances Amazon qui exécutent votre application. Ces paramètres sont passés en tant que paires clé-valeur à l'application.
À l'intérieur du Node.js dans un environnement qui s'exécute AWS Elastic Beanstalk, vous pouvez accéder aux variables d'environnement en exécutantprocess.env.ENV_VARIABLE
.
var endpoint = process.env.API_ENDPOINT
Le Node.js la plateforme définit le PORT variable d'environnement correspondant au port vers lequel le serveur proxy transmet le trafic. Pour de plus amples informations, veuillez consulter Configuration du serveur proxy.
Pour plus d’informations, consultez Propriétés de l'environnement et autres paramètres de logiciel.
Les catégories de configuration logicielle de console suivantes ne sont prises en charge que sur un Elastic Beanstalk Node.js environnement qui utilise une version de AMI plate-forme Amazon Linux (antérieure à Amazon Linux 2).
Remarques
-
Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plateforme basées sur Amazon Linux AMI (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et nécessitent des paramètres de configuration différents.
-
Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.
Sur la page de configuration, spécifiez les informations suivantes :
-
Serveur proxy — Spécifie le serveur Web à utiliser pour les connexions par proxy Node.js. Par défaut, NGINX est utilisé. Si vous n'en sélectionnez aucun, les mappages de fichiers statiques ne prennent pas effet, et GZIP la compression est désactivée.
-
Node.js version — Spécifie la version de Node.js. Pour une liste des produits pris en charge Node.js versions, voir Node.jsdans le guide AWS Elastic Beanstalk des plateformes.
-
GZIP compression — Spécifie si GZIP la compression est activée. Par défaut, GZIP la compression est activée.
-
Commande Node — Vous permet de saisir la commande utilisée pour démarrer le Node.js application. Une chaîne vide (par défaut) signifie qu'Elastic Beanstalk utilise
app.js
, puisserver.js
et ensuitenpm start
.
Node.js espace de noms de configuration
Vous pouvez utiliser un fichier de configuration pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être spécifiques à la plate-forme ou s'appliquer à toutes les plateformes du service Elastic Beanstalk dans son ensemble. Les options de configuration sont organisées en espaces de noms.
Vous pouvez choisir le proxy à utiliser sur les instances de votre environnement à l'aide de l'espace de noms aws:elasticbeanstalk:environment:proxy
. L'exemple suivant configure votre environnement pour utiliser le Apache
HTTPD serveur proxy.
Exemple .ebextensions/nodejs-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
Vous pouvez configurer le proxy pour qu'il traite les fichiers statiques à l'aide de l'espace de noms aws:elasticbeanstalk:environment:proxy:staticfiles
. Pour plus d'informations et pour voir un exemple, consultez Service de fichiers statiques.
Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.
Si votre Elastic Beanstalk Node.js L'environnement utilise une version de AMI plate-forme Amazon Linux (antérieure à Amazon Linux 2). Tenez compte des configurations spécifiques et des recommandations de cette section.
Remarques
-
Les informations contenues dans cette rubrique s'appliquent uniquement aux branches de plateforme basées sur Amazon Linux AMI (AL1). AL2Les branches de AL2 plate-forme 023/ sont incompatibles avec les versions précédentes de la plateforme Amazon Linux AMI (AL1) et nécessitent des paramètres de configuration différents.
-
Le 18 juillet 2022, Elastic Beanstalk a défini le statut de toutes les branches de la plateforme basées sur Amazon AMI Linux () comme étant retirées. AL1 Pour plus d'informations sur la migration vers une branche de plateforme Amazon Linux 2023 actuelle et entièrement prise en charge, consultez Migration de votre application Elastic Beanstalk Linux vers Amazon Linux 2023 ou Amazon Linux 2.
Elastic Beanstalk prend en charge certaines options de configuration spécifiques à la plate-forme pour Amazon Linux AMI Node.js versions de plateforme. Vous pouvez choisir le serveur proxy à exécuter devant votre application, choisir une version spécifique de Node.js pour exécuter, et choisissez la commande utilisée pour exécuter votre application.
Pour le serveur proxy, vous pouvez utiliser un NGINX or Apache serveur proxy. Vous pouvez définir la valeur none
sur l'option ProxyServer
. Dans ce cas, Elastic Beanstalk exécute votre application en mode autonome, pas derrière un serveur proxy. Si votre environnement exécute une application autonome, mettez à jour votre code pour écouter le port qui NGINX redirige le trafic vers.
var port = process.env.PORT || 8080;
app.listen(port, function() {
console.log('Server running at http://127.0.0.1:%s', port);
});
En termes de version linguistique prise en charge, le Node.js AMILa plateforme Amazon Linux est différente des autres plateformes gérées par Elastic Beanstalk. C'est parce que chaque Node.js la version de la plate-forme ne prend en charge que quelques-uns Node.js versions linguistiques. Pour une liste des produits pris en charge Node.js versions, voir Node.jsdans le guide AWS Elastic Beanstalk des plateformes.
Vous pouvez utiliser une option de configuration spécifique à la plateforme pour définir la version de langage. Pour obtenir des instructions, consultez Configuration de votre Node.js environment. Vous pouvez également utiliser la console Elastic Beanstalk pour mettre à jour le Node.js version que votre environnement utilise dans le cadre de la mise à jour de la version de votre plateforme.
Note
Lorsque la prise en charge de la version de Node.js que vous utilisez est supprimée de la plateforme, vous devez modifier ou supprimer le paramètre de version avant de procéder à une mise à jour de la plateforme. Cela peut se produire lorsqu'une faille de sécurité est identifiée pour une ou plusieurs versions de Node.js
Dans ce cas, la tentative de mise à jour vers une nouvelle version de la plate-forme qui ne prend pas en charge la configuration NodeVersionéchoue. Pour éviter d'avoir à créer un nouvel environnement, remplacez l'option de NodeVersionconfiguration par une version de Node.js prise en charge à la fois par l'ancienne version de plate-forme et par la nouvelle, ou supprimez le paramètre d'option, puis effectuez la mise à jour de la plate-forme.
Pour configurer votre environnement Node.js version dans la console Elastic Beanstalk
Ouvrez la console Elastic Beanstalk
, puis dans la liste des régions, sélectionnez votre. Région AWS -
Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.
Note
Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.
-
Dans la page de présentation de l'environnement, sous Platform (Plateforme), choisissez Change (Changer).
-
Dans la boîte de dialogue Mettre à jour la version de la plateforme, sélectionnez Node.js version.
-
Choisissez Save (Enregistrer).
Le Node.js AMILa plate-forme Amazon Linux définit des options supplémentaires dans les aws:elasticbeanstalk:container:nodejs
espaces de noms aws:elasticbeanstalk:container:nodejs:staticfiles
et.
Le fichier de configuration suivant indique à Elastic Beanstalk d'utiliser npm start
pour exécuter l'application. Il définit également le type de proxy sur Apache et permet la compression. Enfin, il configure le proxy pour qu'il serve des fichiers statiques à partir de deux répertoires sources. L'une des sources est HTML fichiers situés sur le html
chemin situé sous la racine du site Web à partir du répertoire statichtml
source. L'autre source est constituée de fichiers image situés sur le chemin images
sous la racine du site web à partir du répertoire source staticimages
.
Exemple .ebextensions/node-settings.config
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
ProxyServer: apache
GzipCompression: true
aws:elasticbeanstalk:container:nodejs:staticfiles:
/html: statichtml
/images: staticimages
Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.