

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
<a name="gettingstarted-node"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour 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](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

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](workinglayers-node.md) avec deux instances
+ Un [équilibreur de charge Elastic Load Balancing](layers-elb.md) pour distribuer le trafic vers les instances du serveur d'applications
+ Une couche de service [Amazon Relational Database Service (Amazon RDS)](#gettingstarted-node-next) qui fournit une base de données principale

**Topics**
+ [Conditions préalables](#gettingstarted-node-start)
+ [Implémentation de l'application](#gettingstarted-node-app)
+ [Création du serveur de base de données et de l'équilibreur de charge](#gettingstarted-node-create-db)
+ [Création de la pile](#gettingstarted-node-stack)
+ [Déploiement de l'application](#gettingstarted-node-deploy)
+ [Et maintenant ?](#gettingstarted-node-next)

## Conditions préalables
<a name="gettingstarted-node-start"></a>

Cette procédure pas à pas présume ce qui suit :
+ Vous possédez un compte AWS et des connaissances de base sur l'utilisation de OpsWorks Stacks.

  Si vous utilisez OpsWorks Stacks ou AWS pour la première fois, découvrez les bases en suivant le didacticiel d'introduction dans[Mise en route des piles Linux Chef 11](gettingstarted.md).
+ 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](http://chimera.labs.oreilly.com/books/1234000001808/index.html).
+ Vous avez déjà créé au moins une pile dans la région AWS que vous envisagez d'utiliser pour cet exemple.

  Lorsque vous créez la première pile dans une région, OpsWorks Stacks crée un groupe de sécurité Amazon Elastic Compute Cloud (Amazon EC2) pour chaque type de couche. Vous avez besoin de ces groupes de sécurité pour créer l'instance de base de données (DB) Amazon RDS. Si vous utilisez 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 dans[Mise en route des piles Linux Chef 11](gettingstarted.md). 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, OpsWorks Stacks ajoute automatiquement un ensemble de groupes de sécurité à la région. 
+ Vous allez créer votre pile dans un [VPC par défaut](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html).

  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 utilisateur IAM dispose d'autorisations d'accès complètes à Stacks. OpsWorks 

  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 à OpsWorks Stacks et utilisez ces informations d'identification avec OpsWorks Stacks. Pour de plus amples informations, veuillez consulter [Création d'un utilisateur administrateur ](opsworks-security-users-manage-admin.md).

## Implémentation de l'application
<a name="gettingstarted-node-app"></a>

Cette procédure pas à pas utilise une simple application [Express](http://expressjs.com/) qui se connecte à l'instance de base de données Amazon RDS et répertorie les bases de données de l'instance. 

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. 

**Topics**
+ [Descripteur du package](#w2ab1c14c71b9c11c13b8)
+ [Fichier de présentation](#w2ab1c14c71b9c11c13c10)
+ [Fichier de code](#w2ab1c14c71b9c11c13c12)

### Descripteur du package
<a name="w2ab1c14c71b9c11c13b8"></a>

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](http://expressjs.com/).
+ `ejs` référence le package [EJS](http://www.embeddedjs.com/), que l'application utilise pour insérer du texte dans un fichier de mise en page HTML.
+ `mysql` référence le package [node-mysql](https://github.com/felixge/node-mysql), que l'application utilise pour se connecter à l'instance RDS.

Pour plus d'informations sur les fichiers descripteurs du package, consultez [package.json](https://docs.npmjs.com/cli/v9/configuring-npm/package-json). 

### Fichier de présentation
<a name="w2ab1c14c71b9c11c13c10"></a>

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 simple document HTML qui affiche certaines données d'Amazon RDS. 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
<a name="w2ab1c14c71b9c11c13c12"></a>

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 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, 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épertoire `shared/config` de l'application `/srv/www/app_shortname/shared/config`. Cependant, OpsWorks Stacks place un lien symbolique `opsworks.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'objet `db` à un ensemble de propriétés `app.locals`, chacune d'elles étant mappée à l'un des éléments <%= ... %> du fichier `index.html`. Le document rendu remplace les éléments <%= ... %> par les valeurs de propriété correspondantes.

**[3] Se connecter à l'instance Amazon RDS**  
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 objet `connection` en transmettant les données de connexion à `createConnection`, puis appelle `connection.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'objets `results`, 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 attributs, et les assigne à `app.locals.databases,`, qui affiche la liste dans la page HTML restituée.  
Dans 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'instance RDS et quatre autres créées automatiquement par Amazon RDS.

**[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 indiquez si l'application prend en charge les requêtes HTTP ou HTTPS. 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, **AWS- OpsWorks -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é](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) avec des règles de trafic entrant appropriées et [attribuez-le à la couche Node.js App Server](workinglayers-basics-edit.md#workinglayers-basics-edit-security). 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, 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](workingapps-creating.md#workingapps-creating-environment) ou [mettez à jour](workingapps-editing.md) l'application associée. Vous pouvez également passer les données à votre application en utilisant une recette JSON personnalisée et une recette personnalisée. Pour de plus amples informations, veuillez consulter [Transmission de données aux applications](apps-data.md).

## Création du serveur de base de données et de l'équilibreur de charge
<a name="gettingstarted-node-create-db"></a>

Cet exemple utilise le serveur de base de données Amazon RDS 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.

La suite décrit comment créer une instance de base de données RDS, ce qui suffit à cet exemple. Pour plus d'informations, veuillez consulter le [Guide d'utilisateur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html).

**Pour créer l'instance de base de données RDS**

1. 

**Ouvrez la console .**

   Ouvrez la [console Amazon RDS](https://console.aws.amazon.com/rds/) et définissez la région sur USA West (Oregon). Dans le panneau de navigation, choisissez **Tableau de bord RDS**, puis **Lancement d'une instance DB**.

1. 

**Spécifiez le moteur de base de données.**

   Choisissez **MySQL Community Edition** comme moteur de base de données.

1. 

**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.

1. 

**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**.

1. 

**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 stack à accéder à la base de données. Si vous souhaitez accéder directement à la base de données, attachez un groupe de sécurité supplémentaire à l'instance de base de données RDS avec les règles de trafic entrant appropriées. Pour plus d'informations, consultez [Groupes de sécurité Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html). Vous pouvez également contrôler l'accès en plaçant l'instance dans un VPC. Pour de plus amples informations, veuillez consulter [Running a Stack in a VPC](workingstacks-vpc.md).

   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](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html).

**Pour créer l'équilibreur de charge**

1. 

**Ouvrez la EC2 console Amazon.**

   Ouvrez la [ EC2 console Amazon](https://console.aws.amazon.com/ec2/) 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**.

1. 

**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** — **Mon VPC par défaut**

   Acceptez les valeurs par défaut pour les autres options, puis choisissez **Suivant**.

1. 

**Attribuez les groupes de sécurité.**

   Sur la page **Attribuer les groupes de sécurité**, spécifiez les groupes suivants : 
   + **groupe de sécurité VPC par défaut**
   + **Serveur d'applications AWS- OpsWorks -NodeJS**

   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.

1. 

**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**. OpsWorks Stacks se charge d'ajouter des EC2 instances à l'équilibreur de charge, et vous n'aurez pas besoin de balises pour cet exemple.

1. 

**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
<a name="gettingstarted-node-stack"></a>

Vous avez maintenant tous les composants nécessaires pour créer la pile.

**Pour créer la pile**

1. 

**Connectez-vous à la console OpsWorks Stacks.**

   Connectez-vous à la [console OpsWorks Stacks](https://console.aws.amazon.com/opsworks/), puis choisissez **Add Stack (Ajouter une pile)**.

1. 

**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 région AWS, mais nous recommandons USA 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](workingstacks-creating.md).

1. 

**Ajoutez une couche de serveur d'applications Node.js avec un équilibreur de charge attaché.**

   Sur la **NodeStack**page, 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)**. 

1. 

**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.

   1. 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)**.

   1. Choisissez **\$1Instance**, 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é.

   1. Choisissez **Add instance (Ajouter une instance)**.

   1. 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, 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 instances AZs. 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.

1. 

**Inscrivez l'instance de base de données RDS auprès de la pile.**

   Dans le panneau de navigation, sélectionnez **Resources (Ressources)** et enregistrez l'instance de base de données RDS auprès de la pile, comme suit.

   1. Choisissez l'onglet **RDS**, puis choisissez **Show Unregistered RDS DB instances (Afficher les instances DB RDS non enregistrées)**.

   1. 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.

   1. Choisissez **Register with Stack** pour ajouter l'instance de base de données RDS à la pile en tant que couche de [service Amazon RDS](workinglayers-db-rds.md).
**Avertissement**  
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'instance de base de données RDS à la pile en tant que [couche de service Amazon RDS](workinglayers-db-rds.md), choisissez **Register with** Stack. 

## Déploiement de l'application
<a name="gettingstarted-node-deploy"></a>

Vous devez stocker l'application dans un référentiel distant. Lorsque vous le déployez, 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](workingapps-creating.md#workingapps-creating-source).

**Pour déployer l'application**

1. 

**Empaquetez l'application dans un fichier d'archives.**

   Créez une archive `.zip` du répertoire `nodedb` 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 OpsWorks Stacks ne prend pas en charge les archives non compressées. Pour de plus amples informations, veuillez consulter [Source de l'application](workingapps-creating.md#workingapps-creating-source).

1. 

**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 l'URL du fichier 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](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html).
**Note**  
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](workingapps-creating.md#workingapps-creating-source).

1. 

**Créez une application OpsWorks Stacks.**

   Revenez à la console 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 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'instance de base de données Amazon RDS que vous avez enregistrée précédemment. 
   + **Nom de 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.
   + **URL du référentiel : URL** Amazon S3 du fichier d'archive.

   Utilisez les valeurs par défaut pour les paramètres restants, puis cliquez sur **Add App (Ajouter une application)** pour créer l'application.

1. 

**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. 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.

1. 

**Ouvrez l'application .**

   Pour ouvrir l'application, choisissez successivement **Layers (Couches)**, l'équilibreur de charge et le nom DNS de l'équilibreur de charge, ce qui envoie une requête HTTP à l'équilibreur de charge. Vous devriez voir quelque chose comme suit.  
![\[AWS OpsWorks Node.js example showing RDS endpoint, user credentials, and database details.\]](http://docs.aws.amazon.com/fr_fr/opsworks/latest/userguide/images/node_walkthrough.png)

**Note**  
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](workingapps-deploying.md). 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](best-deploy.md).

## Et maintenant ?
<a name="gettingstarted-node-next"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour 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](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

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\$1nodejs](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/opsworks_nodejs), qui contient les recettes et les fichiers associés que 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](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/deploy) les applications. 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 OpsWorks](customizing.md).

**Ajouter la prise en charge SSL**  
Vous pouvez activer le support SSL pour votre application et fournir à OpsWorks Stacks les certificats appropriés lors de la création de l'application. OpsWorks Stacks installe ensuite les certificats dans le répertoire approprié. Pour de plus amples informations, veuillez consulter [Utilisation de SSL](workingsecurity-ssl.md).

**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 OpsWorks Stacks. Pour plus d’informations, consultez [ElastiCache Redis](other-services-redis.md) et [Memcached](workinglayers-mem.md).

**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](best-deploy.md).

**É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](workingcookbook-extend.md).

**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, 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](apps-environment-vars.md).